[virt-tools-list] [PATCH 02/10] Modified libvirtwork to use vmmNetwork objects.

Cole Robinson crobinso at redhat.com
Tue May 31 16:55:18 UTC 2011


On 05/26/2011 02:37 PM, Darryl L. Pierce wrote:
> Modified the list_networks() API to return the UUIDs for network.
> 
> Modified get_network() to take as input a UUID rather than a name, and
> return a vmmNetwork object.
> ---
>  src/virtManagerTui/configscreen.py  |    9 +++++----
>  src/virtManagerTui/libvirtworker.py |   20 ++++++++++++++------
>  2 files changed, 19 insertions(+), 10 deletions(-)
> 
> diff --git a/src/virtManagerTui/configscreen.py b/src/virtManagerTui/configscreen.py
> index 77fe983..61021e9 100644
> --- a/src/virtManagerTui/configscreen.py
> +++ b/src/virtManagerTui/configscreen.py
> @@ -192,14 +192,15 @@ class NetworkListConfigScreen(ConfigScreen):
>          ConfigScreen.__init__(self, title)
>  
>      def get_network_list_page(self, screen, defined=True, created=True):
> -        networks = self.get_libvirt().list_networks(defined, created)
> +        uuids = self.get_libvirt().list_networks(defined, created)
>          result = None
>  
> -        if len(networks) > 0:
> +        if len(uuids) > 0:
>              self.__has_networks = True
>              self.__network_list = Listbox(0)
> -            for name in networks:
> -                self.__network_list.append(name, name)
> +            for uuid in uuids:
> +                network = self.get_libvirt().get_network(uuid)
> +                self.__network_list.append(uuid, network.get_name())
>              result = self.__network_list
>          else:
>              self.__has_networks = False
> diff --git a/src/virtManagerTui/libvirtworker.py b/src/virtManagerTui/libvirtworker.py
> index 7421282..677f252 100644
> --- a/src/virtManagerTui/libvirtworker.py
> +++ b/src/virtManagerTui/libvirtworker.py
> @@ -165,20 +165,28 @@ class LibvirtWorker:
>          started -- Include only started networks. (default True)
>  
>          '''
> +        self.__vmmconn.tick()
> +        uuids = self.__vmmconn.list_net_uuids()
>          result = []
> -        if defined: result.extend(self.__conn.listDefinedNetworks())
> -        if started: result.extend(self.__conn.listNetworks())
> +        for uuid in uuids:
> +            include = False
> +            net = self.__vmmconn.get_net(uuid)
> +            if net.is_active():
> +                if started: include = True
> +            else:
> +                if defined: include = True
> +            if include: result.append(uuid)
>          return result
>  
> -    def get_network(self, name):
> +    def get_network(self, uuid):
>          '''Returns the specified network. Raises an exception if the netowrk does not exist.
>  
>          Keyword arguments:
> -        name -- the name of the network
> +        uuid -- the network's identifier
>  
>          '''
> -        result = self.__conn.networkLookupByName(name)
> -        if result is None: raise Exception("No such network exists: %s" % name)
> +        result = self.__vmmconn.get_net(uuid)
> +        if result is None: raise Exception("No such network exists: uuid=%s" % uuid)
>  

get_net won't ever return None, it will throw it's own exception. That
can be a follow up though.

ACK to the series, I've pushed it now.

Thanks,
Cole

>          return result
>  




More information about the virt-tools-list mailing list