From ba24d877bf04c479a9f6d478810df366d7fe8525 Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Sun, 26 Jan 2020 09:52:18 -0500 Subject: [PATCH] createvm: Remove 'Network boot (PXE)', add 'Manual install' For the dialog flow, these options are the same, the only effect is that there's no longer an initial network boot phase. PXE is dependent on an external server setup that is not common in the scheme of things, so giving it a first class option on the front of the new VM wizard isn't really sensible. Users that want to PXE boot can easily do so via the 'customize before install' option, or just manually create a VM and edit the boot device as they see fit. Explicitly advertising a Manual option is nicer for users that just want to create a VM and deal with install later, among many other minor use cases. Signed-off-by: Cole Robinson --- tests/uitests/newvm.py | 9 +++------ ui/createvm.ui | 8 ++++---- virtManager/createvm.py | 32 ++++++++++++-------------------- 3 files changed, 19 insertions(+), 30 deletions(-) diff --git a/tests/uitests/newvm.py b/tests/uitests/newvm.py index 317cb7793..06e9e57c8 100644 --- a/tests/uitests/newvm.py +++ b/tests/uitests/newvm.py @@ -71,15 +71,14 @@ class NewVM(uiutils.UITestCase): cdrom.click_combo_entry() self.assertTrue("/dev/sr1" not in cdrom.fmt_nodes()) - def testNewVMPXEDefault(self): + def testNewVMManualDefault(self): """ - Click through the New VM wizard with default values + PXE, then + Click through the New VM wizard with default values + manual, then delete the VM """ newvm = self._open_create_wizard() - # Create default PXE VM - newvm.find_fuzzy("PXE", "radio").click() + newvm.find_fuzzy("Manual", "radio").click() self.forward(newvm) osentry = newvm.find("oslist-entry") uiutils.check_in_loop(lambda: not osentry.text) @@ -288,7 +287,6 @@ class NewVM(uiutils.UITestCase): newvm.find_fuzzy("ppc64", "menu item").click() newvm.find_fuzzy("pseries", "menu item") - # Create default PXE VM newvm.find_fuzzy("Import", "radio").click() newvm.find_fuzzy(None, "text", "existing storage").text = "/dev/default-pool/testvol1.img" @@ -431,7 +429,6 @@ class NewVM(uiutils.UITestCase): newvm.find_fuzzy("Xen Type", "combo").click() newvm.find_fuzzy("paravirt", "menu item").click() - # Create default PXE VM newvm.find_fuzzy("Import", "radio").click() newvm.find_fuzzy(None, "text", "existing storage").text = "/dev/default-pool/testvol1.img" diff --git a/ui/createvm.ui b/ui/createvm.ui index 962093302..517a94e1d 100644 --- a/ui/createvm.ui +++ b/ui/createvm.ui @@ -302,8 +302,8 @@ - - Network _Boot (PXE) + + Import _existing disk image True True False @@ -320,8 +320,8 @@ - - Import _existing disk image + + Ma_nual install True True False diff --git a/virtManager/createvm.py b/virtManager/createvm.py index 1fbd05407..274f316c7 100644 --- a/virtManager/createvm.py +++ b/virtManager/createvm.py @@ -44,8 +44,8 @@ DEFAULT_MEM = 1024 (INSTALL_PAGE_ISO, INSTALL_PAGE_URL, - INSTALL_PAGE_PXE, INSTALL_PAGE_IMPORT, + INSTALL_PAGE_MANUAL, INSTALL_PAGE_CONTAINER_APP, INSTALL_PAGE_CONTAINER_OS, INSTALL_PAGE_VZ_TEMPLATE) = range(7) @@ -433,7 +433,7 @@ class vmmCreateVM(vmmGObjectUI): # Install Options method_tree = self.widget("method-tree") - method_pxe = self.widget("method-pxe") + method_manual = self.widget("method-manual") method_local = self.widget("method-local") method_import = self.widget("method-import") method_container_app = self.widget("method-container-app") @@ -442,11 +442,11 @@ class vmmCreateVM(vmmGObjectUI): installable_arch) method_local.set_sensitive(not is_pv and can_storage and installable_arch) - method_pxe.set_sensitive(not is_pv and installable_arch) + method_manual.set_sensitive(not is_container) method_import.set_sensitive(can_storage) - virt_methods = [method_local, method_tree, method_pxe, method_import] + virt_methods = [method_local, method_tree, + method_manual, method_import] - pxe_tt = None local_tt = None tree_tt = None import_tt = None @@ -461,7 +461,6 @@ class vmmCreateVM(vmmGObjectUI): if is_pv: base = _("%s installs not available for paravirt guests.") - pxe_tt = base % "PXE" local_tt = base % "CDROM/ISO" if not installable_arch: @@ -469,7 +468,6 @@ class vmmCreateVM(vmmGObjectUI): guest.os.arch) tree_tt = msg local_tt = msg - pxe_tt = msg if not any([w.get_active() and w.get_sensitive() for w in virt_methods]): @@ -486,7 +484,6 @@ class vmmCreateVM(vmmGObjectUI): method_tree.set_tooltip_text(tree_tt or "") method_local.set_tooltip_text(local_tt or "") - method_pxe.set_tooltip_text(pxe_tt or "") method_import.set_tooltip_text(import_tt or "") # Container install options @@ -921,10 +918,10 @@ class vmmCreateVM(vmmGObjectUI): install = _("Local CDROM/ISO") elif instmethod == INSTALL_PAGE_URL: install = _("URL Install Tree") - elif instmethod == INSTALL_PAGE_PXE: - install = _("PXE Install") elif instmethod == INSTALL_PAGE_IMPORT: install = _("Import existing OS image") + elif instmethod == INSTALL_PAGE_MANUAL: + install = _("Manual install") elif instmethod == INSTALL_PAGE_CONTAINER_APP: install = _("Application container") elif instmethod == INSTALL_PAGE_CONTAINER_OS: @@ -961,10 +958,10 @@ class vmmCreateVM(vmmGObjectUI): return INSTALL_PAGE_ISO elif self.widget("method-tree").get_active(): return INSTALL_PAGE_URL - elif self.widget("method-pxe").get_active(): - return INSTALL_PAGE_PXE elif self.widget("method-import").get_active(): return INSTALL_PAGE_IMPORT + elif self.widget("method-manual").get_active(): + return INSTALL_PAGE_MANUAL else: if self.widget("method-container-app").get_active(): return INSTALL_PAGE_CONTAINER_APP @@ -1323,9 +1320,9 @@ class vmmCreateVM(vmmGObjectUI): self.widget("install-detect-os").get_active()) self._change_os_detect(not dodetect) - # PXE installs have nothing to ask for + # Manual installs have nothing to ask for self.widget("install-method-pages").set_visible( - instpage != INSTALL_PAGE_PXE) + instpage != INSTALL_PAGE_MANUAL) self.widget("install-method-pages").set_current_page(instpage) def _back_clicked(self, src_ignore): @@ -1482,9 +1479,6 @@ class vmmCreateVM(vmmGObjectUI): location = media - elif instmethod == INSTALL_PAGE_PXE: - install_bootdev = "network" - elif instmethod == INSTALL_PAGE_IMPORT: is_import = True import_path = self._get_config_import_path() @@ -1734,9 +1728,7 @@ class vmmCreateVM(vmmGObjectUI): # No network device available instmethod = self._get_config_install_page() methname = None - if instmethod == INSTALL_PAGE_PXE: - methname = "PXE" - elif instmethod == INSTALL_PAGE_URL: + if instmethod == INSTALL_PAGE_URL: methname = "URL" if methname: