def list_instances_detail(self, context): """Return a list of InstanceInfo for all registered VMs""" LOG.debug("list_instances_detail") info_list = [] bmms = db.bmm_get_all_by_instance_id_not_null(context) for bmm in bmms: instance = db.instance_get(context, bmm["instance_id"]) status = PowerManager(bmm["ipmi_ip"]).status() if status == "off": inst_power_state = power_state.SHUTOFF if instance["vm_state"] == vm_states.ACTIVE: db.instance_update(context, instance["id"], {"vm_state": vm_states.STOPPED}) else: inst_power_state = power_state.RUNNING if instance["vm_state"] == vm_states.STOPPED: db.instance_update(context, instance["id"], {"vm_state": vm_states.ACTIVE}) info_list.append( driver.InstanceInfo( self._instance_id_to_name(bmm["instance_id"]), inst_power_state)) return info_list
def list_instances_detail(self): # TODO(justinsb): This is a terrible implementation (1+N) instance_infos = [] for instance_name in self.list_instances(): info = self.get_info(instance_name) state = info['state'] instance_info = driver.InstanceInfo(instance_name, state) instance_infos.append(instance_info) return instance_infos
def list_instances_detail(self): """List VM instances, returning InstanceInfo objects.""" instance_infos = [] for vm_ref in self._session.get_xenapi().VM.get_all(): vm_rec = self._session.get_xenapi().VM.get_record(vm_ref) if not vm_rec["is_a_template"] and not vm_rec["is_control_domain"]: name = vm_rec["name_label"] # TODO(justinsb): This a roundabout way to map the state openstack_format = VMHelper.compile_info(vm_rec) state = openstack_format['state'] instance_info = driver.InstanceInfo(name, state) instance_infos.append(instance_info) return instance_infos
def _map_to_instance_info(self, instance): instance = utils.check_isinstance(instance, FakeInstance) info = driver.InstanceInfo(instance.name, instance.state) return info
def _map_to_instance_info(self, domain_name): """Gets info from a virsh domain object into an InstanceInfo""" _domain_info = self._conn.get_domain_info(domain_name) state, _max_mem, _mem, _num_cpu, _cpu_time = _domain_info name = domain_name return driver.InstanceInfo(name, state)