Esempio n. 1
0
    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)
Esempio n. 2
0
 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)