host: Fix network list sensitivity when started/stopped

Also add lot's of logging in start/stop/delete/apply.
This commit is contained in:
Cole Robinson 2010-12-10 14:02:11 -05:00
parent 677f73fca7
commit f6103c04dd

View File

@ -382,6 +382,8 @@ class vmmHost(vmmGObjectUI):
"delete the network %s?") % net.get_name()) "delete the network %s?") % net.get_name())
if not result: if not result:
return return
logging.debug("Deleting network '%s'" % net.get_name())
try: try:
net.delete() net.delete()
except Exception, e: except Exception, e:
@ -393,6 +395,7 @@ class vmmHost(vmmGObjectUI):
if net is None: if net is None:
return return
logging.debug("Starting network '%s'" % net.get_name())
try: try:
net.start() net.start()
except Exception, e: except Exception, e:
@ -404,6 +407,7 @@ class vmmHost(vmmGObjectUI):
if net is None: if net is None:
return return
logging.debug("Stopping network '%s'" % net.get_name())
try: try:
net.stop() net.stop()
except Exception, e: except Exception, e:
@ -411,6 +415,7 @@ class vmmHost(vmmGObjectUI):
"".join(traceback.format_exc())) "".join(traceback.format_exc()))
def add_network(self, src_ignore): def add_network(self, src_ignore):
logging.debug("Launching 'Add Network'")
try: try:
if self.addnet is None: if self.addnet is None:
self.addnet = vmmCreateNetwork(self.conn) self.addnet = vmmCreateNetwork(self.conn)
@ -424,6 +429,7 @@ class vmmHost(vmmGObjectUI):
if net is None: if net is None:
return return
logging.debug("Applying changes for network '%s'" % net.get_name())
try: try:
net.set_autostart(self.window.get_widget("net-autostart").get_active()) net.set_autostart(self.window.get_widget("net-autostart").get_active())
except Exception, e: except Exception, e:
@ -448,11 +454,17 @@ class vmmHost(vmmGObjectUI):
return None return None
def refresh_network(self, src_ignore, uri_ignore, uuid): def refresh_network(self, src_ignore, uri_ignore, uuid):
sel = self.window.get_widget("net-list").get_selection() uilist = self.window.get_widget("net-list")
sel = uilist.get_selection()
active = sel.get_selected() active = sel.get_selected()
for row in uilist.get_model():
if row[0] == uuid:
row[4] = self.conn.get_net(uuid).is_active()
if active[1] != None: if active[1] != None:
curruuid = active[0].get_value(active[1], 0) currname = active[0].get_value(active[1], 0)
if curruuid == uuid: if currname == uuid:
self.net_selected(sel) self.net_selected(sel)
def set_net_error_page(self, msg): def set_net_error_page(self, msg):
@ -567,23 +579,29 @@ class vmmHost(vmmGObjectUI):
def stop_pool(self, src_ignore): def stop_pool(self, src_ignore):
pool = self.current_pool() pool = self.current_pool()
if pool is not None: if pool is None:
try: return
pool.stop()
except Exception, e: logging.debug("Stopping pool '%s'" % pool.get_name())
self.err.show_err(_("Error starting pool '%s': %s") % \ try:
(pool.get_name(), str(e)), pool.stop()
"".join(traceback.format_exc())) except Exception, e:
self.err.show_err(_("Error starting pool '%s': %s") % \
(pool.get_name(), str(e)),
"".join(traceback.format_exc()))
def start_pool(self, src_ignore): def start_pool(self, src_ignore):
pool = self.current_pool() pool = self.current_pool()
if pool is not None: if pool is None:
try: return
pool.start()
except Exception, e: logging.debug("Starting pool '%s'" % pool.get_name())
self.err.show_err(_("Error starting pool '%s': %s") % \ try:
(pool.get_name(), str(e)), pool.start()
"".join(traceback.format_exc())) except Exception, e:
self.err.show_err(_("Error starting pool '%s': %s") % \
(pool.get_name(), str(e)),
"".join(traceback.format_exc()))
def delete_pool(self, src_ignore): def delete_pool(self, src_ignore):
pool = self.current_pool() pool = self.current_pool()
@ -594,6 +612,8 @@ class vmmHost(vmmGObjectUI):
"delete the pool %s?") % pool.get_name()) "delete the pool %s?") % pool.get_name())
if not result: if not result:
return return
logging.debug("Deleting pool '%s'" % pool.get_name())
try: try:
pool.delete() pool.delete()
except Exception, e: except Exception, e:
@ -605,6 +625,7 @@ class vmmHost(vmmGObjectUI):
if pool is None: if pool is None:
return return
logging.debug("Refresh pool '%s'" % pool.get_name())
try: try:
pool.refresh() pool.refresh()
self.refresh_current_pool() self.refresh_current_pool()
@ -623,6 +644,7 @@ class vmmHost(vmmGObjectUI):
if not result: if not result:
return return
logging.debug("Deleting volume '%s'" % vol.get_name())
try: try:
vol.delete() vol.delete()
self.refresh_current_pool() self.refresh_current_pool()
@ -633,6 +655,7 @@ class vmmHost(vmmGObjectUI):
self.populate_storage_volumes() self.populate_storage_volumes()
def add_pool(self, src_ignore): def add_pool(self, src_ignore):
logging.debug("Launching 'Add Pool' wizard")
try: try:
if self.addpool is None: if self.addpool is None:
self.addpool = vmmCreatePool(self.conn) self.addpool = vmmCreatePool(self.conn)
@ -645,6 +668,9 @@ class vmmHost(vmmGObjectUI):
pool = self.current_pool() pool = self.current_pool()
if pool is None: if pool is None:
return return
logging.debug("Launching 'Add Volume' wizard for pool '%s'" %
pool.get_name())
try: try:
if self.addvol is None: if self.addvol is None:
self.addvol = vmmCreateVolume(self.conn, pool) self.addvol = vmmCreateVolume(self.conn, pool)
@ -687,6 +713,7 @@ class vmmHost(vmmGObjectUI):
if pool is None: if pool is None:
return return
logging.debug("Applying changes for pool '%s'" % pool.get_name())
try: try:
do_auto = self.window.get_widget("pool-autostart").get_active() do_auto = self.window.get_widget("pool-autostart").get_active()
pool.set_autostart(do_auto) pool.set_autostart(do_auto)
@ -846,6 +873,7 @@ class vmmHost(vmmGObjectUI):
return return
self.config.set_confirm_interface(not skip_prompt) self.config.set_confirm_interface(not skip_prompt)
logging.debug("Stopping interface '%s'" % interface.get_name())
try: try:
interface.stop() interface.stop()
except Exception, e: except Exception, e:
@ -872,6 +900,7 @@ class vmmHost(vmmGObjectUI):
return return
self.config.set_confirm_interface(not skip_prompt) self.config.set_confirm_interface(not skip_prompt)
logging.debug("Starting interface '%s'" % interface.get_name())
try: try:
interface.start() interface.start()
except Exception, e: except Exception, e:
@ -890,6 +919,7 @@ class vmmHost(vmmGObjectUI):
if not result: if not result:
return return
logging.debug("Deleting interface '%s'" % interface.get_name())
try: try:
interface.delete() interface.delete()
except Exception, e: except Exception, e:
@ -897,6 +927,7 @@ class vmmHost(vmmGObjectUI):
"".join(traceback.format_exc())) "".join(traceback.format_exc()))
def add_interface(self, src_ignore): def add_interface(self, src_ignore):
logging.debug("Launching 'Add Interface' wizard")
try: try:
if self.addinterface is None: if self.addinterface is None:
self.addinterface = vmmCreateInterface(self.conn) self.addinterface = vmmCreateInterface(self.conn)
@ -930,6 +961,8 @@ class vmmHost(vmmGObjectUI):
model = start_list.get_model() model = start_list.get_model()
newmode = model[start_list.get_active()][0] newmode = model[start_list.get_active()][0]
logging.debug("Applying changes for interface '%s'" %
interface.get_name())
try: try:
interface.set_startmode(newmode) interface.set_startmode(newmode)
except Exception, e: except Exception, e: