Add cleanup of local domain list during VM check

This commit is contained in:
Joshua Boniface 2018-06-19 19:45:35 -04:00
parent bf5aa71381
commit d39f41980b
1 changed files with 14 additions and 8 deletions

View File

@ -203,7 +203,8 @@ class NodeInstance():
# Toggle state management of dead VMs to restart them # Toggle state management of dead VMs to restart them
for domain, instance in self.s_domain.items(): for domain, instance in self.s_domain.items():
if instance.inshutdown == False and domain in self.domain_list: if instance.inshutdown == False and domain in self.domain_list:
if instance.getstate() == 'start' and instance.gethypervisor() == self.name: if instance.gethypervisor() == self.name:
if instance.getstate() == 'start':
if instance.getdom() != None: if instance.getdom() != None:
try: try:
if instance.getdom().state()[0] != libvirt.VIR_DOMAIN_RUNNING: if instance.getdom().state()[0] != libvirt.VIR_DOMAIN_RUNNING:
@ -211,6 +212,11 @@ class NodeInstance():
except Exception as e: except Exception as e:
# Toggle a state "change" # Toggle a state "change"
self.zk_conn.set('/domains/{}/state'.format(domain), instance.getstate().encode('ascii')) self.zk_conn.set('/domains/{}/state'.format(domain), instance.getstate().encode('ascii'))
else:
self.domain_list.remove(domain)
else:
self.domain_list.remove(domain)
# Set our information in zookeeper # Set our information in zookeeper
self.name = lv_conn.getHostname() self.name = lv_conn.getHostname()