def _add_default_conn(self, manager): # Manager fail message msg = _("Could not detect a default hypervisor. Make\n" "sure the appropriate virtualization packages\n" "are installed (kvm, qemu, libvirt, etc.), and\n" "that libvirtd is running.\n\n" "A hypervisor connection can be manually\n" "added via File->Add Connection") logging.debug("Determining default libvirt URI") ret = None try: libvirt_packages = self.config.libvirt_packages packages = self.config.hv_packages + libvirt_packages ret = packageutils.check_packagekit(manager, manager.err, packages) except: logging.exception("Error talking to PackageKit") if ret: tryuri = "qemu:///system" else: tryuri = uihelpers.default_uri(always_system=True) if tryuri is None: manager.set_startup_error(msg) return warnmsg = _("The 'libvirtd' service will need to be started.\n\n" "After that, virt-manager will connect to libvirt on\n" "the next application start up.") # Do the initial connection in an idle callback, so the # packagekit async dialog has a chance to go away def idle_connect(): do_start = packageutils.start_libvirtd() if not do_start: manager.err.ok(_("Libvirt service must be started"), warnmsg) self.connect_to_uri(tryuri, autoconnect=True, do_start=do_start) self.idle_add(idle_connect)
def set_default_hypervisor(self): default = uihelpers.default_uri(always_system=True) if not default or default.startswith("qemu"): self.widget("hypervisor").set_active(1) elif default.startswith("xen"): self.widget("hypervisor").set_active(0)