Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 11 additions & 7 deletions openstack_image_manager/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ class ImageManager:
def __init__(self) -> None:
self.exit_with_error = False

@property
def _image(self) -> "openstack.image.v2._proxy.Proxy":
return typing.cast("openstack.image.v2._proxy.Proxy", self.conn.image)

def create_cli_args(
self,
debug: bool = typer.Option(False, "--debug", help="Enable debug logging"),
Expand Down Expand Up @@ -439,7 +443,7 @@ def import_image(
)

new_image = self.conn.image.create_image(**properties)
self.conn.image.import_image(new_image, method="web-download", uri=url)
self._image.import_image(new_image, method="web-download", uri=url)

result = self.wait_for_image(new_image)
if result is not None:
Expand Down Expand Up @@ -806,12 +810,12 @@ def set_properties(
for tag in image["tags"]:
if tag not in cloud_image.tags:
logger.info(f"Adding tag {tag}")
self.conn.image.add_tag(cloud_image.id, tag)
self._image.add_tag(cloud_image.id, tag)

for tag in cloud_image.tags:
if tag not in image["tags"]:
logger.info(f"Deleting tag {tag}")
self.conn.image.remove_tag(cloud_image.id, tag)
self._image.remove_tag(cloud_image.id, tag)

if "meta" in versions[version]:
for key in versions[version]["meta"].keys():
Expand Down Expand Up @@ -851,11 +855,11 @@ def set_properties(
and image["status"] == "deactivated"
):
logger.info(f"Deactivating image '{name}'")
self.conn.image.deactivate_image(cloud_image.id)
self._image.deactivate_image(cloud_image.id)

elif cloud_image.status != image["status"] and image["status"] == "active":
logger.info(f"Reactivating image '{name}'")
self.conn.image.reactivate_image(cloud_image.id)
self._image.reactivate_image(cloud_image.id)

logger.info(f"Checking visibility of '{name}'")
if "visibility" in versions[version]:
Expand Down Expand Up @@ -1079,7 +1083,7 @@ def manage_outdated_images(self, managed_images: set) -> list:
):
try:
logger.info(f"Deactivating image '{image}'")
self.conn.image.deactivate_image(cloud_image.id)
self._image.deactivate_image(cloud_image.id)

logger.info(f"Setting visibility of '{image}' to 'community'")
self.conn.image.update_image(
Expand Down Expand Up @@ -1108,7 +1112,7 @@ def manage_outdated_images(self, managed_images: set) -> list:
try:
if self.CONF.deactivate and not self.CONF.dry_run:
logger.info(f"Deactivating image '{image}'")
self.conn.image.deactivate_image(cloud_image.id)
self._image.deactivate_image(cloud_image.id)

if (
self.CONF.hide
Expand Down