def get_vm(self, vmname): """Return the VM instance corresponding to the given vmname.""" try: uuid=self.server.xenapi.VM.get_by_name_label(vmname)[0] except IndexError: raise NotRunningVmError(self.get_hostname(),vmname) vm_rec=self.server.xenapi.VM.get_record(uuid) vm=VM(vm_rec['name_label'],vm_rec['domid']) vm.metrics=self.server.xenapi.VM_metrics.get_record(vm_rec['metrics']) return vm
def get_vm(self, vmname): """Return the VM instance corresponding to the given vmname.""" try: uuid = self.server.xenapi.VM.get_by_name_label(vmname)[0] except IndexError: raise NotRunningVmError(self.get_hostname(), vmname) vm_rec = self.server.xenapi.VM.get_record(uuid) vm = VM(vm_rec['name_label'], vm_rec['domid']) vm.metrics = self.server.xenapi.VM_metrics.get_record( vm_rec['metrics']) return vm
def get_vm(self, vmname): """Return the VM instance corresponding to the given vmname.""" if core.cfg['USESSH']: line=self.run("xm list | grep " + vmname + " | awk '{print $1,$2,$3,$4;}'").read() if len(line)<1: raise ClusterNodeError(self.get_hostname(),ClusterNodeError.VM_NOT_RUNNING,vmname) (name, id, ram, vcpu)=line.strip().split() return VM(name, id, ram, vcpu) else: try: uuid=self.server.xenapi.VM.get_by_name_label(vmname)[0] except IndexError: raise ClusterNodeError(self.get_hostname(),ClusterNodeError.VM_NOT_RUNNING,vmname) vm_rec=self.server.xenapi.VM.get_record(uuid) vm=VM(vm_rec['name_label'],vm_rec['domid']) vm.metrics=self.server.xenapi.VM_metrics.get_record(vm_rec['metrics']) return vm
def get_vms(self): """Return the list of VM instance for each running vm.""" vms=list() if core.cfg['USESSH']: for line in self.run("xm list | awk '{print $1,$2,$3,$4;}' | tail -n +3").readlines(): (name, id, ram, vcpu)=line.strip().split() vms.append(VM(name, id, ram, vcpu)) else: dom_recs = self.server.xenapi.VM.get_all_records() dom_metrics_recs = self.server.xenapi.VM_metrics.get_all_records() if core.cfg['DEBUG']: print "DEBUG Xen-Api: ", dom_recs for dom_rec in dom_recs.values(): if dom_rec['name_label'] != "Domain-0": vm=VM(dom_rec['name_label'],dom_rec['domid']) vm.metrics=dom_metrics_recs[dom_rec['metrics']] vms.append(vm) return vms
def _get_vms(): vms=list() dom_recs = self.server.xenapi.VM.get_all_records() dom_metrics_recs = self.server.xenapi.VM_metrics.get_all_records() log.debug("[API]", self.hostname, "dom_recs=", dom_recs) log.debug("[API]", self.hostname, "dom_metrics_recs=", dom_metrics_recs) for dom_rec in dom_recs.values(): if dom_rec['name_label'] == "Domain-0": continue # Discard Dom0 if dom_rec['name_label'].startswith("migrating-"): continue # Discard migration temporary vm if dom_rec['power_state'] == "Halted": # power_state could be: Halted, Paused, Running, Suspended, Crashed, Unknown continue # Discard non instantiated vm vm=VM(dom_rec['name_label'],dom_rec['domid']) vm.metrics=dom_metrics_recs[dom_rec['metrics']] vms.append(vm) return vms
def get_vms(self): """Return the list of VM instance for each running vm.""" vms = list() if core.cfg['USESSH']: for line in self.run( "xm list | awk '{print $1,$2,$3,$4;}' | tail -n +3" ).readlines(): (name, id, ram, vcpu) = line.strip().split() vms.append(VM(name, id, ram, vcpu)) else: dom_recs = self.server.xenapi.VM.get_all_records() dom_metrics_recs = self.server.xenapi.VM_metrics.get_all_records() if core.cfg['DEBUG']: print "DEBUG Xen-Api: ", dom_recs for dom_rec in dom_recs.values(): if dom_rec['name_label'] != "Domain-0": vm = VM(dom_rec['name_label'], dom_rec['domid']) vm.metrics = dom_metrics_recs[dom_rec['metrics']] vms.append(vm) return vms
def get_vm(self, vmname): """Return the VM instance corresponding to the given vmname.""" if core.cfg['USESSH']: line = self.run("xm list | grep " + vmname + " | awk '{print $1,$2,$3,$4;}'").read() if len(line) < 1: raise ClusterNodeError(self.get_hostname(), ClusterNodeError.VM_NOT_RUNNING, vmname) (name, id, ram, vcpu) = line.strip().split() return VM(name, id, ram, vcpu) else: try: uuid = self.server.xenapi.VM.get_by_name_label(vmname)[0] except IndexError: raise ClusterNodeError(self.get_hostname(), ClusterNodeError.VM_NOT_RUNNING, vmname) vm_rec = self.server.xenapi.VM.get_record(uuid) vm = VM(vm_rec['name_label'], vm_rec['domid']) vm.metrics = self.server.xenapi.VM_metrics.get_record( vm_rec['metrics']) return vm
def _get_vms(): vms = list() dom_recs = self.server.xenapi.VM.get_all_records() dom_metrics_recs = self.server.xenapi.VM_metrics.get_all_records() log.debug("[API]", self.hostname, "dom_recs=", dom_recs) log.debug("[API]", self.hostname, "dom_metrics_recs=", dom_metrics_recs) for dom_rec in dom_recs.values(): if dom_rec['name_label'] == "Domain-0": continue # Discard Dom0 if dom_rec['name_label'].startswith("migrating-"): continue # Discard migration temporary vm if dom_rec['power_state'] == "Halted": # power_state could be: Halted, Paused, Running, Suspended, Crashed, Unknown continue # Discard non instantiated vm vm = VM(dom_rec['name_label'], dom_rec['domid']) vm.metrics = dom_metrics_recs[dom_rec['metrics']] vms.append(vm) return vms