mirror of
https://github.com/virt-manager/virt-manager.git
synced 2025-02-25 18:55:27 -06:00
create: Don't overwrite nic/disk list if moving back after customize
This commit is contained in:
parent
091828a862
commit
5320431d85
@ -81,7 +81,11 @@ class vmmCreate(gobject.GObject):
|
|||||||
self.caps = None
|
self.caps = None
|
||||||
self.capsguest = None
|
self.capsguest = None
|
||||||
self.capsdomain = None
|
self.capsdomain = None
|
||||||
|
|
||||||
self.guest = None
|
self.guest = None
|
||||||
|
self.disk = None
|
||||||
|
self.nic = None
|
||||||
|
|
||||||
self.storage_browser = None
|
self.storage_browser = None
|
||||||
self.conn_signals = []
|
self.conn_signals = []
|
||||||
|
|
||||||
@ -296,6 +300,10 @@ class vmmCreate(gobject.GObject):
|
|||||||
def reset_state(self, urihint=None):
|
def reset_state(self, urihint=None):
|
||||||
|
|
||||||
self.failed_guest = None
|
self.failed_guest = None
|
||||||
|
self.guest = None
|
||||||
|
self.disk = None
|
||||||
|
self.nic = None
|
||||||
|
|
||||||
self.window.get_widget("create-pages").set_current_page(PAGE_NAME)
|
self.window.get_widget("create-pages").set_current_page(PAGE_NAME)
|
||||||
self.page_changed(None, None, PAGE_NAME)
|
self.page_changed(None, None, PAGE_NAME)
|
||||||
self.window.get_widget("startup-error-box").hide()
|
self.window.get_widget("startup-error-box").hide()
|
||||||
@ -1361,12 +1369,14 @@ class vmmCreate(gobject.GObject):
|
|||||||
use_storage = self.window.get_widget("enable-storage").get_active()
|
use_storage = self.window.get_widget("enable-storage").get_active()
|
||||||
instcd = self.get_config_install_page() == INSTALL_PAGE_ISO
|
instcd = self.get_config_install_page() == INSTALL_PAGE_ISO
|
||||||
|
|
||||||
self.guest.disks = []
|
|
||||||
|
|
||||||
# CD/ISO install and no disks implies LiveCD
|
# CD/ISO install and no disks implies LiveCD
|
||||||
if instcd:
|
if instcd:
|
||||||
self.guest.installer.livecd = not use_storage
|
self.guest.installer.livecd = not use_storage
|
||||||
|
|
||||||
|
if self.disk and self.disk in self.guest.get_devices("disk"):
|
||||||
|
self.guest.remove_device(self.disk)
|
||||||
|
self.disk = None
|
||||||
|
|
||||||
# Validate storage
|
# Validate storage
|
||||||
if not use_storage:
|
if not use_storage:
|
||||||
return True
|
return True
|
||||||
@ -1415,7 +1425,6 @@ class vmmCreate(gobject.GObject):
|
|||||||
size = disksize,
|
size = disksize,
|
||||||
sparse = sparse)
|
sparse = sparse)
|
||||||
|
|
||||||
self.guest.disks.append(disk)
|
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
return self.verr(_("Storage parameter error."), str(e))
|
return self.verr(_("Storage parameter error."), str(e))
|
||||||
|
|
||||||
@ -1438,6 +1447,9 @@ class vmmCreate(gobject.GObject):
|
|||||||
uihelpers.check_path_search_for_qemu(self.topwin, self.config,
|
uihelpers.check_path_search_for_qemu(self.topwin, self.config,
|
||||||
self.conn, disk.path)
|
self.conn, disk.path)
|
||||||
|
|
||||||
|
self.disk = disk
|
||||||
|
self.guest.add_device(self.disk)
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def validate_final_page(self):
|
def validate_final_page(self):
|
||||||
@ -1448,8 +1460,6 @@ class vmmCreate(gobject.GObject):
|
|||||||
|
|
||||||
nettype, devname, macaddr = self.get_config_network_info()
|
nettype, devname, macaddr = self.get_config_network_info()
|
||||||
|
|
||||||
self.guest.nics = []
|
|
||||||
|
|
||||||
if nettype is None:
|
if nettype is None:
|
||||||
# No network device available
|
# No network device available
|
||||||
instmethod = self.get_config_install_page()
|
instmethod = self.get_config_install_page()
|
||||||
@ -1463,13 +1473,15 @@ class vmmCreate(gobject.GObject):
|
|||||||
return self.verr(_("Network device required for %s install.") %
|
return self.verr(_("Network device required for %s install.") %
|
||||||
methname)
|
methname)
|
||||||
|
|
||||||
ret = uihelpers.validate_network(self.topwin,
|
nic = uihelpers.validate_network(self.topwin,
|
||||||
self.conn, nettype, devname, macaddr)
|
self.conn, nettype, devname, macaddr)
|
||||||
if ret == False:
|
if nic == False:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
if ret != None:
|
if self.nic and self.nic in self.guest.get_devices("interface"):
|
||||||
self.guest.nics.append(ret)
|
self.guest.remove_device(self.nic)
|
||||||
|
self.nic = nic
|
||||||
|
self.guest.add_device(self.nic)
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user