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))
def ls_domain(self, req, detail, use_sxp): url = req.prePathURL() if not url.endswith('/'): url += '/' if use_sxp: if detail: sxp.show(map(XendDomainInfo.sxpr, self.xd.list()), out=req) else: state = DOM_STATE_RUNNING if 'state' in req.args and len(req.args['state']) > 0: state = req.args['state'][0] log.trace("Listing domains in state " + str(state)) sxp.show(self.xd.list_names(state), out=req) else: domains = self.xd.list_sorted() req.write('<ul>') for d in domains: req.write( '<li><a href="%s%s">Domain %s</a>: id = %s, memory = %d' % (url, d.getName(), d.getName(), d.getDomid(), d.getMemoryTarget())) req.write('</li>') req.write('</ul>')