[Libvirt-cim] [PATCH 1 of 3] [TEST] Update create_netpool_conf() to support new pool creation

Deepti B Kalakeri deeptik at linux.vnet.ibm.com
Mon Jun 16 15:14:27 UTC 2008



Kaitlin Rupert wrote:
> # HG changeset patch
> # User Kaitlin Rupert <karupert at us.ibm.com>
> # Date 1211403918 25200
> # Node ID 1a4f0bc12b84af40d1ebef71ea3d6d30b300af05
> # Parent  00ed91b75fd62cdcdcfb51c403646118edb91c54
> [TEST] Update create_netpool_conf() to support new pool creation.
>
> This includes the following changes:
>  -Updated create_netpool_conf() so that caller can specify whether to use an existing pool or create a new pool.
>  -Added destroy_netpool() / destroy_vnet()
>  -Updated CIM_NetResourceAllocationSettingData to set the PoolID
>  -Added xml_get_net_network().
>
> Signed-off-by: Kaitlin Rupert <karupert at us.ibm.com>
>
> diff -r 00ed91b75fd6 -r 1a4f0bc12b84 suites/libvirt-cim/lib/XenKvmLib/common_util.py
> --- a/suites/libvirt-cim/lib/XenKvmLib/common_util.py	Tue Jun 10 20:04:06 2008 -0700
> +++ b/suites/libvirt-cim/lib/XenKvmLib/common_util.py	Wed May 21 14:05:18 2008 -0700
> @@ -22,6 +22,7 @@
>  #
>  import os
>  import pywbem
> +import random
>  from distutils.file_util import move_file
>  from XenKvmLib.test_xml import * 
>  from XenKvmLib.test_doms import * 
> @@ -331,19 +332,22 @@
>      return status, diskid
>
>
> -def create_netpool_conf(server, virt):
> +def create_netpool_conf(server, virt, use_existing=True):
>      status = PASS
>      test_network = None
>      try:
> -        vir_network = net_list(server, virt)
> -        if len(vir_network) > 0:
> -            test_network = vir_network[0]
> -        else:
> -            netxml = NetXML(server, virt=virt)
> +        if use_existing == True:
> +            vir_network = net_list(server, virt)
> +            if len(vir_network) > 0:
> +                test_network = vir_network[0]
> +
> +        if test_network == None:
> +            net_name = "default-net" + str(random.randint(1, 100))
> +            netxml = NetXML(server, virt=virt, networkname=net_name)
>              ret = netxml.create_vnet()
>              if not ret:
>                  logger.error("Failed to create Virtual Network '%s'",
> -                              test_network)
> +                              net_name)
>                  status = FAIL
>              else:
>                  test_network = netxml.xml_get_netpool_name()
> @@ -351,3 +355,17 @@
>          logger.error("Exception: In fn create_netpool_conf(): %s", detail)
>          status=FAIL
>      return status, test_network
>   
This is a good addition.
> +
> +def destroy_netpool(server, virt, net_name):
> +    if net_name == None:
> +        return FAIL
> +  
> +    netxml = NetXML(server, virt=virt, networkname=net_name)
> +    ret = netxml.destroy_vnet()
> +    if not ret:
> +        logger.error("Failed to destroy Virtual Network '%s'",
> +                     net_name)
> +        return FAIL
> +
> +    return PASS 
> +
> diff -r 00ed91b75fd6 -r 1a4f0bc12b84 suites/libvirt-cim/lib/XenKvmLib/vsms.py
> --- a/suites/libvirt-cim/lib/XenKvmLib/vsms.py	Tue Jun 10 20:04:06 2008 -0700
> +++ b/suites/libvirt-cim/lib/XenKvmLib/vsms.py	Wed May 21 14:05:18 2008 -0700
> @@ -151,13 +151,16 @@
>      pass
>
>  class CIM_NetResourceAllocationSettingData(CIMClassMOF):
> -    def __init__(self, type, mac, name):
> +    def __init__(self, type, mac, name, virt_net=None): 
>          self.Address = mac
>          self.NetworkType = type
>          if type == 'ethernet' or type == 'bridge' :
>              self.ResourceType = RASD_TYPE_NET_ETHER
>          else:
>              self.ResourceType = RASD_TYPE_NET_OTHER
>   
I think the "network" type interface should also be considered as 
RASD_TYPE_NET_EHTER ?

> +
> +        if virt_net != None :
> +            self.PoolID = "NetworkPool/%s" % virt_net
>          
>          if mac != None:
>              self.InstanceID = '%s/%s' % (name, mac)
> diff -r 00ed91b75fd6 -r 1a4f0bc12b84 suites/libvirt-cim/lib/XenKvmLib/vxml.py
> --- a/suites/libvirt-cim/lib/XenKvmLib/vxml.py	Tue Jun 10 20:04:06 2008 -0700
> +++ b/suites/libvirt-cim/lib/XenKvmLib/vxml.py	Wed May 21 14:05:18 2008 -0700
> @@ -215,6 +215,9 @@
>      def create_vnet(self):
>          return self.run(self.server, 'net-create', self.xml_string)
>
> +    def destroy_vnet(self):
> +        return self.run(self.server, 'net-destroy', self.net_name)
> +
>      def xml_get_netpool_name(self):
>          npoolname = self.get_value_xpath('/network/name')
>          return npoolname
> @@ -403,7 +406,12 @@
>          bridgeStr = self.get_value_xpath(
>                  '/domain/devices/interface/source/@bridge')
>          return bridgeStr
> - 
> +
> +    def xml_get_net_network(self):
> +        networkStr = self.get_value_xpath(
> +                '/domain/devices/interface/source/@network')
> +        return networkStr
> +
>      def dumpxml(self, ip):
>          cmd = 'virsh -c %s dumpxml %s' % (self.vuri, self.dname)
>          s, o = utils.run_remote(ip, cmd)
>
> _______________________________________________
> Libvirt-cim mailing list
> Libvirt-cim at redhat.com
> https://www.redhat.com/mailman/listinfo/libvirt-cim
>   




More information about the Libvirt-cim mailing list