Esempio n. 1
0
def _get_vdsm_domains():
    """
    Return a list of Domains created by VDSM.
    """
    return [dom_obj for dom_obj, dom_xml in _list_domains()
            if vmxml.has_channel(dom_xml, vmchannels.LEGACY_DEVICE_NAME) or
            vmxml.has_vdsm_metadata(dom_xml)]
Esempio n. 2
0
def _get_vdsm_domains():
    """
    Return a list of Domains created by VDSM.
    """
    return [
        dom_obj for dom_obj, dom_xml in _list_domains()
        if vmxml.has_channel(dom_xml, vmchannels.LEGACY_DEVICE_NAME)
        or vmxml.has_vdsm_metadata(dom_xml)
    ]
Esempio n. 3
0
def _is_ignored_vm(dom_uuid, dom_obj, dom_xml):
    """
    Return true iff the given VM should never be displayed to users.

    Currently all guestfs VMs and external VMs in DOWN status are ignored.
    """
    if vmxml.has_channel(dom_xml, vmchannels.GUESTFS_DEVICE_NAME):
        return True
    if _is_external_vm(dom_xml):
        try:
            state, reason = dom_obj.state(0)
        except libvirt.libvirtError as e:
            if e.get_error_code() == libvirt.VIR_ERR_NO_DOMAIN:
                return True
            else:
                logging.warning("Can't get status of external VM %s: %s",
                                dom_uuid, e)
        if state in vmstatus.LIBVIRT_DOWN_STATES:
            return True
    return False
Esempio n. 4
0
def _is_external_vm(dom_xml):
    return (not vmxml.has_channel(dom_xml, vmchannels.LEGACY_DEVICE_NAME)
            and not vmxml.has_vdsm_metadata(dom_xml))
Esempio n. 5
0
 def test_has_channel(self, arch):
     for _, dom_xml in self._build_domain_xml(arch):
         self.assertEqual(True, vmxml.has_channel(
             dom_xml, vmchannels.LEGACY_DEVICE_NAME))
Esempio n. 6
0
 def test_has_channel(self, arch):
     for _, dom_xml in self._build_domain_xml(arch):
         self.assertEqual(True, vmxml.has_channel(
             dom_xml, vmchannels.LEGACY_DEVICE_NAME))