diff --git a/tests/uitests/newvm.py b/tests/uitests/newvm.py index 32e3e4004..36053abe1 100644 --- a/tests/uitests/newvm.py +++ b/tests/uitests/newvm.py @@ -111,7 +111,7 @@ class NewVM(uiutils.UITestCase): newvm.find_fuzzy("Finish", "button").click() # Delete it from the VM window - vmwindow = self.app.root.find_fuzzy("generic on", "frame") + vmwindow = self.app.root.find_fuzzy("vm1 on", "frame") vmwindow.find("Virtual Machine", "menu").click() vmwindow.find("Delete", "menu item").click() @@ -284,7 +284,7 @@ class NewVM(uiutils.UITestCase): self.forward(newvm) newvm.find_fuzzy("Finish", "button").click() - self.app.root.find_fuzzy("generic-ppc64 on", "frame") + self.app.root.find_fuzzy("vm-ppc64 on", "frame") self.assertFalse(newvm.showing) @@ -336,7 +336,7 @@ class NewVM(uiutils.UITestCase): newvm.find_fuzzy("Finish", "button").click() time.sleep(1) - self.app.root.find_fuzzy("generic on", "frame") + self.app.root.find_fuzzy("vm1 on", "frame") self.assertFalse(newvm.showing) diff --git a/virtManager/create.py b/virtManager/create.py index 6b4dcee1f..e307e10b1 100644 --- a/virtManager/create.py +++ b/virtManager/create.py @@ -1271,7 +1271,8 @@ class vmmCreate(vmmGObjectUI): fs_dir = [os.environ['HOME'], '.local/share/libvirt/filesystems/'] - fs = fs_dir + [self._generate_default_name(None)] + default_name = virtinst.Guest.generate_name(self._guest) + fs = fs_dir + [default_name] self.widget("install-oscontainer-fs").set_text(os.path.join(*fs)) @@ -1479,29 +1480,6 @@ class vmmCreate(vmmGObjectUI): return False return True - def _generate_default_name(self, osobj): - force_num = False - if self._guest.os.is_container(): - basename = "container" - force_num = True - elif not osobj: - basename = "vm" - force_num = True - else: - basename = osobj.name - - if self._guest.os.arch != self.conn.caps.host.cpu.arch: - basename += "-%s" % _pretty_arch(self._guest.os.arch) - force_num = False - - def cb(n): - return virtinst.generatename.check_libvirt_collision( - self.conn.get_backend().lookupByName, n) - return virtinst.generatename.generate_name(basename, cb, - start_num=force_num and 1 or 2, force_num=force_num, - sep=not force_num and "-" or "") - - def _validate_install_page(self): instmethod = self._get_config_install_page() installer = None @@ -1658,7 +1636,7 @@ class vmmCreate(vmmGObjectUI): self._guest.os.kernel_args = kargs try: - name = self._generate_default_name(self._guest.osinfo) + name = virtinst.Guest.generate_name(self._guest) self.widget("create-vm-name").set_text(name) self._guest.validate_name(self._guest.conn, name) self._guest.name = name diff --git a/virtinst/guest.py b/virtinst/guest.py index 207ca8b77..581c63ddd 100644 --- a/virtinst/guest.py +++ b/virtinst/guest.py @@ -137,6 +137,34 @@ class Guest(XMLBuilder): logging.error("Failed to generate non-conflicting UUID") + @staticmethod + def generate_name(guest): + def _pretty_arch(_a): + if _a == "armv7l": + return "arm" + return _a + + force_num = False + basename = guest.osinfo.name + if guest.osinfo.name == "generic": + force_num = True + if guest.os.is_container(): + basename = "container" + else: + basename = "vm" + + if guest.os.arch != guest.conn.caps.host.cpu.arch: + basename += "-%s" % _pretty_arch(guest.os.arch) + force_num = False + + def cb(n): + return generatename.check_libvirt_collision( + guest.conn.lookupByName, n) + return generatename.generate_name(basename, cb, + start_num=force_num and 1 or 2, force_num=force_num, + sep=not force_num and "-" or "") + + @staticmethod def get_recommended_machine(capsinfo): """