[Libvirt-cim] [PATCH 1 of 2] [TEST] Add AddResource functions to vsms_util

Kaitlin Rupert kaitlin at linux.vnet.ibm.com
Sun Jun 22 23:56:00 UTC 2008


# HG changeset patch
# User Kaitlin Rupert <karupert at us.ibm.com>
# Date 1214178778 25200
# Node ID 43aa81b757fdaedd9e9dd7ca70f15104962815d7
# Parent  db29471408dcc1a2ecc315c1fc21e538cc08e411
[TEST] Add AddResource functions to vsms_util.

Just add disk and network for now.  AddResource() doesn't support processor and memory.

Signed-off-by: Kaitlin Rupert <karupert at us.ibm.com>

diff -r db29471408dc -r 43aa81b757fd suites/libvirt-cim/lib/XenKvmLib/vsms_util.py
--- a/suites/libvirt-cim/lib/XenKvmLib/vsms_util.py	Sun Jun 22 10:46:24 2008 -0700
+++ b/suites/libvirt-cim/lib/XenKvmLib/vsms_util.py	Sun Jun 22 16:52:58 2008 -0700
@@ -24,7 +24,8 @@
 from CimTest import Globals
 from CimTest.ReturnCodes import FAIL, PASS
 from CimTest.Globals import logger
-from VirtLib.live import network_by_bridge, virsh_vcpuinfo
+from VirtLib.live import network_by_bridge, virsh_vcpuinfo, \
+                         get_bridge_from_network_xml
 
 def print_mod_err_msg(func_str, details):
         logger.error('Error invoking ModifyRS: %s' % func_str)
@@ -104,3 +105,63 @@
 
     return PASS
 
+def print_add_err_msg(func_str, details):
+        logger.error('Error invoking AddRS: %s' % func_str)
+        logger.error(details)
+
+def add_disk_res(server, service, cxml, vssd_ref, dasd, attr):
+    try:
+        service.AddResourceSettings(AffectedConfiguration=vssd_ref,
+                                    ResourceSettings=[str(dasd)])
+        cxml.dumpxml(server)
+        disk_dev = cxml.get_value_xpath(
+                   '/domain/devices/disk/target/@dev[. = "%s"]' % attr['nddev'])
+        dpath = cxml.get_value_xpath(
+               '/domain/devices/disk/source/@file[. = "%s"]' % attr['src_path'])
+        if disk_dev != attr['nddev'] or dpath != attr['src_path']:
+            logger.error("Got %s, exp %s.  Got %s, exp %s" % (disk_dev, 
+                         attr['nddev'], dpath, attr['src_path']))
+            raise Exception('Error adding rs for disk_dev')
+        logger.info('good status for disk path')
+    except Exception, details:
+        print_add_err_msg("add_disk_res", details)
+        return FAIL
+
+    return PASS
+
+def add_net_res(server, service, virt, cxml, vssd_ref, nasd, attr):
+    try:
+        service.AddResourceSettings(AffectedConfiguration=vssd_ref,
+                                    ResourceSettings=[str(nasd)])
+        cxml.dumpxml(server)
+    
+        mac = cxml.get_value_xpath(
+                              '/domain/devices/interface/mac/@address[. = "%s"]'
+                              % attr['nmac'])
+
+        if virt == "KVM":
+            name = cxml.get_value_xpath(
+                           '/domain/devices/interface/source/@network[. = "%s"]'
+                           % attr['net_name'])
+            
+        else:
+            # For Xen, network interfaces are converted to bridge interfaces.
+            br = get_bridge_from_network_xml(attr['net_name'], server, virt)
+            name = cxml.get_value_xpath(
+                           '/domain/devices/interface/source/@bridge[. = "%s"]'
+                           % br)
+            if name != None:
+                name = attr['net_name']
+
+        if mac != attr['nmac'] or name != attr['net_name']:
+            logger.error("Got %s, exp %s. Got %s, exp %s." % (mac, 
+                         attr['nmac'], name, attr['net_name']))
+            raise Exception('Error adding rs for net mac')
+
+        logger.info('good status for net_mac')
+    except Exception, details:
+        print_add_err_msg("add_net_res", details)
+        return FAIL
+
+    return PASS
+




More information about the Libvirt-cim mailing list