diff --git a/NodeInstance.py b/NodeInstance.py index 33f6975d..20855df3 100644 --- a/NodeInstance.py +++ b/NodeInstance.py @@ -99,7 +99,7 @@ class NodeInstance(threading.Thread): for domain, instance in self.s_domain.items(): instance.manage_vm_state() - # Remove non-running VMs from our list + # Remove any non-running VMs from our list for domain in self.domain_list: try: buuid = uuid.UUID(domain).bytes diff --git a/VMInstance.py b/VMInstance.py index 5eab9246..ef1cf94a 100644 --- a/VMInstance.py +++ b/VMInstance.py @@ -56,14 +56,20 @@ class VMInstance: print("Forcibly stopping VM %s" % self.domuuid) self.dom.destroy() if self.domuuid in self.thishypervisor.domain_list: - self.thishypervisor.domain_list.remove(self.domuuid) + try: + self.thishypervisor.domain_list.remove(self.domuuid) + except ValueError: + pass # Shutdown the VM gracefully def shutdown_vm(self): print("Stopping VM %s" % self.domuuid) self.dom.shutdown() if self.domuuid in self.thishypervisor.domain_list: - self.thishypervisor.domain_list.remove(self.domuuid) + try: + self.thishypervisor.domain_list.remove(self.domuuid) + except ValueError: + pass # Migrate the VM to a target host def migrate_vm(self):