From 6f121598b6e1cc494353a7ed293840011a5b7da6 Mon Sep 17 00:00:00 2001 From: Stephen Finucane Date: Tue, 14 Jul 2020 12:45:50 +0100 Subject: [PATCH] libvirt: Use better variable names, types for '_create_guest' Address comments on I2489bf16dabc8a83b2044139247f4245ae29adb1. Change-Id: I2f7e5fe4a76fb49870dab8c3816b5c237b773412 Signed-off-by: Stephen Finucane --- nova/virt/libvirt/driver.py | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py index 399aa7ac21d9..b8b3af2820bd 100644 --- a/nova/virt/libvirt/driver.py +++ b/nova/virt/libvirt/driver.py @@ -2349,7 +2349,7 @@ class LibvirtDriver(driver.ComputeDriver): snapshot_name = uuidutils.generate_uuid(dashed=False) # store current state so we know what to resume back to if we suspend - state = guest.get_power_state(self._host) + original_power_state = guest.get_power_state(self._host) # NOTE(dgenin): Instances with LVM encrypted ephemeral storage require # cold snapshots. Currently, checking for encryption is @@ -2363,14 +2363,14 @@ class LibvirtDriver(driver.ComputeDriver): not CONF.workarounds.disable_libvirt_livesnapshot and # NOTE(stephenfin): Live snapshotting doesn't make sense for # shutdown instances - state != power_state.SHUTDOWN + original_power_state != power_state.SHUTDOWN ): live_snapshot = True else: live_snapshot = False self._suspend_guest_for_snapshot( - context, live_snapshot, state, instance) + context, live_snapshot, original_power_state, instance) root_disk = self.image_backend.by_libvirt_path( instance, disk_path, image_type=source_type) @@ -2390,7 +2390,7 @@ class LibvirtDriver(driver.ComputeDriver): context, snapshot_name, image_format, image_id, instance.image_ref) self._resume_guest_after_snapshot( - context, live_snapshot, state, instance, guest) + context, live_snapshot, original_power_state, instance, guest) self._image_api.update(context, image_id, metadata, purge_props=False) except (NotImplementedError, exception.ImageUnacceptable, @@ -2415,7 +2415,7 @@ class LibvirtDriver(driver.ComputeDriver): live_snapshot = False # Suspend the guest, so this is no longer a live snapshot self._suspend_guest_for_snapshot( - context, live_snapshot, state, instance) + context, live_snapshot, original_power_state, instance) snapshot_directory = CONF.libvirt.snapshots_directory fileutils.ensure_tree(snapshot_directory) @@ -2448,7 +2448,8 @@ class LibvirtDriver(driver.ComputeDriver): raise finally: self._resume_guest_after_snapshot( - context, live_snapshot, state, instance, guest) + context, live_snapshot, original_power_state, instance, + guest) # Upload that image to the image service update_task_state(task_state=task_states.IMAGE_UPLOADING, @@ -2475,7 +2476,7 @@ class LibvirtDriver(driver.ComputeDriver): def _needs_suspend_resume_for_snapshot( self, live_snapshot: bool, - state: str, + current_power_state: int, ): # NOTE(dkang): managedSave does not work for LXC if CONF.libvirt.virt_type == 'lxc': @@ -2486,35 +2487,37 @@ class LibvirtDriver(driver.ComputeDriver): return False # ...and neither does a non-running domain - return state in (power_state.RUNNING, power_state.PAUSED) + return current_power_state in (power_state.RUNNING, power_state.PAUSED) def _suspend_guest_for_snapshot( self, context: nova_context.RequestContext, live_snapshot: bool, - state: str, + current_power_state: int, instance: 'objects.Instance', ): - if not self._needs_suspend_resume_for_snapshot(live_snapshot, state): - return - - self.suspend(context, instance) + if self._needs_suspend_resume_for_snapshot( + live_snapshot, current_power_state, + ): + self.suspend(context, instance) def _resume_guest_after_snapshot( self, context: nova_context.RequestContext, live_snapshot: bool, - state: str, + original_power_state: int, instance: 'objects.Instance', guest: libvirt_guest.Guest, ): - if not self._needs_suspend_resume_for_snapshot(live_snapshot, state): + if not self._needs_suspend_resume_for_snapshot( + live_snapshot, original_power_state, + ): return - state = guest.get_power_state(self._host) + current_power_state = guest.get_power_state(self._host) # TODO(stephenfin): Any reason we couldn't use 'self.resume' here? - guest.launch(pause=state == power_state.PAUSED) + guest.launch(pause=current_power_state == power_state.PAUSED) self._attach_pci_devices( guest, pci_manager.get_instance_pci_devs(instance))