Added support for PXE with HVM

This commit is contained in:
Daniel P. Berrange 2007-09-12 17:57:36 -04:00
parent 804801db96
commit cfae9e7c62
2 changed files with 42 additions and 4 deletions

View File

@ -343,10 +343,18 @@ class vmmCreate(gobject.GObject):
else:
if self.window.get_widget("media-iso-image").get_active():
return self.window.get_widget("fv-iso-location").get_text()
else:
elif self.window.get_widget("media-physical").get_active():
cd = self.window.get_widget("cd-path")
model = cd.get_model()
return model.get_value(cd.get_active_iter(), 0)
else:
return "PXE"
def get_config_installer(self, type):
if self.get_config_method() == VM_FULLY_VIRT and self.window.get_widget("media-network").get_active():
return virtinst.PXEInstaller(type = type)
else:
return virtinst.DistroInstaller(type = type)
def get_config_kickstart_source(self):
if self.get_config_method() == VM_PARA_VIRT:
@ -707,10 +715,13 @@ class vmmCreate(gobject.GObject):
if self.window.get_widget("media-iso-image").get_active():
self.window.get_widget("fv-iso-location-box").set_sensitive(True)
self.window.get_widget("cd-path").set_sensitive(False)
else:
elif self.window.get_widget("media-physical").get_active():
self.window.get_widget("fv-iso-location-box").set_sensitive(False)
self.window.get_widget("cd-path").set_sensitive(True)
self.window.get_widget("cd-path").set_active(-1)
else:
self.window.get_widget("fv-iso-location-box").set_sensitive(False)
self.window.get_widget("cd-path").set_sensitive(False)
def change_storage_type(self, ignore=None):
if self.window.get_widget("storage-partition").get_active():
@ -782,6 +793,7 @@ class vmmCreate(gobject.GObject):
self._guest.name = name # Transfer name over
elif page_num == PAGE_FVINST:
self._guest.installer = self.get_config_installer(self.get_domain_type())
if self.window.get_widget("media-iso-image").get_active():
@ -791,7 +803,7 @@ class vmmCreate(gobject.GObject):
except ValueError, e:
self._validation_error_box(_("ISO Path Not Found"), str(e))
return False
else:
elif self.window.get_widget("media-physical").get_active():
cdlist = self.window.get_widget("cd-path")
src = self.get_config_install_source()
try:
@ -799,6 +811,8 @@ class vmmCreate(gobject.GObject):
except ValueError, e:
self._validation_error_box(_("CD-ROM Path Error"), str(e))
return False
else:
pass # No checks for PXE
try:
if self.get_config_os_type() is not None \

View File

@ -1371,7 +1371,7 @@ mipsel</property>
<child>
<widget class="GtkTable" id="table15">
<property name="visible">True</property>
<property name="n_rows">5</property>
<property name="n_rows">6</property>
<property name="n_columns">3</property>
<property name="homogeneous">False</property>
<property name="row_spacing">2</property>
@ -1646,6 +1646,30 @@ mipsel</property>
<property name="x_options">fill</property>
</packing>
</child>
<child>
<widget class="GtkRadioButton" id="media-network">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">_Network PXE boot</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
<property name="group">media-iso-image</property>
<signal name="toggled" handler="on_media_toggled" last_modification_time="Tue, 12 Sep 2006 21:36:05 GMT"/>
</widget>
<packing>
<property name="left_attach">0</property>
<property name="right_attach">3</property>
<property name="top_attach">5</property>
<property name="bottom_attach">6</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
</child>
</widget>
</child>
</widget>