mirror of
https://github.com/virt-manager/virt-manager.git
synced 2025-02-25 18:55:27 -06:00
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 <crobinso@redhat.com>
This commit is contained in:
parent
18358d5096
commit
ba24d877bf
@ -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"
|
||||
|
@ -302,8 +302,8 @@
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkRadioButton" id="method-pxe">
|
||||
<property name="label" translatable="yes">Network _Boot (PXE)</property>
|
||||
<object class="GtkRadioButton" id="method-import">
|
||||
<property name="label" translatable="yes">Import _existing disk image</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
@ -320,8 +320,8 @@
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkRadioButton" id="method-import">
|
||||
<property name="label" translatable="yes">Import _existing disk image</property>
|
||||
<object class="GtkRadioButton" id="method-manual">
|
||||
<property name="label" translatable="yes">Ma_nual install</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
|
@ -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:
|
||||
|
Loading…
Reference in New Issue
Block a user