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()
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(), }
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 }
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()
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 ***")