X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sliver_libvirt.py;fp=sliver_libvirt.py;h=98525c08e2f0b6aabb2ec721fe92f7ade6fd0839;hb=db1f4974bb5e2f250152890207c9164f8fa4a852;hp=6ae8eebf104acb9ca9619d32d906a1e73ffc9263;hpb=8e84293a0db05b00dcb049b912397b5c3230e31e;p=nodemanager.git diff --git a/sliver_libvirt.py b/sliver_libvirt.py index 6ae8eeb..98525c0 100644 --- a/sliver_libvirt.py +++ b/sliver_libvirt.py @@ -96,16 +96,18 @@ class Sliver_Libvirt(Account): try: self.dom.destroy() except: - logger.verbose('sliver_libvirt: Domain %s not running ' \ - 'UNEXPECTED: %s'%(self.name, sys.exc_info()[1])) - print 'sliver_libvirt: Domain %s not running ' \ - 'UNEXPECTED: %s'%(self.name, sys.exc_info()[1]) + logger.log_exc("in sliver_libvirt.stop",name=self.name) - def is_running(self): + def is_running (self): + result=self._is_running() + logger.log("sliver_libvirt.is_running on %s returned %s"%(self.name,result)) + return result + + def _is_running(self): ''' Return True if the domain is running ''' - logger.verbose('sliver_libvirt: %s is_running'%self.name) + logger.verbose('sliver_libvirt: entering is_running on [%s:%s]'%(self.name,self.dom.ID())) try: - [state, _, _, _, _] = self.dom.info() + state, _, _, _, _ = self.dom.info() if state == libvirt.VIR_DOMAIN_RUNNING: logger.verbose('sliver_libvirt: %s is RUNNING'%self.name) return True @@ -115,11 +117,14 @@ class Sliver_Libvirt(Account): 'NOT RUNNING...\n%s'%(self.name, info)) return False except: - logger.verbose('sliver_libvirt: UNEXPECTED ERROR in ' \ - '%s: %s'%(self.name, sys.exc_info()[1])) - print 'sliver_libvirt: UNEXPECTED ERROR in ' \ - '%s: %s'%(self.name, sys.exc_info()[1]) - return False + logger.log("Re-fetching dom from name=%s"%self.name) + try: + self.dom=self.conn.lookupByName(self.name) + state, _, _, _, _ = self.dom.info() + return state==libvirt.VIR_DOMAIN_RUNNING + except: + logger.log_exc("in sliver_libvirt.is_running",name=self.name) + return False def configure(self, rec):