[Libvirt-cim] [PATCH 2/2] cimtest: Fix s390 failures

Viktor Mihajlovski mihajlov at linux.vnet.ibm.com
Fri Oct 11 11:09:48 UTC 2013


Many of the testcases assume the presence of graphical displays or pointing
devices which are not present on s390. These are either adjusted to account
for the s390 specifics or skipped where not possible.

Signed-off-by: Viktor Mihajlovski <mihajlov at linux.vnet.ibm.com>
---
 .../cimtest/ElementSettingData/01_forward.py       |    4 +++-
 .../cimtest/HostSystem/04_hs_to_EAPF.py            |   24 ++++++++++++++------
 .../cimtest/HostedAccessPoint/01_forward.py        |    5 ++++
 .../cimtest/HostedAccessPoint/02_reverse.py        |    5 ++++
 .../cimtest/KVMRedirectionSAP/01_enum_KVMredSAP.py |    5 ++++
 .../cimtest/KVMRedirectionSAP/02_ipv6_support.py   |    5 ++++
 .../02_guest_add_mod_rem_rasd_ind.py               |    9 ++++++--
 .../RedirectionService/03_RedirectionSAP_errs.py   |    5 ++++
 .../cimtest/ServiceAccessBySAP/01_forward.py       |    7 +++++-
 .../cimtest/ServiceAccessBySAP/02_reverse.py       |    6 +++++
 .../cimtest/ServiceAffectsElement/01_forward.py    |    6 +++--
 .../cimtest/ServiceAffectsElement/02_reverse.py    |   12 ++++++----
 .../libvirt-cim/cimtest/SystemDevice/01_forward.py |   11 ++++++---
 suites/libvirt-cim/cimtest/VSSD/07_autostart.py    |    5 ++++
 .../01_forward.py                                  |    4 +++-
 suites/libvirt-cim/lib/XenKvmLib/pool.py           |    4 +++-
 16 files changed, 94 insertions(+), 23 deletions(-)

diff --git a/suites/libvirt-cim/cimtest/ElementSettingData/01_forward.py b/suites/libvirt-cim/cimtest/ElementSettingData/01_forward.py
index 8b57b8f..1744c7f 100755
--- a/suites/libvirt-cim/cimtest/ElementSettingData/01_forward.py
+++ b/suites/libvirt-cim/cimtest/ElementSettingData/01_forward.py
@@ -56,6 +56,7 @@ from CimTest.Globals import logger, CIM_ERROR_ASSOCIATORS
 from CimTest.ReturnCodes import PASS, FAIL
 from XenKvmLib.vxml import get_class
 from XenKvmLib.const import do_main, get_provider_version
+from XenKvmLib.xm_virt_util import host_cpu_model
 
 sup_types = ['Xen', 'XenFV', 'KVM', 'LXC']
 input_graphics_pool_rev = 757
@@ -146,7 +147,8 @@ def main():
         keys['NetResourceAllocationSettingData'] = "%s/%s" % (test_dom, vmac)
         
         curr_cim_rev, changeset = get_provider_version(options.virt, options.ip)
-        if curr_cim_rev >= input_graphics_pool_rev:
+        if curr_cim_rev >= input_graphics_pool_rev and \
+                not host_cpu_model(options.ip, options.virt).startswith('s390'):
             keys['InputResourceAllocationSettingData'] = input_device
             keys['GraphicsResourceAllocationSettingData'] = "%s/vnc" % test_dom
         if curr_cim_rev >= console_rev:
diff --git a/suites/libvirt-cim/cimtest/HostSystem/04_hs_to_EAPF.py b/suites/libvirt-cim/cimtest/HostSystem/04_hs_to_EAPF.py
index bd9c42b..5a6a8b9 100644
--- a/suites/libvirt-cim/cimtest/HostSystem/04_hs_to_EAPF.py
+++ b/suites/libvirt-cim/cimtest/HostSystem/04_hs_to_EAPF.py
@@ -60,6 +60,7 @@ from CimTest.ReturnCodes import PASS, FAIL, SKIP
 from XenKvmLib.test_doms import destroy_and_undefine_all
 from XenKvmLib.logicaldevices import verify_device_values
 from XenKvmLib.const import get_provider_version
+from XenKvmLib.xm_virt_util import host_cpu_model
 
 sup_types = ['Xen', 'KVM', 'XenFV', 'LXC']
 
@@ -73,7 +74,7 @@ def print_err(err, detail, cn):
     logger.error(err, cn)
     logger.error("Exception: %s", detail)
 
-def pool_init_list(virt, pool_assoc, net_name, dp_InstID):
+def pool_init_list(virt, server, pool_assoc, net_name, dp_InstID):
     """
         Creating the lists that will be used for comparisons.
     """
@@ -94,8 +95,10 @@ def pool_init_list(virt, pool_assoc, net_name, dp_InstID):
         exp_pllist[npool] = '%s/%s' %('NetworkPool', net_name)
         exp_pllist[ppool] = 'ProcessorPool/0'
         exp_pllist[mpool] = 'MemoryPool/0'
-        exp_pllist[gpool] = 'GraphicsPool/0'
-        exp_pllist[ipool] = 'InputPool/0'
+
+        if not host_cpu_model(server, virt).startswith('s390'):
+            exp_pllist[gpool] = 'GraphicsPool/0'
+            exp_pllist[ipool] = 'InputPool/0'
 
     for p_inst in pool_assoc:
         CName = p_inst.classname
@@ -105,6 +108,9 @@ def pool_init_list(virt, pool_assoc, net_name, dp_InstID):
                 if exp_pllist[CName] == InstID:
                     in_pllist[CName] = InstID
         else:
+            if host_cpu_model(server, virt).startswith('s390') and \
+                    ('GraphicsPool' in CName or 'InputPool' in CName):
+                continue
             if exp_pllist[CName] == InstID:
                 in_pllist[CName] = InstID 
 
@@ -160,9 +166,12 @@ def eapf_list(server, virt, test_disk):
                         disk_inst   : disk, 
                         net_inst    : net, 
                         mem_inst    : mem,
-                        display_inst: display,      
-                        point_inst  : point
                       }
+
+        if not host_cpu_model(server, virt).startswith('s390'):
+            eaf_values[display_inst] = display
+            eaf_values[point_inst] = point
+
     return eaf_values 
 
 def get_inst_for_dom(assoc_val):
@@ -267,12 +276,13 @@ def main():
         vsxml.undefine(server)
         return status
 
-    in_pllist = pool_init_list(virt, pool, net_name, default_pool_name)
+    in_pllist = pool_init_list(virt, server, pool, net_name, default_pool_name)
     curr_cim_rev, changeset = get_provider_version(virt, server)
     # One pool for each Device type, hence len should be 4
     if virt == 'LXC':
         exp_len = 1
-    elif curr_cim_rev >= libvirt_input_graphics_changeset:
+    elif curr_cim_rev >= libvirt_input_graphics_changeset and \
+            not host_cpu_model(options.ip, options.virt).startswith('s390'):
        exp_len = 6
     else:
        exp_len = 4
diff --git a/suites/libvirt-cim/cimtest/HostedAccessPoint/01_forward.py b/suites/libvirt-cim/cimtest/HostedAccessPoint/01_forward.py
index 9ffd0fd..0b5a4b8 100644
--- a/suites/libvirt-cim/cimtest/HostedAccessPoint/01_forward.py
+++ b/suites/libvirt-cim/cimtest/HostedAccessPoint/01_forward.py
@@ -30,6 +30,7 @@ from XenKvmLib.const import do_main, get_provider_version
 from XenKvmLib.common_util import get_host_info
 from XenKvmLib.enumclass import EnumInstances
 from XenKvmLib.assoc import compare_all_prop
+from XenKvmLib.xm_virt_util import host_cpu_model
 
 libvirtcim_hostedAccPnt_changes = 782
 
@@ -114,6 +115,10 @@ def main():
         logger.info("VNC is not supported by LXC, hence skipping the tc ....")
         return SKIP
 
+    if host_cpu_model(options.ip, options.virt).startswith('s390'):
+        logger.info("Graphics is not supported by s390, hence skipping the tc ....")
+        return SKIP
+
     status, cxml = setup_env(options.ip, options.virt)
     if status != PASS:
         cxml.undefine(options.ip)
diff --git a/suites/libvirt-cim/cimtest/HostedAccessPoint/02_reverse.py b/suites/libvirt-cim/cimtest/HostedAccessPoint/02_reverse.py
index 2d6daf1..cfa35cc 100644
--- a/suites/libvirt-cim/cimtest/HostedAccessPoint/02_reverse.py
+++ b/suites/libvirt-cim/cimtest/HostedAccessPoint/02_reverse.py
@@ -30,6 +30,7 @@ from XenKvmLib.const import do_main, get_provider_version
 from XenKvmLib.common_util import get_host_info
 from XenKvmLib.enumclass import EnumInstances
 from XenKvmLib.assoc import compare_all_prop
+from XenKvmLib.xm_virt_util import host_cpu_model
 
 libvirtcim_hostedAccPnt_changes = 782
 
@@ -121,6 +122,10 @@ def main():
         logger.info("VNC is not supported by LXC, hence skipping the tc ....")
         return SKIP
 
+    if host_cpu_model(options.ip, options.virt).startswith('s390'):
+        logger.info("Graphics is not supported by s390, hence skipping the tc ....")
+        return SKIP
+
     status, cxml = setup_env(options.ip, options.virt)
     if status != PASS:
         cxml.undefine(options.ip)
diff --git a/suites/libvirt-cim/cimtest/KVMRedirectionSAP/01_enum_KVMredSAP.py b/suites/libvirt-cim/cimtest/KVMRedirectionSAP/01_enum_KVMredSAP.py
index af9b5c6..c75c1ad 100644
--- a/suites/libvirt-cim/cimtest/KVMRedirectionSAP/01_enum_KVMredSAP.py
+++ b/suites/libvirt-cim/cimtest/KVMRedirectionSAP/01_enum_KVMredSAP.py
@@ -43,6 +43,7 @@ from CimTest.Globals import logger, CIM_ERROR_ENUMERATE
 from CimTest.ReturnCodes import PASS, FAIL, SKIP
 from XenKvmLib.const  import KVMRedSAP_proto, CIM_SAP_AVAILABLE_STATE,  \
                              CIM_SAP_INACTIVE_STATE
+from XenKvmLib.xm_virt_util import host_cpu_model
 
 sup_types = ['Xen', 'KVM', 'LXC']
 libvirtcim_redSAP_changes = 716
@@ -104,6 +105,10 @@ def main():
         logger.info("VNC is not supported by LXC, hence skipping the tc ....")
         return SKIP
 
+    if host_cpu_model(server, virt).startswith('s390'):
+        logger.info("Graphics is not supported by s390, hence skipping the tc ....")
+        return SKIP
+
     vsxml = None
     action_start = False
 
diff --git a/suites/libvirt-cim/cimtest/KVMRedirectionSAP/02_ipv6_support.py b/suites/libvirt-cim/cimtest/KVMRedirectionSAP/02_ipv6_support.py
index 84f98c8..41ddf1a 100644
--- a/suites/libvirt-cim/cimtest/KVMRedirectionSAP/02_ipv6_support.py
+++ b/suites/libvirt-cim/cimtest/KVMRedirectionSAP/02_ipv6_support.py
@@ -42,6 +42,7 @@ from XenKvmLib.classes import get_typed_class
 from XenKvmLib.const import do_main, get_provider_version
 from CimTest.Globals import logger
 from CimTest.ReturnCodes import PASS, FAIL, SKIP
+from XenKvmLib.xm_virt_util import host_cpu_model
 
 sup_types = ['Xen', 'KVM', 'XenFV']
 libvirtcim_redSAP_changes = 1017
@@ -76,6 +77,10 @@ def main():
                     classname)
         return SKIP 
 
+    if host_cpu_model(server, virt).startswith('s390'):
+        logger.info("Graphics is not supported by s390, hence skipping the tc ....")
+        return SKIP
+
     vsxml = None
 
     try:
diff --git a/suites/libvirt-cim/cimtest/RASDIndications/02_guest_add_mod_rem_rasd_ind.py b/suites/libvirt-cim/cimtest/RASDIndications/02_guest_add_mod_rem_rasd_ind.py
index 6d513bd..4807599 100644
--- a/suites/libvirt-cim/cimtest/RASDIndications/02_guest_add_mod_rem_rasd_ind.py
+++ b/suites/libvirt-cim/cimtest/RASDIndications/02_guest_add_mod_rem_rasd_ind.py
@@ -41,6 +41,7 @@ from XenKvmLib.const import do_main, CIM_DISABLE, get_provider_version
 from CimTest.ReturnCodes import PASS, FAIL, SKIP
 from XenKvmLib.common_util import poll_for_state_change 
 from XenKvmLib.indications import sub_ind, handle_request, poll_for_ind
+from XenKvmLib.xm_virt_util import host_cpu_model
 
 sup_types = ['KVM', 'Xen', 'XenFV']
 libvirt_guest_rasd_indication_rev = 980
@@ -107,8 +108,12 @@ def gen_indication(test_dom, s_sysname, virt, cxml, service, ind_name,
                                            rasd, nmem_disk)
 
         elif ind_name == 'delete':
-            cn = 'GraphicsResourceAllocationSettingData'
-            inst_id = '%s/%s' % (test_dom, "vnc")
+            if host_cpu_model(s_sysname, virt).startswith('s390'):
+                cn = 'ConsoleResourceAllocationSettingData'
+                inst_id = '%s/%s' % (test_dom, "charconsole:0")
+            else:
+                cn = 'GraphicsResourceAllocationSettingData'
+                inst_id = '%s/%s' % (test_dom, "vnc")
             classname = get_typed_class(virt, cn)
             nrasd = get_rasd_rec(virt, cn, s_sysname, inst_id)
 
diff --git a/suites/libvirt-cim/cimtest/RedirectionService/03_RedirectionSAP_errs.py b/suites/libvirt-cim/cimtest/RedirectionService/03_RedirectionSAP_errs.py
index 34d7b76..8481e75 100644
--- a/suites/libvirt-cim/cimtest/RedirectionService/03_RedirectionSAP_errs.py
+++ b/suites/libvirt-cim/cimtest/RedirectionService/03_RedirectionSAP_errs.py
@@ -40,6 +40,7 @@ from XenKvmLib.classes import get_typed_class
 from XenKvmLib import vxml
 from XenKvmLib.const import do_main, get_provider_version
 from XenKvmLib.enumclass import EnumInstances, CIM_CimtestClass
+from XenKvmLib.xm_virt_util import host_cpu_model
 
 test_dom = "demo"
 test_vcpus = 1
@@ -80,6 +81,10 @@ def main():
         logger.info("VNC is not supported by LXC, hence skipping the tc ....")
         return SKIP
 
+    if host_cpu_model(options.ip, options.virt).startswith('s390'):
+        logger.info("Graphics is not supported by s390, hence skipping the tc ....")
+        return SKIP
+
     # Getting the VS list and deleting the test_dom if it already exists.
     cxml = vxml.get_class(options.virt)(test_dom, vcpus=test_vcpus)
     ret = cxml.cim_define(options.ip)
diff --git a/suites/libvirt-cim/cimtest/ServiceAccessBySAP/01_forward.py b/suites/libvirt-cim/cimtest/ServiceAccessBySAP/01_forward.py
index 4840522..6b77f52 100644
--- a/suites/libvirt-cim/cimtest/ServiceAccessBySAP/01_forward.py
+++ b/suites/libvirt-cim/cimtest/ServiceAccessBySAP/01_forward.py
@@ -32,6 +32,7 @@ from XenKvmLib.enumclass import EnumInstances
 from XenKvmLib.vxml import get_class
 from XenKvmLib.assoc import AssociatorNames
 from XenKvmLib.assoc import compare_all_prop
+from XenKvmLib.xm_virt_util import host_cpu_model
 
 libvirtcim_servaccsap_changes = 784
 
@@ -131,7 +132,11 @@ def main():
                     "skipping the tc ....")
         return SKIP
 
-    
+    if host_cpu_model(server, virt).startswith('s390'):
+        logger.info("ServiceAccessBySAP not supported on s390, hence " +
+                    "skipping the tc ....")
+        return SKIP
+
     status, cxml = setup_env(options.ip, options.virt)
     if status != PASS:
         cxml.undefine(options.ip)
diff --git a/suites/libvirt-cim/cimtest/ServiceAccessBySAP/02_reverse.py b/suites/libvirt-cim/cimtest/ServiceAccessBySAP/02_reverse.py
index 14c0db1..214727c 100644
--- a/suites/libvirt-cim/cimtest/ServiceAccessBySAP/02_reverse.py
+++ b/suites/libvirt-cim/cimtest/ServiceAccessBySAP/02_reverse.py
@@ -31,6 +31,7 @@ from XenKvmLib.enumclass import EnumInstances
 from XenKvmLib.vxml import get_class
 from XenKvmLib.assoc import AssociatorNames
 from XenKvmLib.assoc import compare_all_prop
+from XenKvmLib.xm_virt_util import host_cpu_model
 
 libvirtcim_servaccsap_changes = 784
 
@@ -146,6 +147,11 @@ def main():
                     "skipping the tc ....")
         return SKIP
 
+    if host_cpu_model(server, virt).startswith('s390'):
+        logger.info("ServiceAccessBySAP not supported on s390, hence " +
+                    "skipping the tc ....")
+        return SKIP
+
     status, cxml = setup_env(options.ip, options.virt)
     if status != PASS:
         cxml.undefine(options.ip)
diff --git a/suites/libvirt-cim/cimtest/ServiceAffectsElement/01_forward.py b/suites/libvirt-cim/cimtest/ServiceAffectsElement/01_forward.py
index fc1590d..b9d7b27 100644
--- a/suites/libvirt-cim/cimtest/ServiceAffectsElement/01_forward.py
+++ b/suites/libvirt-cim/cimtest/ServiceAffectsElement/01_forward.py
@@ -57,6 +57,7 @@ from XenKvmLib.enumclass import EnumInstances
 from XenKvmLib.common_util import parse_instance_id
 from XenKvmLib.const import do_main, get_provider_version
 from CimTest.ReturnCodes import FAIL, PASS
+from XenKvmLib.xm_virt_util import host_cpu_model
 
 sup_types = ['Xen', 'KVM', 'XenFV', 'LXC']
 sae_assoc_with_input_graphics_rev = 795
@@ -96,7 +97,8 @@ def get_dom_records(an_cn, assoc_ei_info, assoc_ei_insts):
 def init_list_for_compare(server, virt):
     c_list = [ 'ComputerSystem']
     curr_cim_rev, changeset = get_provider_version(virt, server)
-    if curr_cim_rev >= sae_assoc_with_input_graphics_rev:
+    if curr_cim_rev >= sae_assoc_with_input_graphics_rev and \
+            not host_cpu_model(server, virt).startswith('s390'):
         c_list.append('PointingDevice' )
         c_list.append('DisplayController')
 
@@ -119,7 +121,7 @@ def verify_assoc(server, virt, an, assoc_info):
             raise Exception("Failed to get insts for domain %s" % test_dom)
 
         in_list, status = init_list_for_compare(server, virt)
-        if status != PASS or len(in_list) != 3:
+        if status != PASS or len(in_list) == 0:
             raise Exception("Failed to get init_list")
 
         in_list_keys = Set(in_list.keys())
diff --git a/suites/libvirt-cim/cimtest/ServiceAffectsElement/02_reverse.py b/suites/libvirt-cim/cimtest/ServiceAffectsElement/02_reverse.py
index 391ad42..65b030e 100644
--- a/suites/libvirt-cim/cimtest/ServiceAffectsElement/02_reverse.py
+++ b/suites/libvirt-cim/cimtest/ServiceAffectsElement/02_reverse.py
@@ -54,6 +54,7 @@ from XenKvmLib.common_util import parse_instance_id
 from XenKvmLib.const import do_main, get_provider_version
 from CimTest.ReturnCodes import FAIL, PASS
 from pywbem.cim_obj import CIMInstance
+from XenKvmLib.xm_virt_util import host_cpu_model
 
 sup_types = ['Xen', 'KVM', 'XenFV', 'LXC']
 pd_dev_rev = 746
@@ -93,11 +94,12 @@ def get_dom_records(cn, ei_info):
 
 def init_list_for_assoc(server, virt):
     c_list = [ 'ComputerSystem']
-    curr_cim_rev, changeset = get_provider_version(virt, server)
-    if curr_cim_rev >= pd_dev_rev:
-        c_list.append('PointingDevice' )
-    if curr_cim_rev >= dc_dev_rev:
-        c_list.append('DisplayController')
+    if not host_cpu_model(server, virt).startswith('s390'):
+        curr_cim_rev, changeset = get_provider_version(virt, server)
+        if curr_cim_rev >= pd_dev_rev:
+            c_list.append('PointingDevice' )
+        if curr_cim_rev >= dc_dev_rev:
+            c_list.append('DisplayController')
 
     key_dict = {}
     for name in c_list:
diff --git a/suites/libvirt-cim/cimtest/SystemDevice/01_forward.py b/suites/libvirt-cim/cimtest/SystemDevice/01_forward.py
index f956621..022173b 100644
--- a/suites/libvirt-cim/cimtest/SystemDevice/01_forward.py
+++ b/suites/libvirt-cim/cimtest/SystemDevice/01_forward.py
@@ -33,6 +33,7 @@ from XenKvmLib.classes import get_typed_class
 from CimTest.Globals import logger
 from XenKvmLib.const import do_main, get_provider_version
 from CimTest.ReturnCodes import PASS, FAIL
+from XenKvmLib.xm_virt_util import host_cpu_model
 
 sup_types = ['Xen', 'KVM', 'XenFV', 'LXC']
 input_graphics_pool_rev = 757
@@ -99,10 +100,13 @@ def main():
         point_device = "%s/%s" %(test_dom, "mouse:usb")
     elif virt == 'Xen':
         point_device = "%s/%s" %(test_dom, "mouse:xen")
-    else:
+    elif not host_cpu_model(server, virt).startswith('s390'):
         point_device = "%s/%s" %(test_dom, "mouse:ps2")
+    else:
+        point_device = None
 
-    exp_pllist[input_cn] = [point_device]
+    if point_device != None:
+        exp_pllist[input_cn] = [point_device]
 
     disk_cn =  get_typed_class(virt, "LogicalDisk")
     exp_pllist[disk_cn] = [ '%s/%s' % (test_dom, test_disk)]
@@ -117,7 +121,8 @@ def main():
             exp_pllist[proc_cn].append( '%s/%s' % (test_dom, i))
 
         curr_cim_rev, changeset = get_provider_version(virt, server)
-        if curr_cim_rev >= input_graphics_pool_rev:
+        if curr_cim_rev >= input_graphics_pool_rev and \
+                not host_cpu_model(server, virt).startswith('s390'):
             graphics_cn = get_typed_class(virt, "DisplayController")
             exp_pllist[graphics_cn] = ['%s/vnc' % test_dom]
 
diff --git a/suites/libvirt-cim/cimtest/VSSD/07_autostart.py b/suites/libvirt-cim/cimtest/VSSD/07_autostart.py
index 408f5d0..d621fd1 100644
--- a/suites/libvirt-cim/cimtest/VSSD/07_autostart.py
+++ b/suites/libvirt-cim/cimtest/VSSD/07_autostart.py
@@ -37,6 +37,7 @@ from XenKvmLib.classes import get_typed_class, inst_to_mof
 from XenKvmLib.enumclass import GetInstance 
 from XenKvmLib.const import get_provider_version
 from pywbem.cim_types import Uint16
+from XenKvmLib.xm_virt_util import host_cpu_model
 
 sup_types = ['Xen', 'KVM', 'XenFV', 'LXC']
 default_dom = 'uuid_domain'
@@ -69,6 +70,10 @@ def main():
     virt = options.virt
     server = options.ip
 
+    if host_cpu_model(server, virt).startswith('s390'):
+        logger.info("Cannot run autostart test on s390, known endianness bug")
+        return SKIP
+
     curr_cim_rev, changeset = get_provider_version(virt, server)
     if curr_cim_rev < autostart_support:
         logger.info("Need provider version %d or greater to run testcase",
diff --git a/suites/libvirt-cim/cimtest/VirtualSystemSettingDataComponent/01_forward.py b/suites/libvirt-cim/cimtest/VirtualSystemSettingDataComponent/01_forward.py
index 96c34d4..f996c60 100644
--- a/suites/libvirt-cim/cimtest/VirtualSystemSettingDataComponent/01_forward.py
+++ b/suites/libvirt-cim/cimtest/VirtualSystemSettingDataComponent/01_forward.py
@@ -61,6 +61,7 @@ from XenKvmLib.classes import get_typed_class
 from CimTest.Globals import logger
 from XenKvmLib.const import do_main, get_provider_version
 from CimTest.ReturnCodes import FAIL, PASS
+from XenKvmLib.xm_virt_util import host_cpu_model
 
 sup_types = ['Xen', 'KVM', 'XenFV', 'LXC']
 input_graphics_pool_rev = 757
@@ -94,7 +95,8 @@ def init_list(test_disk, test_mac, server, virt='Xen'):
         input_device = "mouse:ps2"
         
     curr_cim_rev, changeset = get_provider_version(virt, server)
-    if curr_cim_rev >= input_graphics_pool_rev:
+    if curr_cim_rev >= input_graphics_pool_rev and \
+            not host_cpu_model(server, virt).startswith('s390'):
         input = get_typed_class(virt,'InputResourceAllocationSettingData')
         graphics = get_typed_class(virt,'GraphicsResourceAllocationSettingData')
         rlist.append(input)
diff --git a/suites/libvirt-cim/lib/XenKvmLib/pool.py b/suites/libvirt-cim/lib/XenKvmLib/pool.py
index ddbe532..c4ae519 100644
--- a/suites/libvirt-cim/lib/XenKvmLib/pool.py
+++ b/suites/libvirt-cim/lib/XenKvmLib/pool.py
@@ -38,6 +38,7 @@ from XenKvmLib.vxml import NetXML, PoolXML
 from XenKvmLib.xm_virt_util import virsh_version, virsh_version_cmp
 from XenKvmLib.vsms import RASD_TYPE_STOREVOL
 from XenKvmLib.common_util import destroy_diskpool
+from XenKvmLib.xm_virt_util import host_cpu_model
 
 cim_errno  = pywbem.CIM_ERR_NOT_SUPPORTED
 cim_mname  = "CreateChildResourcePool"
@@ -76,7 +77,8 @@ def enum_pools(virt, ip):
     pool_list = ['ProcessorPool', 'MemoryPool', 'NetworkPool', 'DiskPool']
 
     curr_cim_rev, changeset = get_provider_version(virt, ip)
-    if curr_cim_rev >= input_graphics_pool_rev:
+    if curr_cim_rev >= input_graphics_pool_rev \
+            and not host_cpu_model(ip, virt).startswith('s390'):
         pool_list.append('GraphicsPool')
         pool_list.append('InputPool')
 
-- 
1.7.9.5




More information about the Libvirt-cim mailing list