Updated startnetwork.py to use vmmNetwork.

It also verifies that the network can be started before attempting to
start it.

Deleted the old libvirtworker.create_domain() API.
This commit is contained in:
Darryl L. Pierce 2011-05-26 14:37:21 -04:00 committed by Cole Robinson
parent 19a83eafa8
commit a36e168666
3 changed files with 12 additions and 12 deletions

View File

@ -191,8 +191,8 @@ class NetworkListConfigScreen(ConfigScreen):
def __init__(self, title):
ConfigScreen.__init__(self, title)
def get_network_list_page(self, screen, defined=True, created=True):
uuids = self.get_libvirt().list_networks(defined, created)
def get_network_list_page(self, screen, defined=True, started=True):
uuids = self.get_libvirt().list_networks(defined, started)
result = None
if len(uuids) > 0:

View File

@ -184,6 +184,7 @@ class LibvirtWorker:
uuid -- the network's identifier
'''
self.__vmmconn.tick()
result = self.__vmmconn.get_net(uuid)
if result is None: raise Exception("No such network exists: uuid=%s" % uuid)
@ -231,11 +232,6 @@ class LibvirtWorker:
self.__conn.networkDefineXML(xml)
def create_network(self, name):
'''Creates a defined network.'''
network = self.get_network(name)
network.create()
def destroy_network(self, name):
'''Destroys the specified network.'''
network = self.get_network(name)

View File

@ -29,7 +29,7 @@ class StartNetworkConfigScreen(NetworkListConfigScreen):
NetworkListConfigScreen.__init__(self, "Start A Network")
def get_elements_for_page(self, screen, page):
if page is LIST_PAGE: return self.get_network_list_page(screen, created = False)
if page is LIST_PAGE: return self.get_network_list_page(screen, started = False)
elif page is START_PAGE: return self.get_start_network_page(screen)
def page_has_next(self, page):
@ -40,12 +40,16 @@ class StartNetworkConfigScreen(NetworkListConfigScreen):
def validate_input(self, page, errors):
if page is LIST_PAGE:
self.get_libvirt().start_network(self.get_selected_network())
return True
network = self.get_selected_network()
if network.is_active():
errors.append("%s is already started." % network.get_name())
else:
network.start()
return True
def get_start_network_page(self, screen):
return [Label("Network Started"),
Label("%s was successfully started." % self.get_selected_network())]
network = self.get_selected_network()
return [Label("%s was successfully started." % network.get_name())]
def StartNetwork():
screen = StartNetworkConfigScreen()