def xen_domains(self): """Get table of domains indexed by id from xc. Expects to be protected by the domains_lock. """ domlist = xc.domain_getinfo() doms = {} for d in domlist: domid = d['dom'] doms[domid] = d return doms
def get_state(self): try: domid = self.xend_domain_instance.getDomid() domlist = xc.domain_getinfo(domid, 1) if domlist and domid == domlist[0]['domid']: dominfo = domlist[0] states = [] def addState(key): if dominfo[key] == 1: states.append(key) addState("running") addState("blocked") addState("paused") addState("dying") addState("crashed") addState("shutdown") return states except Exception, err: # ignore missing domain log.trace("domain_getinfo(%d) failed, ignoring: %s", domid, str(err))