示例#1
0
def libvirt_get_kimchi_metadata_node(dom, mode="current"):
    FeatureTests.disable_libvirt_error_logging()
    try:
        xml = dom.metadata(libvirt.VIR_DOMAIN_METADATA_ELEMENT,
                           KIMCHI_META_URL,
                           flags=get_vm_config_flag(dom, mode))
        return etree.fromstring(xml)
    except libvirt.libvirtError:
        return None
    finally:
        FeatureTests.enable_libvirt_error_logging()
示例#2
0
def libvirt_get_kimchi_metadata_node(dom, mode="current"):
    FeatureTests.disable_libvirt_error_logging()
    try:
        xml = dom.metadata(libvirt.VIR_DOMAIN_METADATA_ELEMENT,
                           KIMCHI_META_URL,
                           flags=get_vm_config_flag(dom, mode))
        return etree.fromstring(xml)
    except libvirt.libvirtError:
        return None
    finally:
        FeatureTests.enable_libvirt_error_logging()
示例#3
0
文件: config.py 项目: clnperez/kimchi
    def lookup(self, *ident):
        report_tool = DebugReportsModel.get_system_report_tool()
        try:
            SoftwareUpdate()
        except Exception:
            update_tool = False
        else:
            update_tool = True

        try:
            repo = Repositories()
        except Exception:
            repo_mngt_tool = None
        else:
            repo_mngt_tool = repo._pkg_mnger.TYPE

        return {'libvirt_stream_protocols': self.libvirt_stream_protocols,
                'qemu_spice': self._qemu_support_spice(),
                'qemu_stream': self.qemu_stream,
                'screenshot': VMScreenshot.get_stream_test_result(),
                'system_report_tool': bool(report_tool),
                'update_tool': update_tool,
                'repo_mngt_tool': repo_mngt_tool,
                'federation': kconfig.get("server", "federation"),
                'auth': kconfig.get("authentication", "method"),
                'kernel_vfio': self.kernel_vfio,
                'nm_running': FeatureTests.is_nm_running(),
                }
示例#4
0
    def lookup(self, *ident):
        report_tool = DebugReportsModel.get_system_report_tool()
        try:
            SoftwareUpdate()
        except Exception:
            update_tool = False
        else:
            update_tool = True

        try:
            repo = Repositories()
        except Exception:
            repo_mngt_tool = None
        else:
            repo_mngt_tool = repo._pkg_mnger.TYPE

        return {
            'libvirt_stream_protocols': self.libvirt_stream_protocols,
            'qemu_spice': self._qemu_support_spice(),
            'qemu_stream': self.qemu_stream,
            'screenshot': VMScreenshot.get_stream_test_result(),
            'system_report_tool': bool(report_tool),
            'update_tool': update_tool,
            'repo_mngt_tool': repo_mngt_tool,
            'federation': kconfig.get("server", "federation"),
            'auth': kconfig.get("authentication", "method"),
            'kernel_vfio': self.kernel_vfio,
            'nm_running': FeatureTests.is_nm_running(),
            'mem_hotplug_support': self.mem_hotplug_support
        }
示例#5
0
    def _clean_leftovers(self):
        conn = self.conn.get()
        FeatureTests.disable_libvirt_error_logging()
        try:
            dom = conn.lookupByName(FEATURETEST_VM_NAME)
            dom.undefine()
        except Exception:
            # Any exception can be ignored here
            pass

        try:
            pool = conn.storagePoolLookupByName(FEATURETEST_POOL_NAME)
            pool.undefine()
        except Exception:
            # Any exception can be ignored here
            pass

        FeatureTests.enable_libvirt_error_logging()
示例#6
0
    def _set_capabilities(self):
        kimchi_log.info("*** Running feature tests ***")
        conn = self.conn.get()
        self.qemu_stream = FeatureTests.qemu_supports_iso_stream()
        self.qemu_stream_dns = FeatureTests.qemu_iso_stream_dns()
        self.nfs_target_probe = FeatureTests.libvirt_support_nfs_probe(conn)
        self.fc_host_support = FeatureTests.libvirt_support_fc_host(conn)
        self.metadata_support = FeatureTests.has_metadata_support(conn)
        self.kernel_vfio = FeatureTests.kernel_support_vfio()

        self.libvirt_stream_protocols = []
        for p in ['http', 'https', 'ftp', 'ftps', 'tftp']:
            if FeatureTests.libvirt_supports_iso_stream(conn, p):
                self.libvirt_stream_protocols.append(p)

        kimchi_log.info("*** Feature tests completed ***")