From: Guilherme Sperb Machado Date: Wed, 1 Apr 2015 00:40:16 +0000 (+0200) Subject: refactor of reboot_slivers() to cover f21 -- only ipv6 part is affected. X-Git-Tag: nodemanager-5.2-16~2 X-Git-Url: http://git.onelab.eu/?p=nodemanager.git;a=commitdiff_plain;h=d7eea4340763ac42f07664f16aafc64f84257b55 refactor of reboot_slivers() to cover f21 -- only ipv6 part is affected. --- diff --git a/tools.py b/tools.py index 070fdec..fdfe50d 100644 --- a/tools.py +++ b/tools.py @@ -423,12 +423,23 @@ def reboot_slivers(): domains = connLibvirt.listAllDomains() for domain in domains: try: - domain.destroy() - logger.log("tools: DESTROYED %s" % (domain.name()) ) - domain.create() - logger.log("tools: CREATED %s" % (domain.name()) ) - except: - logger.log("tools: FAILED to reboot %s" % (domain.name()) ) + # set the flag VIR_DOMAIN_REBOOT_INITCTL, which uses "initctl" + result = domain.reboot(0x04) + if result==0: logger.log("tools: REBOOT %s" % (domain.name()) ) + else: + raise Exception() + except Exception, e: + logger.log("tools: FAILED to reboot %s (%s)" % (domain.name(), e) ) + logger.log("tools: Trying to DESTROY/CREATE %s instead..." % (domain.name()) ) + try: + result = domain.destroy() + if result==0: logger.log("tools: DESTROYED %s" % (domain.name()) ) + else: logger.log("tools: FAILED in the DESTROY call of %s" % (domain.name()) ) + result = domain.create() + if result==0: logger.log("tools: CREATED %s" % (domain.name()) ) + else: logger.log("tools: FAILED in the CREATE call of %s" % (domain.name()) ) + except Exception, e: + logger.log("tools: FAILED to DESTROY/CREATE %s (%s)" % (domain.name(), e) ) ################################################### # Author: Guilherme Sperb Machado