mirror of
https://github.com/virt-manager/virt-manager.git
synced 2025-02-25 18:55:27 -06:00
create: Move default guest device set up out of finish phase.
This commit is contained in:
parent
d9c0363cb5
commit
d6e44672d6
@ -1061,6 +1061,39 @@ class vmmCreate(gobject.GObject):
|
|||||||
self.window.get_widget("create-forward").show()
|
self.window.get_widget("create-forward").show()
|
||||||
self.window.get_widget("create-finish").hide()
|
self.window.get_widget("create-finish").hide()
|
||||||
|
|
||||||
|
def build_guest(self, installer, name):
|
||||||
|
guest = installer.guest_from_installer()
|
||||||
|
guest.name = self.get_config_name()
|
||||||
|
disk = len(guest.disks) and guest.disks[0]
|
||||||
|
|
||||||
|
# Generate UUID
|
||||||
|
try:
|
||||||
|
guest.uuid = virtinst.util.uuidToString(virtinst.util.randomUUID())
|
||||||
|
except Exception, e:
|
||||||
|
self.err.show_err(_("Error setting UUID: %s") % str(e),
|
||||||
|
"".join(traceback.format_exc()))
|
||||||
|
return None
|
||||||
|
|
||||||
|
# Set up graphics device
|
||||||
|
try:
|
||||||
|
guest._graphics_dev = virtinst.VirtualGraphics(type=virtinst.VirtualGraphics.TYPE_VNC)
|
||||||
|
except Exception, e:
|
||||||
|
self.err.show_err(_("Error setting up graphics device:") + str(e),
|
||||||
|
"".join(traceback.format_exc()))
|
||||||
|
return None
|
||||||
|
|
||||||
|
# Set up sound device (if present)
|
||||||
|
guest.sound_devs = []
|
||||||
|
try:
|
||||||
|
if self.get_config_sound():
|
||||||
|
guest.sound_devs.append(virtinst.VirtualAudio(model="es1370"))
|
||||||
|
except Exception, e:
|
||||||
|
self.err.show_err(_("Error setting up sound device:") + str(e),
|
||||||
|
"".join(traceback.format_exc()))
|
||||||
|
return None
|
||||||
|
|
||||||
|
return guest
|
||||||
|
|
||||||
def validate(self, pagenum):
|
def validate(self, pagenum):
|
||||||
try:
|
try:
|
||||||
if pagenum == PAGE_NAME:
|
if pagenum == PAGE_NAME:
|
||||||
@ -1103,8 +1136,6 @@ class vmmCreate(gobject.GObject):
|
|||||||
def validate_name_page(self):
|
def validate_name_page(self):
|
||||||
name = self.get_config_name()
|
name = self.get_config_name()
|
||||||
|
|
||||||
self.guest = None
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
g = virtinst.Guest(connection=self.conn.vmm)
|
g = virtinst.Guest(connection=self.conn.vmm)
|
||||||
g.name = name
|
g.name = name
|
||||||
@ -1154,9 +1185,10 @@ class vmmCreate(gobject.GObject):
|
|||||||
# Build the installer and Guest instance
|
# Build the installer and Guest instance
|
||||||
try:
|
try:
|
||||||
installer = self.build_installer(instclass)
|
installer = self.build_installer(instclass)
|
||||||
|
name = self.get_config_name()
|
||||||
self.guest = installer.guest_from_installer()
|
self.guest = self.build_guest(installer, name)
|
||||||
self.guest.name = self.get_config_name()
|
if not self.guest:
|
||||||
|
return False
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
return self.verr(_("Error setting installer parameters."), str(e))
|
return self.verr(_("Error setting installer parameters."), str(e))
|
||||||
|
|
||||||
@ -1329,38 +1361,11 @@ class vmmCreate(gobject.GObject):
|
|||||||
self.change_caps()
|
self.change_caps()
|
||||||
|
|
||||||
def finish(self, src):
|
def finish(self, src):
|
||||||
|
|
||||||
# Validate the final page
|
|
||||||
if self.validate(self.window.get_widget("create-pages").get_current_page()) != True:
|
|
||||||
return False
|
|
||||||
|
|
||||||
guest = self.guest
|
guest = self.guest
|
||||||
disk = len(guest.disks) and guest.disks[0]
|
disk = len(guest.disks) and guest.disks[0]
|
||||||
|
|
||||||
# Generate UUID
|
# Validate the final page
|
||||||
try:
|
if self.validate(self.window.get_widget("create-pages").get_current_page()) != True:
|
||||||
guest.uuid = virtinst.util.uuidToString(virtinst.util.randomUUID())
|
|
||||||
except Exception, e:
|
|
||||||
self.err.show_err(_("Error setting UUID: %s") % str(e),
|
|
||||||
"".join(traceback.format_exc()))
|
|
||||||
return False
|
|
||||||
|
|
||||||
# Set up graphics device
|
|
||||||
try:
|
|
||||||
guest._graphics_dev = virtinst.VirtualGraphics(type=virtinst.VirtualGraphics.TYPE_VNC)
|
|
||||||
except Exception, e:
|
|
||||||
self.err.show_err(_("Error setting up graphics device:") + str(e),
|
|
||||||
"".join(traceback.format_exc()))
|
|
||||||
return False
|
|
||||||
|
|
||||||
# Set up sound device (if present)
|
|
||||||
guest.sound_devs = []
|
|
||||||
try:
|
|
||||||
if self.get_config_sound():
|
|
||||||
guest.sound_devs.append(virtinst.VirtualAudio(model="es1370"))
|
|
||||||
except Exception, e:
|
|
||||||
self.err.show_err(_("Error setting up sound device:") + str(e),
|
|
||||||
"".join(traceback.format_exc()))
|
|
||||||
return False
|
return False
|
||||||
|
|
||||||
logging.debug("Creating a VM %s" % guest.name +
|
logging.debug("Creating a VM %s" % guest.name +
|
||||||
|
Loading…
Reference in New Issue
Block a user