[PATCH 5 of 6] Add resource indication provider.
by Sharad Mishra
# HG changeset patch
# User snmishra(a)us.ibm.com
# Date 1252482482 25200
# Node ID 430f148ad7035083035f4ba3a0975e0f43a88196
# Parent 14910082e1d791b092dcb43e067d91b400e09aa2
Add resource indication provider
Signed-off-by: Sharad Mishra <snmishra(a)us.ibm.com>
diff -r 14910082e1d7 -r 430f148ad703
src/Virt_ResourceAllocationSettingDataIndication.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/Virt_ResourceAllocationSettingDataIndication.c
Wed Sep 09 00:48:02 2009 -0700
@@ -0,0 +1,155 @@
+/*
+ * Copyright IBM Corp. 2007
+ *
+ * Authors:
+ * Sharad Mishra <snmishra(a)us.ibm.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
USA
+ */
+#include <stdio.h>
+#include <string.h>
+
+#include <cmpidt.h>
+#include <cmpift.h>
+#include <cmpimacs.h>
+
+#include <libvirt/libvirt.h>
+#include <libcmpiutil/libcmpiutil.h>
+#include <libcmpiutil/std_indication.h>
+#include <misc_util.h>
+#include <cs_util.h>
+
+static const CMPIBroker *_BROKER;
+
+DECLARE_FILTER(xen_created,
+ "Xen_ResourceAllocationSettingDataCreatedIndication");
+DECLARE_FILTER(xen_deleted,
+ "Xen_ResourceAllocationSettingDataDeletedIndication");
+DECLARE_FILTER(xen_modified,
+ "Xen_ResourceAllocationSettingDataModifiedIndication");
+DECLARE_FILTER(kvm_created,
+ "KVM_ResourceAllocationSettingDataCreatedIndication");
+DECLARE_FILTER(kvm_deleted,
+ "KVM_ResourceAllocationSettingDataDeletedIndication");
+DECLARE_FILTER(kvm_modified,
+ "KVM_ResourceAllocationSettingDataModifiedIndication");
+DECLARE_FILTER(lxc_created,
+ "LXC_ResourceAllocationSettingDataCreatedIndication");
+DECLARE_FILTER(lxc_deleted,
+ "LXC_ResourceAllocationSettingDataDeletedIndication");
+DECLARE_FILTER(lxc_modified,
+ "LXC_ResourceAllocationSettingDataModifiedIndication");
+
+static struct std_ind_filter *filters[] = {
+ &xen_created,
+ &xen_deleted,
+ &xen_modified,
+ &kvm_created,
+ &kvm_deleted,
+ &kvm_modified,
+ &lxc_created,
+ &lxc_deleted,
+ &lxc_modified,
+ NULL,
+};
+
+
+static CMPIStatus raise_indication(const CMPIBroker *broker,
+ const CMPIContext *ctx,
+ const CMPIInstance *ind)
+{
+ struct std_indication_ctx *_ctx = NULL;
+ CMPIStatus s = {CMPI_RC_OK, NULL};
+ struct ind_args *args = NULL;
+ CMPIObjectPath *ref = NULL;
+
+ _ctx = malloc(sizeof(struct std_indication_ctx));
+ if (_ctx == NULL) {
+ cu_statusf(broker, &s,
+ CMPI_RC_ERR_FAILED,
+ "Unable to allocate indication context");
+ goto out;
+ }
+
+ _ctx->brkr = broker;
+ _ctx->handler = NULL;
+ _ctx->filters = filters;
+ _ctx->enabled = 1;
+
+ args = malloc(sizeof(struct ind_args));
+ if (args == NULL) {
+ cu_statusf(broker, &s,
+ CMPI_RC_ERR_FAILED,
+ "Unable to allocate ind_args");
+ goto out;
+ }
+
+ ref = CMGetObjectPath(ind, &s);
+ if (ref == NULL) {
+ cu_statusf(broker, &s,
+ CMPI_RC_ERR_FAILED,
+ "Got a null object path");
+ goto out;
+ }
+
+ /* FIXME: This is a Pegasus work around. Pegsus loses the
namespace
+ when an ObjectPath is pulled from an instance */
+
+
+ CMSetNameSpace(ref, "root/virt");
+ args->ns = strdup(NAMESPACE(ref));
+ args->classname = strdup(CLASSNAME(ref));
+ args->_ctx = _ctx;
+
+ s = stdi_deliver(broker, ctx, args, (CMPIInstance *)ind);
+ if (s.rc == CMPI_RC_OK) {
+ CU_DEBUG("Indication delivered");
+ } else {
+ CU_DEBUG("Not delivered: %s", CMGetCharPtr(s.msg));
+ }
+
+ out:
+ return s;
+}
+
+static struct std_indication_handler rasdi = {
+ .raise_fn = raise_indication,
+ .trigger_fn = NULL,
+ .activate_fn = NULL,
+ .deactivate_fn = NULL,
+ .enable_fn = NULL,
+ .disable_fn = NULL,
+};
+
+DEFAULT_IND_CLEANUP();
+DEFAULT_AF();
+DEFAULT_MP();
+
+STDI_IndicationMIStub(,
+
Virt_ResourceAllocationSettingDataIndicationProvider,
+ _BROKER,
+ libvirt_cim_init(),
+ &rasdi,
+ filters);
+
+/*
+ * Local Variables:
+ * mode: C
+ * c-set-style: "K&R"
+ * tab-width: 8
+ * c-basic-offset: 8
+ * indent-tabs-mode: nil
+ * End:
+ */
15 years, 3 months
[PATCH 6 of 6] Virt_VirtualSystemManagementService updated to add support for resource indication provider.
by Sharad Mishra
# HG changeset patch
# User snmishra(a)us.ibm.com
# Date 1252601888 25200
# Node ID c3163e536ea95f2b846eca4ca2a3cefd4ae6a4a7
# Parent 234141bf7f0368531c884334b1da5b94cc038758
Virt_VirtualSystemManagementService updated to add support for resource
indication provider.
Signed-off-by: Sharad Misrha <snmishra(a)us.ibm.com>
diff -r 234141bf7f03 -r c3163e536ea9
src/Virt_VirtualSystemManagementService.c
--- a/src/Virt_VirtualSystemManagementService.c Thu Sep 03 12:52:47
2009 -0700
+++ b/src/Virt_VirtualSystemManagementService.c Thu Sep 10 09:58:08
2009 -0700
@@ -63,6 +63,9 @@
#define BRIDGE_TYPE "bridge"
#define NETWORK_TYPE "network"
#define USER_TYPE "user"
+#define CREATED "ResourceAllocationSettingDataCreatedIndication"
+#define DELETED "ResourceAllocationSettingDataDeletedIndication"
+#define MODIFIED "ResourceAllocationSettingDataModifiedIndication"
const static CMPIBroker *_BROKER;
@@ -442,7 +445,7 @@
ret = cu_get_str_prop(inst, "VirtualSystemIdentifier", &val);
if (ret != CMPI_RC_OK)
goto out;
-
+
free(domain->name);
domain->name = strdup(val);
@@ -1416,7 +1419,69 @@
return s;
}
-static CMPIInstance *create_system(CMPIInstance *vssd,
+static CMPIStatus raise_rasd_indication(const CMPIContext *context,
+ const char *base_type,
+ CMPIInstance *prev_inst,
+ const CMPIObjectPath *ref,
+ struct inst_list *list)
+{
+ char *type;
+ CMPIStatus s = {CMPI_RC_OK, NULL};
+ CMPIInstance *instc = NULL;
+ CMPIInstance *ind = NULL;
+ CMPIObjectPath *op = NULL;
+ int i;
+
+ CU_DEBUG("raise_rasd_indication");
+
+ type = get_typed_class(CLASSNAME(ref), base_type);
+ ind = get_typed_instance(_BROKER,
+ CLASSNAME(ref),
+ base_type,
+ NAMESPACE(ref));
+ if (ind == NULL) {
+ CU_DEBUG("Failed to get indication instance");
+ s.rc = CMPI_RC_ERR_FAILED;
+ goto out;
+ }
+
+ /* PreviousInstance is set only for modify case. */
+ if (prev_inst != NULL)
+ CMSetProperty(ind,
+ "PreviousInstance",
+ (CMPIValue *)&prev_inst,
+ CMPI_instance);
+
+ for (i=0; i < list->cur; i++) {
+ instc = list->list[i];
+ op = CMGetObjectPath(instc, NULL);
+ CMPIString *str = CMGetClassName(op, NULL);
+
+ CU_DEBUG("class name is %s\n", CMGetCharsPtr(str, NULL));
+
+ CMSetProperty(ind,
+ "SourceInstance",
+ (CMPIValue *)&instc,
+ CMPI_instance);
+ set_source_inst_props(_BROKER, context, ref, ind);
+
+ s = stdi_raise_indication(_BROKER,
+ context,
+ type,
+ NAMESPACE(ref),
+ ind);
+ }
+
+out:
+ free(type);
+ return s;
+
+}
+
+
+
+static CMPIInstance *create_system(const CMPIContext *context,
+ CMPIInstance *vssd,
CMPIArray *resources,
const CMPIObjectPath *ref,
const CMPIObjectPath *refconf,
@@ -1427,6 +1492,9 @@
const char *msg = NULL;
virConnectPtr conn = NULL;
virDomainPtr dom = NULL;
+ struct inst_list list;
+ const char *props[] = {NULL};
struct domain *domain = NULL;
+ inst_list_init(&list);
@@ -1477,18 +1544,40 @@
CU_DEBUG("System XML:\n%s", xml);
inst = connect_and_create(xml, ref, s);
- if (inst != NULL)
+ if (inst != NULL) {
update_dominfo(domain, CLASSNAME(ref));
+
+ *s = enum_rasds(_BROKER,
+ ref,
+ domain->name,
+ CIM_RES_TYPE_ALL,
+ props,
+ &list);
+
+ if (s->rc != CMPI_RC_OK) {
+ CU_DEBUG("Failed to enumerate rasd\n");
+ goto out;
+ }
+
+ raise_rasd_indication(context,
+ CREATED,
+ NULL,
+ ref,
+ &list);
+ }
+
out:
cleanup_dominfo(&domain);
free(xml);
virDomainFree(dom);
virConnectClose(conn);
+ inst_list_free(&list);
return inst;
}
+
static bool trigger_indication(const CMPIContext *context,
const char *base_type,
const CMPIObjectPath *ref)
@@ -1530,7 +1620,7 @@
if (s.rc != CMPI_RC_OK)
goto out;
- sys = create_system(vssd, res, reference, refconf, &s);
+ sys = create_system(context, vssd, res, reference, refconf, &s);
if (sys == NULL)
goto out;
@@ -1564,12 +1654,15 @@
CMPIObjectPath *sys;
virConnectPtr conn = NULL;
virDomainPtr dom = NULL;
+ struct inst_list list;
+ const char *props[] = {NULL};
+ inst_list_init(&list);
conn = connect_by_classname(_BROKER,
CLASSNAME(reference),
&status);
if (conn == NULL) {
- rc = -1;
+ rc = IM_RC_NOT_SUPPORTED;
goto error;
}
@@ -1580,6 +1672,18 @@
if (dom_name == NULL)
goto error;
+ status = enum_rasds(_BROKER,
+ reference,
+ dom_name,
+ CIM_RES_TYPE_ALL,
+ props,
+ &list);
+
+ if (status.rc != CMPI_RC_OK) {
+ CU_DEBUG("Failed to enumerate rasd");
+ goto error;
+ }
+
dom = virDomainLookupByName(conn, dom_name);
if (dom == NULL) {
CU_DEBUG("No such domain `%s'", dom_name);
@@ -1605,11 +1710,17 @@
error:
if (rc == IM_RC_SYS_NOT_FOUND)
- virt_set_status(_BROKER, &status,
+ virt_set_status(_BROKER,
+ &status,
CMPI_RC_ERR_NOT_FOUND,
conn,
"Referenced domain `%s' does not exist",
dom_name);
+ else if (rc == IM_RC_NOT_SUPPORTED)
+ virt_set_status(_BROKER, &status,
+ CMPI_RC_ERR_NOT_FOUND,
+ conn,
+ "Unable to raise resource indication");
else if (rc == IM_RC_FAILED)
virt_set_status(_BROKER, &status,
CMPI_RC_ERR_NOT_FOUND,
@@ -1617,6 +1728,7 @@
"Unable to retrieve domain name");
else if (rc == IM_RC_OK) {
status = (CMPIStatus){CMPI_RC_OK, NULL};
+ raise_rasd_indication(context, DELETED, NULL, reference,
&list);
trigger_indication(context,
"ComputerSystemDeletedIndication",
reference);
@@ -1625,7 +1737,7 @@
virDomainFree(dom);
virConnectClose(conn);
CMReturnData(results, &rc, CMPI_uint32);
-
+ inst_list_free(&list);
return status;
}
@@ -2071,7 +2183,8 @@
return s;
}
-static CMPIStatus _update_resources_for(const CMPIObjectPath *ref,
+static CMPIStatus _update_resources_for(const CMPIContext *context,
+ const CMPIObjectPath *ref,
virDomainPtr dom,
const char *devid,
CMPIInstance *rasd,
@@ -2081,7 +2194,14 @@
struct domain *dominfo = NULL;
uint16_t type;
char *xml = NULL;
+ char *indication = NULL;
CMPIObjectPath *op;
+ struct inst_list list;
+ CMPIInstance *prev_inst = NULL;
+ const char *props[] = {NULL};
+ const char *inst_id;
+ int i, ret;
+ inst_list_init(&list);
if (!get_dominfo(dom, &dominfo)) {
virt_set_status(_BROKER, &s,
@@ -2106,6 +2225,7 @@
goto out;
}
+
s = func(dominfo, rasd, type, devid, NAMESPACE(ref));
if (s.rc != CMPI_RC_OK) {
CU_DEBUG("Resource transform function failed");
@@ -2116,6 +2236,54 @@
if (xml != NULL) {
CU_DEBUG("New XML:\n%s", xml);
connect_and_create(xml, ref, &s);
+
+ if (func == &resource_add) {
+ indication = strdup(CREATED);
+ }
+ else if (func == &resource_del) {
+ indication = strdup(DELETED);
+ }
+ else {
+ indication = strdup(MODIFIED);
+
+ s = enum_rasds(_BROKER,
+ ref,
+ dominfo->name,
+ type,
+ props,
+ &list);
+ if (s.rc != CMPI_RC_OK) {
+ CU_DEBUG("Failed to enumerate rasd");
+ goto out;
+ }
+
+ for(i=0; i < list.cur; i++) {
+ prev_inst = list.list[i];
+ ret = cu_get_str_prop(prev_inst,
+ "InstanceID",
+ &inst_id);
+
+ if (ret != CMPI_RC_OK)
+ continue;
+
+ if (STREQ(inst_id,
+ get_fq_devid(dominfo->name,
+ (char *)devid)))
+ break;
+ }
+
+ }
+
+ inst_list_init(&list);
+ if (inst_list_add(&list, rasd) == 0) {
+ CU_DEBUG("Unable to add RASD instance to the list
\n");
+ goto out;
+ }
+ raise_rasd_indication(context,
+ indication,
+ prev_inst,
+ ref,
+ &list);
} else {
cu_statusf(_BROKER, &s,
CMPI_RC_ERR_FAILED,
@@ -2125,6 +2294,8 @@
out:
cleanup_dominfo(&dominfo);
free(xml);
+ free(indication);
+ inst_list_free(&list);
return s;
}
@@ -2153,7 +2324,8 @@
return s;
}
-static CMPIStatus _update_resource_settings(const CMPIObjectPath *ref,
+static CMPIStatus _update_resource_settings(const CMPIContext *context,
+ const CMPIObjectPath *ref,
const char *domain,
CMPIArray *resources,
const CMPIResult *results,
@@ -2208,9 +2380,14 @@
goto end;
}
- s = _update_resources_for(ref, dom, devid, inst, func);
+ s = _update_resources_for(context,
+ ref,
+ dom,
+ devid,
+ inst,
+ func);
- end:
+ end:
free(name);
free(devid);
virDomainFree(dom);
@@ -2310,7 +2487,9 @@
return s;
}
- if (cu_get_ref_arg(argsin, "AffectedConfiguration", &sys) !=
CMPI_RC_OK) {
+ if (cu_get_ref_arg(argsin,
+ "AffectedConfiguration",
+ &sys) != CMPI_RC_OK) {
cu_statusf(_BROKER, &s,
CMPI_RC_ERR_INVALID_PARAMETER,
"Missing AffectedConfiguration parameter");
@@ -2324,11 +2503,13 @@
return s;
}
- s = _update_resource_settings(reference,
+ s = _update_resource_settings(context,
+ reference,
domain,
arr,
results,
resource_add);
+
free(domain);
return s;
@@ -2351,7 +2532,8 @@
return s;
}
- return _update_resource_settings(reference,
+ return _update_resource_settings(context,
+ reference,
NULL,
arr,
results,
@@ -2384,7 +2566,8 @@
if (s.rc != CMPI_RC_OK)
goto out;
- s = _update_resource_settings(reference,
+ s = _update_resource_settings(context,
+ reference,
NULL,
resource_arr,
results,
15 years, 3 months
[PATCH] get_disk_pool() is only valid for newer versions of libvirt
by Kaitlin Rupert
# HG changeset patch
# User Kaitlin Rupert <karupert(a)us.ibm.com>
# Date 1252098766 25200
# Node ID 2b627ddf93c9d303b87fd186a6d6334465a9a14c
# Parent 23572a8bc37d425291732467773f46224f640b72
get_disk_pool() is only valid for newer versions of libvirt
This patches fixes a compile issue with older versions of libvirt.
diff -r 23572a8bc37d -r 2b627ddf93c9 src/Virt_DevicePool.h
--- a/src/Virt_DevicePool.h Thu Sep 03 16:42:54 2009 -0700
+++ b/src/Virt_DevicePool.h Fri Sep 04 14:12:46 2009 -0700
@@ -28,6 +28,12 @@
#include "pool_parsing.h"
+#if LIBVIR_VERSION_NUMBER > 4000
+# define VIR_USE_LIBVIRT_STORAGE 1
+#else
+# define VIR_USE_LIBVIRT_STORAGE 0
+#endif
+
/**
* Get the InstanceID of a pool that a given RASD id (for type) is in
*
@@ -135,6 +141,7 @@
uint16_t type,
CMPIStatus *status);
+#if VIR_USE_LIBVIRT_STORAGE
/**
* Get the configuration settings of a given storage pool
*
@@ -143,6 +150,7 @@
* @returns An int that indicates whether the function was successful
*/
int get_disk_pool(virStoragePoolPtr poolptr, struct virt_pool **pool);
+#endif
#endif
15 years, 3 months
[PATCH] [TEST] Fix VSMS to do a proper check of ref config, also remove test_xml import
by Kaitlin Rupert
# HG changeset patch
# User Kaitlin Rupert <karupert(a)us.ibm.com>
# Date 1251842877 25200
# Node ID 03e78e8b7a06296eba99e1329840ae6ee521f357
# Parent a0185245b9894f195227c12af621151623972573
[TEST] Fix VSMS to do a proper check of ref config, also remove test_xml import
This test was originally designed to do the following:
1) Create a guest with a MAC interface
2) Create a second guest based on the first guest - second guest has an
additional MAC defined. Pass a reference to the first guest during the
DefineSystem()
3) Verify the second guest was created with two MACs - one that is identical to
the first guest and one that is different
The providers no longer allow a guest to have the same MAC as an existing guest.
Each MAC needs to be unique. Therefore, this test needs to use a different
setting - disk source works for this.
Also, remove the dependency on test_xml.py - that module is not obsolete.
Signed-off-by: Kaitlin Rupert <karupert(a)us.ibm.com>
diff -r a0185245b989 -r 03e78e8b7a06 suites/libvirt-cim/cimtest/VirtualSystemManagementService/12_referenced_config.py
--- a/suites/libvirt-cim/cimtest/VirtualSystemManagementService/12_referenced_config.py Tue Sep 01 14:23:12 2009 -0700
+++ b/suites/libvirt-cim/cimtest/VirtualSystemManagementService/12_referenced_config.py Tue Sep 01 15:07:57 2009 -0700
@@ -33,19 +33,16 @@
import sys
from XenKvmLib.common_util import get_cs_instance
from CimTest.Globals import logger
-from XenKvmLib.const import do_main, get_provider_version
+from XenKvmLib.const import do_main, KVM_secondary_disk_path
from CimTest.ReturnCodes import FAIL, PASS
from XenKvmLib.classes import get_typed_class, inst_to_mof
from XenKvmLib.assoc import AssociatorNames
-from XenKvmLib.test_xml import dumpxml
from XenKvmLib.vxml import get_class
from XenKvmLib.rasd import get_default_rasds
sup_types = ['Xen', 'XenFV', 'KVM']
test_dom = 'rstest_domain'
test_dom2 = 'rstest_domain2'
-mac = "aa:aa:aa:00:00:00"
-libvirt_mac_ref_changes = 935
def setup_first_guest(ip, virt, cxml):
ret = cxml.cim_define(ip)
@@ -76,22 +73,23 @@
return vssd[0]
def setup_second_guest(ip, virt, cxml2, ref):
- nrasd_cn = get_typed_class(virt, "NetResourceAllocationSettingData")
+ drasd_cn = get_typed_class(virt, "DiskResourceAllocationSettingData")
rasds = get_default_rasds(ip, virt)
rasd_list = {}
for rasd in rasds:
- if rasd.classname == nrasd_cn:
- rasd['Address'] = mac
- rasd['NetworkType'] = "network"
- rasd_list[nrasd_cn] = inst_to_mof(rasd)
+ if rasd.classname == drasd_cn:
+ rasd['Address'] = KVM_secondary_disk_path
+ rasd['VirtualDevice '] = "hdb"
+ rasd_list[drasd_cn] = inst_to_mof(rasd)
+ break
else:
rasd_list[rasd.classname] = None
- if rasd_list[nrasd_cn] is None:
- logger.error("Unable to get template NetRASD")
+ if rasd_list[drasd_cn] is None:
+ logger.error("Unable to get template DiskRASD")
return FAIL
cxml2.set_res_settings(rasd_list)
@@ -103,20 +101,21 @@
return PASS, "define"
-def get_dom_macs(server, dom, virt):
- mac_list = []
+def get_dom_disk_src(xml, ip):
+ disk_list = []
- myxml = dumpxml(dom, server, virt=virt)
+ xml.dumpxml(ip)
+ myxml = xml.get_formatted_xml()
lines = myxml.splitlines()
for l in lines:
- if l.find("mac address=") != -1:
- mac = l.split('=')[1]
- mac = mac.lstrip('\'')
- mac = mac.rstrip('\'/>')
- mac_list.append(mac)
+ if l.find("source file=") != -1:
+ disk = l.split('=')[1]
+ disk = disk.lstrip('\'')
+ disk = disk.rstrip('\'/>')
+ disk_list.append(disk)
- return mac_list
+ return disk_list
@do_main(sup_types)
def main():
@@ -143,26 +142,23 @@
if status != PASS:
raise Exception("Unable to define %s" % test_dom2)
- dom1_mac_list = get_dom_macs(ip, test_dom, virt)
- if len(dom1_mac_list) != 1:
- raise Exception("%s has %d macs, expected 1" % (test_dom,
- len(dom1_mac_list)))
+ g1_disk_list = get_dom_disk_src(cxml, ip)
+ if len(g1_disk_list) != 1:
+ raise Exception("%s has %d disks, expected 1" % (test_dom,
+ len(g1_disk_list)))
- dom2_mac_list = get_dom_macs(ip, test_dom2, virt)
- if len(dom2_mac_list) != 2:
- raise Exception("%s has %d macs, expected 2" % (test_dom2,
- len(dom2_mac_list)))
+ g2_disk_list = get_dom_disk_src(cxml2, ip)
+ if len(g2_disk_list) != 2:
+ raise Exception("%s has %d disks, expected 2" % (test_dom2,
+ len(g2_disk_list)))
- curr_cim_rev, changeset = get_provider_version(virt, ip)
- if curr_cim_rev < libvirt_mac_ref_changes:
- for item in dom2_mac_list:
- if item != mac and item != dom1_mac_list[0]:
- raise Exception("%s has unexpected mac value, exp: %s %s" \
- % (item, mac, dom1_mac_list[0]))
- elif curr_cim_rev >= libvirt_mac_ref_changes:
- if not mac in dom2_mac_list:
- raise Exception("Did not find the mac information given to "\
- "the domain '%s'" % test_dom2)
+ if g2_disk_list[0] != g1_disk_list[0]:
+ raise Exception("%s has unexpected disk source, exp: %s, got %s" \
+ % (test_dom2, g2_disk_list[0], g1_disk_list[0]))
+
+ if g2_disk_list[1] == g1_disk_list[0]:
+ raise Exception("%s has unexpected disk source, exp: %s, got %s" \
+ % (test_dom2, g2_disk_list[1], g1_disk_list[0]))
status = PASS
15 years, 3 months
[PATCH] [TEST] #2 Add try / except to VSMS 15
by Kaitlin Rupert
# HG changeset patch
# User Kaitlin Rupert <karupert(a)us.ibm.com>
# Date 1252002019 25200
# Node ID 54bf724a87d4dcf370ca68714809cfaaf55457ca
# Parent 30196cc506c07d81642c94a01fc65b34421c0714
[TEST] #2 Add try / except to VSMS 15
This will catch any unexpected exceptions. Otherwise, the exception isn't
caught and the guest may not be properly undefined
Updates:
-Fix Exception() calls to use % instead of a , when specifying arguments
-Remove import of default_network_name
-Replace destroy() with cim_destroy()
Signed-off-by: Kaitlin Rupert <karupert(a)us.ibm.com>
diff -r 30196cc506c0 -r 54bf724a87d4 suites/libvirt-cim/cimtest/VirtualSystemManagementService/15_mod_system_settings.py
--- a/suites/libvirt-cim/cimtest/VirtualSystemManagementService/15_mod_system_settings.py Wed Sep 02 05:11:16 2009 -0700
+++ b/suites/libvirt-cim/cimtest/VirtualSystemManagementService/15_mod_system_settings.py Thu Sep 03 11:20:19 2009 -0700
@@ -26,7 +26,7 @@
from XenKvmLib import vxml
from CimTest.Globals import logger
from CimTest.ReturnCodes import PASS, FAIL, XFAIL_RC
-from XenKvmLib.const import do_main, default_network_name
+from XenKvmLib.const import do_main
from XenKvmLib.classes import get_typed_class, inst_to_mof
from XenKvmLib.enumclass import GetInstance
from XenKvmLib.common_util import poll_for_state_change
@@ -74,72 +74,70 @@
cxml = vxml.get_class(options.virt)(default_dom, vcpus=cpu)
service = vsms.get_vsms_class(options.virt)(options.ip)
- for case in test_cases:
- #Each time through, define guest using a default XML
- cxml.undefine(options.ip)
- cxml = vxml.get_class(options.virt)(default_dom, vcpus=cpu)
- ret = cxml.cim_define(options.ip)
- if not ret:
- logger.error("Failed to define the dom: %s", default_dom)
- cleanup_env(options.ip, cxml)
- return FAIL
+ try:
- if case == "start":
- ret = cxml.start(options.ip)
+ for case in test_cases:
+ #Each time through, define guest using a default XML
+ cxml.undefine(options.ip)
+ cxml = vxml.get_class(options.virt)(default_dom, vcpus=cpu)
+ ret = cxml.cim_define(options.ip)
if not ret:
- logger.error("Failed to start %s", default_dom)
- cleanup_env(options.ip, cxml)
- return FAIL
+ raise Exception("Failed to define the dom: %s" % default_dom)
- status, inst = get_vssd(options.ip, options.virt, True)
- if status != PASS:
- logger.error("Failed to get the VSSD instance for %s", default_dom)
- cleanup_env(options.ip, cxml)
- return FAIL
+ if case == "start":
+ ret = cxml.start(options.ip)
+ if not ret:
+ raise Exception("Failed to start %s" % default_dom)
- inst['AutomaticRecoveryAction'] = pywbem.cim_types.Uint16(RECOVERY_VAL)
- vssd = inst_to_mof(inst)
+ status, inst = get_vssd(options.ip, options.virt, True)
+ if status != PASS:
+ raise Expcetion("Failed to get the VSSD instance for %s",
+ default_dom)
- ret = service.ModifySystemSettings(SystemSettings=vssd)
- curr_cim_rev, changeset = get_provider_version(options.virt, options.ip)
- if curr_cim_rev >= libvirt_modify_setting_changes:
- if ret[0] != 0:
- logger.error("Failed to modify dom: %s", default_dom)
- cleanup_env(options.ip, cxml)
- return FAIL
+ val = pywbem.cim_types.Uint16(RECOVERY_VAL)
+ inst['AutomaticRecoveryAction'] = val
+ vssd = inst_to_mof(inst)
- if case == "start":
- #This should be replaced with a RSC to shutdownt he guest
- cxml.destroy(options.ip)
- status, cs = poll_for_state_change(options.ip, options.virt,
- default_dom, DEFINED_STATE)
+ ret = service.ModifySystemSettings(SystemSettings=vssd)
+ curr_cim_rev, changeset = get_provider_version(options.virt,
+ options.ip)
+ if curr_cim_rev >= libvirt_modify_setting_changes:
+ if ret[0] != 0:
+ raise Exception("Failed to modify dom: %s" % default_dom)
+
+ if case == "start":
+ cxml.cim_destroy(options.ip)
+ status, cs = poll_for_state_change(options.ip, options.virt,
+ default_dom, DEFINED_STATE)
+ if status != PASS:
+ raise Exception("Failed to destroy %s" % default_dom)
+
+ status, inst = get_vssd(options.ip, options.virt, False)
if status != PASS:
- logger.error("Failed to destroy %s", default_dom)
- cleanup_env(options.ip, cxml)
- return FAIL
+ raise Exception("Failed to get the VSSD instance for %s" % \
+ default_dom)
- status, inst = get_vssd(options.ip, options.virt, False)
- if status != PASS:
- logger.error("Failed to get the VSSD instance for %s", default_dom)
- cleanup_env(options.ip, cxml)
- return FAIL
+ if inst.AutomaticRecoveryAction != RECOVERY_VAL:
+ logger.error("Exp AutomaticRecoveryAction=%d, got %d",
+ RECOVERY_VAL, inst.AutomaticRecoveryAction)
+ raise Exception("%s not updated properly" % default_dom)
- if inst.AutomaticRecoveryAction != RECOVERY_VAL:
- logger.error("%s not updated properly.", default_dom)
- logger.error("Exp AutomaticRecoveryAction=%d, got %d", RECOVERY_VAL,
- inst.AutomaticRecoveryAction)
- cleanup_env(options.ip, cxml)
- curr_cim_rev, changeset = get_provider_version(options.virt, options.ip)
- if curr_cim_rev <= libvirt_f9_revision and options.virt == "KVM":
- return XFAIL_RC(f9_bug)
+ status = PASS
- if options.virt == "LXC":
- return XFAIL_RC(bug)
- return FAIL
+ except Exception, details:
+ logger.error(details)
+ status = FAIL
cleanup_env(options.ip, cxml)
- return PASS
+ curr_cim_rev, changeset = get_provider_version(options.virt, options.ip)
+ if curr_cim_rev <= libvirt_f9_revision and options.virt == "KVM":
+ return XFAIL_RC(f9_bug)
+
+ if options.virt == "LXC":
+ return XFAIL_RC(bug)
+
+ return status
if __name__ == "__main__":
sys.exit(main())
15 years, 3 months
Test Run Summary (Sep 09 2009): KVM on SUSE Linux Enterprise Server 11 (i586) with sfcb
by Deepti B Kalakeri
=================================================
Test Run Summary (Sep 09 2009): KVM on SUSE Linux Enterprise Server 11 (i586) with sfcb
=================================================
Distro: SUSE Linux Enterprise Server 11 (i586)
Kernel: 2.6.27.19-5-pae
libvirt: 0.4.6
Hypervisor: QEMU 0.9.1
CIMOM: sfcb sfcbd 1.3.2
Libvirt-cim revision: 974
Libvirt-cim changeset: 234141bf7f03
Cimtest revision: 775
Cimtest changeset: 30196cc506c0
=================================================
FAIL : 1
XFAIL : 5
SKIP : 11
PASS : 152
-----------------
Total : 169
=================================================
FAIL Test Summary:
ComputerSystemIndication - 01_created_indication.py: FAIL
=================================================
XFAIL Test Summary:
ComputerSystem - 32_start_reboot.py: XFAIL
ComputerSystem - 33_suspend_reboot.py: XFAIL
VirtualSystemManagementService - 09_procrasd_persist.py: XFAIL
VirtualSystemManagementService - 16_removeresource.py: XFAIL
VirtualSystemManagementService - 22_addmulti_brg_interface.py: XFAIL
=================================================
SKIP Test Summary:
ComputerSystem - 02_nosystems.py: SKIP
ComputerSystemMigrationJobIndication - 01_csmig_ind_for_offline_mig.py: SKIP
HostSystem - 05_hs_gi_errs.py: SKIP
LogicalDisk - 02_nodevs.py: SKIP
VSSD - 02_bootldr.py: SKIP
VirtualSystemMigrationService - 01_migratable_host.py: SKIP
VirtualSystemMigrationService - 02_host_migrate_type.py: SKIP
VirtualSystemMigrationService - 05_migratable_host_errs.py: SKIP
VirtualSystemMigrationService - 06_remote_live_migration.py: SKIP
VirtualSystemMigrationService - 07_remote_offline_migration.py: SKIP
VirtualSystemMigrationService - 08_remote_restart_resume_migration.py: SKIP
=================================================
Full report:
--------------------------------------------------------------------
AllocationCapabilities - 01_enum.py: PASS
--------------------------------------------------------------------
AllocationCapabilities - 02_alloccap_gi_errs.py: PASS
--------------------------------------------------------------------
ComputerSystem - 01_enum.py: PASS
--------------------------------------------------------------------
ComputerSystem - 02_nosystems.py: SKIP
ERROR - System has defined domains; unable to run
--------------------------------------------------------------------
ComputerSystem - 03_defineVS.py: PASS
--------------------------------------------------------------------
ComputerSystem - 04_defineStartVS.py: PASS
--------------------------------------------------------------------
ComputerSystem - 05_activate_defined_start.py: PASS
--------------------------------------------------------------------
ComputerSystem - 06_paused_active_suspend.py: PASS
--------------------------------------------------------------------
ComputerSystem - 22_define_suspend.py: PASS
--------------------------------------------------------------------
ComputerSystem - 23_pause_pause.py: PASS
--------------------------------------------------------------------
ComputerSystem - 27_define_pause_errs.py: PASS
--------------------------------------------------------------------
ComputerSystem - 32_start_reboot.py: XFAIL
ERROR - Got CIM error Unable to reboot domain: this function is not supported by the hypervisor: virDomainReboot with return code 1
ERROR - Exception: Unable reboot dom 'cs_test_domain'
InvokeMethod(RequestStateChange): Unable to reboot domain: this function is not supported by the hypervisor: virDomainReboot
Bug:<00005>
--------------------------------------------------------------------
ComputerSystem - 33_suspend_reboot.py: XFAIL
ERROR - Got CIM error State not supported with return code 7
ERROR - Exception: Unable Suspend dom 'test_domain'
InvokeMethod(RequestStateChange): State not supported
Bug:<00012>
--------------------------------------------------------------------
ComputerSystem - 34_start_disable.py: PASS
--------------------------------------------------------------------
ComputerSystem - 35_start_reset.py: PASS
--------------------------------------------------------------------
ComputerSystem - 40_RSC_start.py: PASS
--------------------------------------------------------------------
ComputerSystem - 41_cs_to_settingdefinestate.py: PASS
--------------------------------------------------------------------
ComputerSystem - 42_cs_gi_errs.py: PASS
--------------------------------------------------------------------
ComputerSystemIndication - 01_created_indication.py: FAIL
ERROR - Waited too long for define indication
ERROR - Waited too long for start indication
ERROR - Waited too long for destroy indication
--------------------------------------------------------------------
ComputerSystemMigrationJobIndication - 01_csmig_ind_for_offline_mig.py: SKIP
--------------------------------------------------------------------
ElementAllocatedFromPool - 01_forward.py: PASS
--------------------------------------------------------------------
ElementAllocatedFromPool - 02_reverse.py: PASS
--------------------------------------------------------------------
ElementAllocatedFromPool - 03_reverse_errs.py: PASS
--------------------------------------------------------------------
ElementAllocatedFromPool - 04_forward_errs.py: PASS
--------------------------------------------------------------------
ElementCapabilities - 01_forward.py: PASS
--------------------------------------------------------------------
ElementCapabilities - 02_reverse.py: PASS
--------------------------------------------------------------------
ElementCapabilities - 03_forward_errs.py: PASS
--------------------------------------------------------------------
ElementCapabilities - 04_reverse_errs.py: PASS
--------------------------------------------------------------------
ElementCapabilities - 05_hostsystem_cap.py: PASS
--------------------------------------------------------------------
ElementConforms - 01_forward.py: PASS
--------------------------------------------------------------------
ElementConforms - 02_reverse.py: PASS
--------------------------------------------------------------------
ElementConforms - 03_ectp_fwd_errs.py: PASS
--------------------------------------------------------------------
ElementConforms - 04_ectp_rev_errs.py: PASS
--------------------------------------------------------------------
ElementSettingData - 01_forward.py: PASS
--------------------------------------------------------------------
ElementSettingData - 03_esd_assoc_with_rasd_errs.py: PASS
--------------------------------------------------------------------
EnabledLogicalElementCapabilities - 01_enum.py: PASS
--------------------------------------------------------------------
EnabledLogicalElementCapabilities - 02_elecap_gi_errs.py: PASS
--------------------------------------------------------------------
HostSystem - 01_enum.py: PASS
--------------------------------------------------------------------
HostSystem - 02_hostsystem_to_rasd.py: PASS
--------------------------------------------------------------------
HostSystem - 03_hs_to_settdefcap.py: PASS
--------------------------------------------------------------------
HostSystem - 04_hs_to_EAPF.py: PASS
--------------------------------------------------------------------
HostSystem - 05_hs_gi_errs.py: SKIP
--------------------------------------------------------------------
HostSystem - 06_hs_to_vsms.py: PASS
--------------------------------------------------------------------
HostedAccessPoint - 01_forward.py: PASS
--------------------------------------------------------------------
HostedAccessPoint - 02_reverse.py: PASS
--------------------------------------------------------------------
HostedDependency - 01_forward.py: PASS
--------------------------------------------------------------------
HostedDependency - 02_reverse.py: PASS
--------------------------------------------------------------------
HostedDependency - 03_enabledstate.py: PASS
--------------------------------------------------------------------
HostedDependency - 04_reverse_errs.py: PASS
--------------------------------------------------------------------
HostedResourcePool - 01_forward.py: PASS
--------------------------------------------------------------------
HostedResourcePool - 02_reverse.py: PASS
--------------------------------------------------------------------
HostedResourcePool - 03_forward_errs.py: PASS
--------------------------------------------------------------------
HostedResourcePool - 04_reverse_errs.py: PASS
--------------------------------------------------------------------
HostedService - 01_forward.py: PASS
--------------------------------------------------------------------
HostedService - 02_reverse.py: PASS
--------------------------------------------------------------------
HostedService - 03_forward_errs.py: PASS
--------------------------------------------------------------------
HostedService - 04_reverse_errs.py: PASS
--------------------------------------------------------------------
KVMRedirectionSAP - 01_enum_KVMredSAP.py: PASS
--------------------------------------------------------------------
LogicalDisk - 01_disk.py: PASS
--------------------------------------------------------------------
LogicalDisk - 02_nodevs.py: SKIP
ERROR - System has defined domains; unable to run
--------------------------------------------------------------------
LogicalDisk - 03_ld_gi_errs.py: PASS
--------------------------------------------------------------------
Memory - 01_memory.py: PASS
--------------------------------------------------------------------
Memory - 02_defgetmem.py: PASS
--------------------------------------------------------------------
Memory - 03_mem_gi_errs.py: PASS
--------------------------------------------------------------------
NetworkPort - 01_netport.py: PASS
--------------------------------------------------------------------
NetworkPort - 02_np_gi_errors.py: PASS
--------------------------------------------------------------------
NetworkPort - 03_user_netport.py: PASS
--------------------------------------------------------------------
Processor - 01_processor.py: PASS
--------------------------------------------------------------------
Processor - 02_definesys_get_procs.py: PASS
--------------------------------------------------------------------
Processor - 03_proc_gi_errs.py: PASS
--------------------------------------------------------------------
Profile - 01_enum.py: PASS
--------------------------------------------------------------------
Profile - 02_profile_to_elec.py: PASS
--------------------------------------------------------------------
Profile - 03_rprofile_gi_errs.py: PASS
--------------------------------------------------------------------
RASD - 01_verify_rasd_fields.py: PASS
--------------------------------------------------------------------
RASD - 02_enum.py: PASS
--------------------------------------------------------------------
RASD - 03_rasd_errs.py: PASS
--------------------------------------------------------------------
RASD - 04_disk_rasd_size.py: PASS
--------------------------------------------------------------------
RASD - 05_disk_rasd_emu_type.py: PASS
--------------------------------------------------------------------
RASD - 06_parent_net_pool.py: PASS
--------------------------------------------------------------------
RASD - 07_parent_disk_pool.py: PASS
--------------------------------------------------------------------
RedirectionService - 01_enum_crs.py: PASS
--------------------------------------------------------------------
RedirectionService - 02_enum_crscap.py: PASS
--------------------------------------------------------------------
RedirectionService - 03_RedirectionSAP_errs.py: PASS
--------------------------------------------------------------------
ReferencedProfile - 01_verify_refprof.py: PASS
--------------------------------------------------------------------
ReferencedProfile - 02_refprofile_errs.py: PASS
--------------------------------------------------------------------
ResourceAllocationFromPool - 01_forward.py: PASS
--------------------------------------------------------------------
ResourceAllocationFromPool - 02_reverse.py: PASS
--------------------------------------------------------------------
ResourceAllocationFromPool - 03_forward_errs.py: PASS
--------------------------------------------------------------------
ResourceAllocationFromPool - 04_reverse_errs.py: PASS
--------------------------------------------------------------------
ResourceAllocationFromPool - 05_RAPF_err.py: PASS
--------------------------------------------------------------------
ResourcePool - 01_enum.py: PASS
--------------------------------------------------------------------
ResourcePool - 02_rp_gi_errors.py: PASS
--------------------------------------------------------------------
ResourcePoolConfigurationCapabilities - 01_enum.py: PASS
--------------------------------------------------------------------
ResourcePoolConfigurationCapabilities - 02_rpcc_gi_errs.py: PASS
--------------------------------------------------------------------
ResourcePoolConfigurationService - 01_enum.py: PASS
--------------------------------------------------------------------
ResourcePoolConfigurationService - 02_rcps_gi_errors.py: PASS
--------------------------------------------------------------------
ResourcePoolConfigurationService - 03_CreateResourcePool.py: PASS
--------------------------------------------------------------------
ResourcePoolConfigurationService - 04_CreateChildResourcePool.py: PASS
--------------------------------------------------------------------
ResourcePoolConfigurationService - 05_AddResourcesToResourcePool.py: PASS
--------------------------------------------------------------------
ResourcePoolConfigurationService - 06_RemoveResourcesFromResourcePool.py: PASS
--------------------------------------------------------------------
ResourcePoolConfigurationService - 07_DeleteResourcePool.py: PASS
--------------------------------------------------------------------
ResourcePoolConfigurationService - 08_CreateDiskResourcePool.py: PASS
--------------------------------------------------------------------
ResourcePoolConfigurationService - 09_DeleteDiskPool.py: PASS
--------------------------------------------------------------------
ResourcePoolConfigurationService - 10_create_storagevolume.py: PASS
--------------------------------------------------------------------
ServiceAccessBySAP - 01_forward.py: PASS
--------------------------------------------------------------------
ServiceAccessBySAP - 02_reverse.py: PASS
--------------------------------------------------------------------
ServiceAffectsElement - 01_forward.py: PASS
--------------------------------------------------------------------
ServiceAffectsElement - 02_reverse.py: PASS
--------------------------------------------------------------------
SettingsDefine - 01_forward.py: PASS
--------------------------------------------------------------------
SettingsDefine - 02_reverse.py: PASS
--------------------------------------------------------------------
SettingsDefine - 03_sds_fwd_errs.py: PASS
--------------------------------------------------------------------
SettingsDefine - 04_sds_rev_errs.py: PASS
--------------------------------------------------------------------
SettingsDefineCapabilities - 01_forward.py: PASS
--------------------------------------------------------------------
SettingsDefineCapabilities - 03_forward_errs.py: PASS
--------------------------------------------------------------------
SettingsDefineCapabilities - 04_forward_vsmsdata.py: PASS
--------------------------------------------------------------------
SettingsDefineCapabilities - 05_reverse_vsmcap.py: PASS
--------------------------------------------------------------------
SystemDevice - 01_forward.py: PASS
--------------------------------------------------------------------
SystemDevice - 02_reverse.py: PASS
--------------------------------------------------------------------
SystemDevice - 03_fwderrs.py: PASS
--------------------------------------------------------------------
VSSD - 01_enum.py: PASS
--------------------------------------------------------------------
VSSD - 02_bootldr.py: SKIP
--------------------------------------------------------------------
VSSD - 03_vssd_gi_errs.py: PASS
--------------------------------------------------------------------
VSSD - 04_vssd_to_rasd.py: PASS
--------------------------------------------------------------------
VSSD - 05_set_uuid.py: PASS
--------------------------------------------------------------------
VSSD - 06_duplicate_uuid.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementCapabilities - 01_enum.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementCapabilities - 02_vsmcap_gi_errs.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 01_definesystem_name.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 02_destroysystem.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 03_definesystem_ess.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 04_definesystem_ers.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 05_destroysystem_neg.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 06_addresource.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 07_addresource_neg.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 08_modifyresource.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 09_procrasd_persist.py: XFAIL
--------------------------------------------------------------------
VirtualSystemManagementService - 10_hv_version.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 11_define_memrasdunits.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 12_referenced_config.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 13_refconfig_additional_devs.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 14_define_sys_disk.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 15_mod_system_settings.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 16_removeresource.py: XFAIL
ERROR - 0 RASD insts for domain/mouse:ps2
No such instance (no device domain/mouse:ps2)
Bug:<00014>
--------------------------------------------------------------------
VirtualSystemManagementService - 17_removeresource_neg.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 18_define_sys_bridge.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 19_definenetwork_ers.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 20_verify_vnc_password.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 21_createVS_verifyMAC.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 22_addmulti_brg_interface.py: XFAIL
ERROR - Error invoking AddRS: add_net_res
ERROR - (1, u'Unable to change (0) device: this function is not supported by the hypervisor: this device type cannot be attached')
ERROR - Failed to destroy Virtual Network 'my_network1'
InvokeMethod(AddResourceSettings): Unable to change (0) device: this function is not supported by the hypervisor: this device type cannot be attached
Bug:<00015>
--------------------------------------------------------------------
VirtualSystemManagementService - 23_verify_duplicate_mac_err.py: PASS
--------------------------------------------------------------------
VirtualSystemMigrationCapabilities - 01_enum.py: PASS
--------------------------------------------------------------------
VirtualSystemMigrationCapabilities - 02_vsmc_gi_errs.py: PASS
--------------------------------------------------------------------
VirtualSystemMigrationService - 01_migratable_host.py: SKIP
--------------------------------------------------------------------
VirtualSystemMigrationService - 02_host_migrate_type.py: SKIP
--------------------------------------------------------------------
VirtualSystemMigrationService - 05_migratable_host_errs.py: SKIP
--------------------------------------------------------------------
VirtualSystemMigrationService - 06_remote_live_migration.py: SKIP
--------------------------------------------------------------------
VirtualSystemMigrationService - 07_remote_offline_migration.py: SKIP
--------------------------------------------------------------------
VirtualSystemMigrationService - 08_remote_restart_resume_migration.py: SKIP
--------------------------------------------------------------------
VirtualSystemMigrationSettingData - 01_enum.py: PASS
--------------------------------------------------------------------
VirtualSystemMigrationSettingData - 02_vsmsd_gi_errs.py: PASS
--------------------------------------------------------------------
VirtualSystemSettingDataComponent - 01_forward.py: PASS
--------------------------------------------------------------------
VirtualSystemSettingDataComponent - 02_reverse.py: PASS
--------------------------------------------------------------------
VirtualSystemSettingDataComponent - 03_vssdc_fwd_errs.py: PASS
--------------------------------------------------------------------
VirtualSystemSettingDataComponent - 04_vssdc_rev_errs.py: PASS
--------------------------------------------------------------------
VirtualSystemSnapshotService - 01_enum.py: PASS
--------------------------------------------------------------------
VirtualSystemSnapshotService - 02_vs_sservice_gi_errs.py: PASS
--------------------------------------------------------------------
VirtualSystemSnapshotService - 03_create_snapshot.py: PASS
--------------------------------------------------------------------
VirtualSystemSnapshotServiceCapabilities - 01_enum.py: PASS
--------------------------------------------------------------------
VirtualSystemSnapshotServiceCapabilities - 02_vs_sservicecap_gi_errs.py: PASS
--------------------------------------------------------------------
--
Thanks and Regards,
Deepti B. Kalakeri
IBM Linux Technology Center
deeptik(a)linux.vnet.ibm.com
15 years, 3 months
Test Run Summary (Sep 04 2009): Xen on Red Hat Enterprise Linux Server release 5.3 (Tikanga) with Pegasus
by Kaitlin Rupert
=================================================
Test Run Summary (Sep 04 2009): Xen on Red Hat Enterprise Linux Server release 5.3 (Tikanga) with Pegasus
=================================================
Distro: Red Hat Enterprise Linux Server release 5.3 (Tikanga)
Kernel: 2.6.18-128.el5xen
libvirt: 0.3.3
Hypervisor: Xen 3.1.0
CIMOM: Pegasus 2.7.1
Libvirt-cim revision: 975
Libvirt-cim changeset: 169f5703b2e9+
Cimtest revision:
Cimtest changeset:
=================================================
FAIL : 16
XFAIL : 2
SKIP : 4
PASS : 147
-----------------
Total : 169
=================================================
FAIL Test Summary:
ElementAllocatedFromPool - 01_forward.py: FAIL
ResourceAllocationFromPool - 01_forward.py: FAIL
ResourceAllocationFromPool - 02_reverse.py: FAIL
ResourcePoolConfigurationService - 07_DeleteResourcePool.py: FAIL
ResourcePoolConfigurationService - 09_DeleteDiskPool.py: FAIL
ResourcePoolConfigurationService - 10_create_storagevolume.py: FAIL
VirtualSystemManagementService - 15_mod_system_settings.py: FAIL
VirtualSystemMigrationService - 01_migratable_host.py: FAIL
VirtualSystemMigrationService - 02_host_migrate_type.py: FAIL
VirtualSystemMigrationService - 06_remote_live_migration.py: FAIL
VirtualSystemMigrationService - 07_remote_offline_migration.py: FAIL
VirtualSystemMigrationService - 08_remote_restart_resume_migration.py: FAIL
VirtualSystemSettingDataComponent - 02_reverse.py: FAIL
VirtualSystemSettingDataComponent - 03_vssdc_fwd_errs.py: FAIL
VirtualSystemSettingDataComponent - 04_vssdc_rev_errs.py: FAIL
VirtualSystemSnapshotService - 03_create_snapshot.py: FAIL
=================================================
XFAIL Test Summary:
ComputerSystem - 33_suspend_reboot.py: XFAIL
VirtualSystemManagementService - 16_removeresource.py: XFAIL
=================================================
SKIP Test Summary:
ComputerSystem - 02_nosystems.py: SKIP
LogicalDisk - 02_nodevs.py: SKIP
NetworkPort - 03_user_netport.py: SKIP
ResourcePoolConfigurationService - 08_CreateDiskResourcePool.py: SKIP
=================================================
Full report:
--------------------------------------------------------------------
AllocationCapabilities - 01_enum.py: PASS
--------------------------------------------------------------------
AllocationCapabilities - 02_alloccap_gi_errs.py: PASS
--------------------------------------------------------------------
ComputerSystem - 01_enum.py: PASS
--------------------------------------------------------------------
ComputerSystem - 02_nosystems.py: SKIP
--------------------------------------------------------------------
ComputerSystem - 03_defineVS.py: PASS
--------------------------------------------------------------------
ComputerSystem - 04_defineStartVS.py: PASS
--------------------------------------------------------------------
ComputerSystem - 05_activate_defined_start.py: PASS
--------------------------------------------------------------------
ComputerSystem - 06_paused_active_suspend.py: PASS
--------------------------------------------------------------------
ComputerSystem - 22_define_suspend.py: PASS
--------------------------------------------------------------------
ComputerSystem - 23_pause_pause.py: PASS
--------------------------------------------------------------------
ComputerSystem - 27_define_pause_errs.py: PASS
--------------------------------------------------------------------
ComputerSystem - 32_start_reboot.py: PASS
--------------------------------------------------------------------
ComputerSystem - 33_suspend_reboot.py: XFAIL
ERROR - Got CIM error CIM_ERR_NOT_SUPPORTED: State not supported with return code 7
ERROR - Exception: Unable Suspend dom 'test_domain'
InvokeMethod(RequestStateChange): CIM_ERR_NOT_SUPPORTED: State not supported
Bug:<00012>
--------------------------------------------------------------------
ComputerSystem - 34_start_disable.py: PASS
--------------------------------------------------------------------
ComputerSystem - 35_start_reset.py: PASS
--------------------------------------------------------------------
ComputerSystem - 40_RSC_start.py: PASS
--------------------------------------------------------------------
ComputerSystem - 41_cs_to_settingdefinestate.py: PASS
--------------------------------------------------------------------
ComputerSystem - 42_cs_gi_errs.py: PASS
--------------------------------------------------------------------
ComputerSystemIndication - 01_created_indication.py: PASS
--------------------------------------------------------------------
ComputerSystemMigrationJobIndication - 01_csmig_ind_for_offline_mig.py: PASS
--------------------------------------------------------------------
ElementAllocatedFromPool - 01_forward.py: FAIL
ERROR - Xen_ElementAllocatedFromPool returned 0 ResourcePool objects for domain 'hd_domain'
--------------------------------------------------------------------
ElementAllocatedFromPool - 02_reverse.py: PASS
--------------------------------------------------------------------
ElementAllocatedFromPool - 03_reverse_errs.py: PASS
--------------------------------------------------------------------
ElementAllocatedFromPool - 04_forward_errs.py: PASS
--------------------------------------------------------------------
ElementCapabilities - 01_forward.py: PASS
--------------------------------------------------------------------
ElementCapabilities - 02_reverse.py: PASS
--------------------------------------------------------------------
ElementCapabilities - 03_forward_errs.py: PASS
--------------------------------------------------------------------
ElementCapabilities - 04_reverse_errs.py: PASS
--------------------------------------------------------------------
ElementCapabilities - 05_hostsystem_cap.py: PASS
--------------------------------------------------------------------
ElementConforms - 01_forward.py: PASS
--------------------------------------------------------------------
ElementConforms - 02_reverse.py: PASS
--------------------------------------------------------------------
ElementConforms - 03_ectp_fwd_errs.py: PASS
--------------------------------------------------------------------
ElementConforms - 04_ectp_rev_errs.py: PASS
--------------------------------------------------------------------
ElementSettingData - 01_forward.py: PASS
--------------------------------------------------------------------
ElementSettingData - 03_esd_assoc_with_rasd_errs.py: PASS
--------------------------------------------------------------------
EnabledLogicalElementCapabilities - 01_enum.py: PASS
--------------------------------------------------------------------
EnabledLogicalElementCapabilities - 02_elecap_gi_errs.py: PASS
--------------------------------------------------------------------
HostSystem - 01_enum.py: PASS
--------------------------------------------------------------------
HostSystem - 02_hostsystem_to_rasd.py: PASS
--------------------------------------------------------------------
HostSystem - 03_hs_to_settdefcap.py: PASS
--------------------------------------------------------------------
HostSystem - 04_hs_to_EAPF.py: PASS
--------------------------------------------------------------------
HostSystem - 05_hs_gi_errs.py: PASS
--------------------------------------------------------------------
HostSystem - 06_hs_to_vsms.py: PASS
--------------------------------------------------------------------
HostedAccessPoint - 01_forward.py: PASS
--------------------------------------------------------------------
HostedAccessPoint - 02_reverse.py: PASS
--------------------------------------------------------------------
HostedDependency - 01_forward.py: PASS
--------------------------------------------------------------------
HostedDependency - 02_reverse.py: PASS
--------------------------------------------------------------------
HostedDependency - 03_enabledstate.py: PASS
--------------------------------------------------------------------
HostedDependency - 04_reverse_errs.py: PASS
--------------------------------------------------------------------
HostedResourcePool - 01_forward.py: PASS
--------------------------------------------------------------------
HostedResourcePool - 02_reverse.py: PASS
--------------------------------------------------------------------
HostedResourcePool - 03_forward_errs.py: PASS
--------------------------------------------------------------------
HostedResourcePool - 04_reverse_errs.py: PASS
--------------------------------------------------------------------
HostedService - 01_forward.py: PASS
--------------------------------------------------------------------
HostedService - 02_reverse.py: PASS
--------------------------------------------------------------------
HostedService - 03_forward_errs.py: PASS
--------------------------------------------------------------------
HostedService - 04_reverse_errs.py: PASS
--------------------------------------------------------------------
KVMRedirectionSAP - 01_enum_KVMredSAP.py: PASS
--------------------------------------------------------------------
LogicalDisk - 01_disk.py: PASS
--------------------------------------------------------------------
LogicalDisk - 02_nodevs.py: SKIP
ERROR - System has defined domains; unable to run
--------------------------------------------------------------------
LogicalDisk - 03_ld_gi_errs.py: PASS
--------------------------------------------------------------------
Memory - 01_memory.py: PASS
--------------------------------------------------------------------
Memory - 02_defgetmem.py: PASS
--------------------------------------------------------------------
Memory - 03_mem_gi_errs.py: PASS
--------------------------------------------------------------------
NetworkPort - 01_netport.py: PASS
--------------------------------------------------------------------
NetworkPort - 02_np_gi_errors.py: PASS
--------------------------------------------------------------------
NetworkPort - 03_user_netport.py: SKIP
--------------------------------------------------------------------
Processor - 01_processor.py: PASS
--------------------------------------------------------------------
Processor - 02_definesys_get_procs.py: PASS
--------------------------------------------------------------------
Processor - 03_proc_gi_errs.py: PASS
--------------------------------------------------------------------
Profile - 01_enum.py: PASS
--------------------------------------------------------------------
Profile - 02_profile_to_elec.py: PASS
--------------------------------------------------------------------
Profile - 03_rprofile_gi_errs.py: PASS
--------------------------------------------------------------------
RASD - 01_verify_rasd_fields.py: PASS
--------------------------------------------------------------------
RASD - 02_enum.py: PASS
--------------------------------------------------------------------
RASD - 03_rasd_errs.py: PASS
--------------------------------------------------------------------
RASD - 04_disk_rasd_size.py: PASS
--------------------------------------------------------------------
RASD - 05_disk_rasd_emu_type.py: PASS
--------------------------------------------------------------------
RASD - 06_parent_net_pool.py: PASS
--------------------------------------------------------------------
RASD - 07_parent_disk_pool.py: PASS
--------------------------------------------------------------------
RedirectionService - 01_enum_crs.py: PASS
--------------------------------------------------------------------
RedirectionService - 02_enum_crscap.py: PASS
--------------------------------------------------------------------
RedirectionService - 03_RedirectionSAP_errs.py: PASS
--------------------------------------------------------------------
ReferencedProfile - 01_verify_refprof.py: PASS
--------------------------------------------------------------------
ReferencedProfile - 02_refprofile_errs.py: PASS
--------------------------------------------------------------------
ResourceAllocationFromPool - 01_forward.py: FAIL
ERROR - No RASD associated with NetworkPool/cimtest-networkpool
--------------------------------------------------------------------
ResourceAllocationFromPool - 02_reverse.py: FAIL
ERROR - No associated pool with RAFP_dom/00:16:3e:bd:06:6a
CIM_ERR_FAILED: Unable to determine pool of `RAFP_dom/00:16:3e:bd:06:6a'
--------------------------------------------------------------------
ResourceAllocationFromPool - 03_forward_errs.py: PASS
--------------------------------------------------------------------
ResourceAllocationFromPool - 04_reverse_errs.py: PASS
--------------------------------------------------------------------
ResourceAllocationFromPool - 05_RAPF_err.py: PASS
--------------------------------------------------------------------
ResourcePool - 01_enum.py: PASS
--------------------------------------------------------------------
ResourcePool - 02_rp_gi_errors.py: PASS
--------------------------------------------------------------------
ResourcePoolConfigurationCapabilities - 01_enum.py: PASS
--------------------------------------------------------------------
ResourcePoolConfigurationCapabilities - 02_rpcc_gi_errs.py: PASS
--------------------------------------------------------------------
ResourcePoolConfigurationService - 01_enum.py: PASS
--------------------------------------------------------------------
ResourcePoolConfigurationService - 02_rcps_gi_errors.py: PASS
--------------------------------------------------------------------
ResourcePoolConfigurationService - 03_CreateResourcePool.py: PASS
--------------------------------------------------------------------
ResourcePoolConfigurationService - 04_CreateChildResourcePool.py: PASS
--------------------------------------------------------------------
ResourcePoolConfigurationService - 05_AddResourcesToResourcePool.py: PASS
--------------------------------------------------------------------
ResourcePoolConfigurationService - 06_RemoveResourcesFromResourcePool.py: PASS
--------------------------------------------------------------------
ResourcePoolConfigurationService - 07_DeleteResourcePool.py: FAIL
ERROR - Exception in create_pool()
ERROR - Exception details: (1, u'CIM_ERR_FAILED: Pool with that name already exists')
ERROR - Error in networkpool creation
InvokeMethod(CreateChildResourcePool): CIM_ERR_FAILED: Pool with that name already exists
--------------------------------------------------------------------
ResourcePoolConfigurationService - 08_CreateDiskResourcePool.py: SKIP
--------------------------------------------------------------------
ResourcePoolConfigurationService - 09_DeleteDiskPool.py: FAIL
ERROR - Exception in create_pool()
ERROR - Exception details: (1, u'CIM_ERR_FAILED: Settings Error: Storage pool creation not supported in this version of libvirt')
ERROR - Failed to create diskpool 'dp_pool'
InvokeMethod(CreateChildResourcePool): CIM_ERR_FAILED: Settings Error: Storage pool creation not supported in this version of libvirt
--------------------------------------------------------------------
ResourcePoolConfigurationService - 10_create_storagevolume.py: FAIL
ERROR - Exception details: (1, u'CIM_ERR_FAILED: Unable to get attributes for resource: This function does not support this resource type')
InvokeMethod(CreateResourceInPool): CIM_ERR_FAILED: Unable to get attributes for resource: This function does not support this resource type
--------------------------------------------------------------------
ServiceAccessBySAP - 01_forward.py: PASS
--------------------------------------------------------------------
ServiceAccessBySAP - 02_reverse.py: PASS
--------------------------------------------------------------------
ServiceAffectsElement - 01_forward.py: PASS
--------------------------------------------------------------------
ServiceAffectsElement - 02_reverse.py: PASS
--------------------------------------------------------------------
SettingsDefine - 01_forward.py: PASS
--------------------------------------------------------------------
SettingsDefine - 02_reverse.py: PASS
--------------------------------------------------------------------
SettingsDefine - 03_sds_fwd_errs.py: PASS
--------------------------------------------------------------------
SettingsDefine - 04_sds_rev_errs.py: PASS
--------------------------------------------------------------------
SettingsDefineCapabilities - 01_forward.py: PASS
--------------------------------------------------------------------
SettingsDefineCapabilities - 03_forward_errs.py: PASS
--------------------------------------------------------------------
SettingsDefineCapabilities - 04_forward_vsmsdata.py: PASS
--------------------------------------------------------------------
SettingsDefineCapabilities - 05_reverse_vsmcap.py: PASS
--------------------------------------------------------------------
SystemDevice - 01_forward.py: PASS
--------------------------------------------------------------------
SystemDevice - 02_reverse.py: PASS
--------------------------------------------------------------------
SystemDevice - 03_fwderrs.py: PASS
--------------------------------------------------------------------
VSSD - 01_enum.py: PASS
--------------------------------------------------------------------
VSSD - 02_bootldr.py: PASS
--------------------------------------------------------------------
VSSD - 03_vssd_gi_errs.py: PASS
--------------------------------------------------------------------
VSSD - 04_vssd_to_rasd.py: PASS
--------------------------------------------------------------------
VSSD - 05_set_uuid.py: PASS
--------------------------------------------------------------------
VSSD - 06_duplicate_uuid.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementCapabilities - 01_enum.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementCapabilities - 02_vsmcap_gi_errs.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 01_definesystem_name.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 02_destroysystem.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 03_definesystem_ess.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 04_definesystem_ers.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 05_destroysystem_neg.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 06_addresource.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 07_addresource_neg.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 08_modifyresource.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 09_procrasd_persist.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 10_hv_version.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 11_define_memrasdunits.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 12_referenced_config.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 13_refconfig_additional_devs.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 14_define_sys_disk.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 15_mod_system_settings.py: FAIL
ERROR - CS instance not returned for rstest_domain.
ERROR - Failed to destroy rstest_domain
ERROR - Got CIM error CIM_ERR_NOT_FOUND: Referenced domain `rstest_domain' does not exist: Domain not found: xenUnifiedDomainLookupByName with return code 6
CIM_ERR_NOT_FOUND: Referenced domain `rstest_domain' does not exist: Domain not found: xenUnifiedDomainLookupByName
CIM_ERR_NOT_FOUND: Referenced domain `rstest_domain' does not exist: Domain not found: xenUnifiedDomainLookupByName
CIM_ERR_NOT_FOUND: Referenced domain `rstest_domain' does not exist: Domain not found: xenUnifiedDomainLookupByName
CIM_ERR_NOT_FOUND: Referenced domain `rstest_domain' does not exist: Domain not found: xenUnifiedDomainLookupByName
CIM_ERR_NOT_FOUND: Referenced domain `rstest_domain' does not exist: Domain not found: xenUnifiedDomainLookupByName
CIM_ERR_NOT_FOUND: Referenced domain `rstest_domain' does not exist: Domain not found: xenUnifiedDomainLookupByName
CIM_ERR_NOT_FOUND: Referenced domain `rstest_domain' does not exist: Domain not found: xenUnifiedDomainLookupByName
CIM_ERR_NOT_FOUND: Referenced domain `rstest_domain' does not exist: Domain not found: xenUnifiedDomainLookupByName
CIM_ERR_NOT_FOUND: Referenced domain `rstest_domain' does not exist: Domain not found: xenUnifiedDomainLookupByName
CIM_ERR_NOT_FOUND: Referenced domain `rstest_domain' does not exist: Domain not found: xenUnifiedDomainLookupByName
CIM_ERR_NOT_FOUND: Referenced domain `rstest_domain' does not exist: Domain not found: xenUnifiedDomainLookupByName
CIM_ERR_NOT_FOUND: Referenced domain `rstest_domain' does not exist: Domain not found: xenUnifiedDomainLookupByName
CIM_ERR_NOT_FOUND: Referenced domain `rstest_domain' does not exist: Domain not found: xenUnifiedDomainLookupByName
CIM_ERR_NOT_FOUND: Referenced domain `rstest_domain' does not exist: Domain not found: xenUnifiedDomainLookupByName
CIM_ERR_NOT_FOUND: Referenced domain `rstest_domain' does not exist: Domain not found: xenUnifiedDomainLookupByName
CIM_ERR_NOT_FOUND: Referenced domain `rstest_domain' does not exist: Domain not found: xenUnifiedDomainLookupByName
CIM_ERR_NOT_FOUND: Referenced domain `rstest_domain' does not exist: Domain not found: xenUnifiedDomainLookupByName
CIM_ERR_NOT_FOUND: Referenced domain `rstest_domain' does not exist: Domain not found: xenUnifiedDomainLookupByName
CIM_ERR_NOT_FOUND: Referenced domain `rstest_domain' does not exist: Domain not found: xenUnifiedDomainLookupByName
CIM_ERR_NOT_FOUND: Referenced domain `rstest_domain' does not exist: Domain not found: xenUnifiedDomainLookupByName
CIM_ERR_NOT_FOUND: Referenced domain `rstest_domain' does not exist: Domain not found: xenUnifiedDomainLookupByName
CIM_ERR_NOT_FOUND: Referenced domain `rstest_domain' does not exist: Domain not found: xenUnifiedDomainLookupByName
CIM_ERR_NOT_FOUND: Referenced domain `rstest_domain' does not exist: Domain not found: xenUnifiedDomainLookupByName
CIM_ERR_NOT_FOUND: Referenced domain `rstest_domain' does not exist: Domain not found: xenUnifiedDomainLookupByName
CIM_ERR_NOT_FOUND: Referenced domain `rstest_domain' does not exist: Domain not found: xenUnifiedDomainLookupByName
CIM_ERR_NOT_FOUND: Referenced domain `rstest_domain' does not exist: Domain not found: xenUnifiedDomainLookupByName
CIM_ERR_NOT_FOUND: Referenced domain `rstest_domain' does not exist: Domain not found: xenUnifiedDomainLookupByName
CIM_ERR_NOT_FOUND: Referenced domain `rstest_domain' does not exist: Domain not found: xenUnifiedDomainLookupByName
CIM_ERR_NOT_FOUND: Referenced domain `rstest_domain' does not exist: Domain not found: xenUnifiedDomainLookupByName
CIM_ERR_NOT_FOUND: Referenced domain `rstest_domain' does not exist: Domain not found: xenUnifiedDomainLookupByName
InvokeMethod(DestroySystem): CIM_ERR_NOT_FOUND: Referenced domain `rstest_domain' does not exist: Domain not found: xenUnifiedDomainLookupByName
--------------------------------------------------------------------
VirtualSystemManagementService - 16_removeresource.py: XFAIL
ERROR - 0 RASD insts for domain/mouse:xen
CIM_ERR_NOT_FOUND: No such instance (no device domain/mouse:xen)
Bug:<00014>
--------------------------------------------------------------------
VirtualSystemManagementService - 17_removeresource_neg.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 18_define_sys_bridge.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 19_definenetwork_ers.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 20_verify_vnc_password.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 21_createVS_verifyMAC.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 22_addmulti_brg_interface.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 23_verify_duplicate_mac_err.py: PASS
--------------------------------------------------------------------
VirtualSystemMigrationCapabilities - 01_enum.py: PASS
--------------------------------------------------------------------
VirtualSystemMigrationCapabilities - 02_vsmc_gi_errs.py: PASS
--------------------------------------------------------------------
VirtualSystemMigrationService - 01_migratable_host.py: FAIL
ERROR - Error create domain dom_migrate
--------------------------------------------------------------------
VirtualSystemMigrationService - 02_host_migrate_type.py: FAIL
ERROR - Migration verification for 'dom_migrate' failed
--------------------------------------------------------------------
VirtualSystemMigrationService - 05_migratable_host_errs.py: PASS
--------------------------------------------------------------------
VirtualSystemMigrationService - 06_remote_live_migration.py: FAIL
ERROR - Migration timed out....
ERROR - Increase timeout > 40 and try again..
ERROR - Got CIM error CIM_ERR_NOT_FOUND: Referenced domain `VM_frm_elm3b43.beaverton.ibm.com' does not exist: invalid argument in __virGetDomain with return code 6
InvokeMethod(DestroySystem): CIM_ERR_NOT_FOUND: Referenced domain `VM_frm_elm3b43.beaverton.ibm.com' does not exist: invalid argument in __virGetDomain
--------------------------------------------------------------------
VirtualSystemMigrationService - 07_remote_offline_migration.py: FAIL
ERROR - Got CIM error CIM_ERR_FAILED: Failed to lookup resulting system with return code 1
ERROR - Error define domain VM_frm_elm3b43.beaverton.ibm.com
ERROR - Error setting up the guest
InvokeMethod(DefineSystem): CIM_ERR_FAILED: Failed to lookup resulting system
--------------------------------------------------------------------
VirtualSystemMigrationService - 08_remote_restart_resume_migration.py: FAIL
ERROR - Got CIM error CIM_ERR_FAILED: Failed to lookup resulting system with return code 1
ERROR - Error define domain VM_frm_elm3b43.beaverton.ibm.com
ERROR - Error setting up the guest
InvokeMethod(DefineSystem): CIM_ERR_FAILED: Failed to lookup resulting system
--------------------------------------------------------------------
VirtualSystemMigrationSettingData - 01_enum.py: PASS
--------------------------------------------------------------------
VirtualSystemMigrationSettingData - 02_vsmsd_gi_errs.py: PASS
--------------------------------------------------------------------
VirtualSystemSettingDataComponent - 01_forward.py: PASS
--------------------------------------------------------------------
VirtualSystemSettingDataComponent - 02_reverse.py: FAIL
ERROR - Got CIM error CIM_ERR_FAILED: ResourceSettings Error: Conflicting MAC Addresses with return code 1
ERROR - Failed to define the dom: VSSDC_dom
InvokeMethod(DefineSystem): CIM_ERR_FAILED: ResourceSettings Error: Conflicting MAC Addresses
--------------------------------------------------------------------
VirtualSystemSettingDataComponent - 03_vssdc_fwd_errs.py: FAIL
ERROR - Got CIM error CIM_ERR_FAILED: ResourceSettings Error: Conflicting MAC Addresses with return code 1
ERROR - Unable to define domain domu1
InvokeMethod(DefineSystem): CIM_ERR_FAILED: ResourceSettings Error: Conflicting MAC Addresses
--------------------------------------------------------------------
VirtualSystemSettingDataComponent - 04_vssdc_rev_errs.py: FAIL
ERROR - Got CIM error CIM_ERR_FAILED: Unable to start domain: POST operation failed: (xend.err 'Device 51712 (vbd) could not be connected.\nFile /tmp/default-xen-dimage is loopback-mounted through /dev/loop5,\nwhich is mounted in a guest domain,\nand so cannot be mounted now.') with return code 1
ERROR - Unable to start domain domu1
InvokeMethod(RequestStateChange): CIM_ERR_FAILED: Unable to start domain: POST operation failed: (xend.err 'Device 51712 (vbd) could not be connected.\nFile /tmp/default-xen-dimage is loopback-mounted through /dev/loop5,\nwhich is mounted in a guest domain,\nand so cannot be mounted now.')
--------------------------------------------------------------------
VirtualSystemSnapshotService - 01_enum.py: PASS
--------------------------------------------------------------------
VirtualSystemSnapshotService - 02_vs_sservice_gi_errs.py: PASS
--------------------------------------------------------------------
VirtualSystemSnapshotService - 03_create_snapshot.py: FAIL
ERROR - Got CIM error CIM_ERR_FAILED: Unable to start domain: POST operation failed: (xend.err 'Device 51712 (vbd) could not be connected.\nFile /tmp/default-xen-dimage is loopback-mounted through /dev/loop5,\nwhich is mounted in a guest domain,\nand so cannot be mounted now.') with return code 1
ERROR - Exception: Failed to start the defined domain: snapshot_vm
ERROR - Failed to remove snapshot file for snapshot_vm
InvokeMethod(RequestStateChange): CIM_ERR_FAILED: Unable to start domain: POST operation failed: (xend.err 'Device 51712 (vbd) could not be connected.\nFile /tmp/default-xen-dimage is loopback-mounted through /dev/loop5,\nwhich is mounted in a guest domain,\nand so cannot be mounted now.')
--------------------------------------------------------------------
VirtualSystemSnapshotServiceCapabilities - 01_enum.py: PASS
--------------------------------------------------------------------
VirtualSystemSnapshotServiceCapabilities - 02_vs_sservicecap_gi_errs.py: PASS
--------------------------------------------------------------------
15 years, 3 months
[PATCH] Add timestamps to main.py to calculate run time of tests
by Kaitlin Rupert
# HG changeset patch
# User Kaitlin Rupert <karupert(a)us.ibm.com>
# Date 1252016104 25200
# Node ID fbedb0f125546bf16bc7a4b915a25e4042be0ac7
# Parent db3af9cb2c9affb0a32a8ea3a2c23648c5efe91e
Add timestamps to main.py to calculate run time of tests
These changes allow the user to specify the --print-exec-time flag, which will
print the execution time of each test. If this flag isn't specified, the
total run time of the test is still printed.
Signed-off-by: Kaitlin Rupert <karupert(a)us.ibm.com>
diff -r db3af9cb2c9a -r fbedb0f12554 suites/libvirt-cim/main.py
--- a/suites/libvirt-cim/main.py Thu Sep 03 13:03:52 2009 -0700
+++ b/suites/libvirt-cim/main.py Thu Sep 03 15:15:04 2009 -0700
@@ -22,6 +22,7 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
+from time import time
from optparse import OptionParser
import os
import sys
@@ -64,6 +65,9 @@
help="Duplicate the output to stderr")
parser.add_option("--report", dest="report",
help="Send report using mail info: --report=<recipient addr>")
+parser.add_option("--print-exec-time", action="store_true",
+ dest="print_exec_time",
+ help="Print execution time of each test")
TEST_SUITE = 'cimtest'
CIMTEST_RCFILE = '%s/.cimtestrc' % os.environ['HOME']
@@ -146,6 +150,27 @@
return PASS
+def print_exec_time(testsuite, exec_time):
+
+ #Convert run time from seconds to hours
+ tmp = exec_time / (60 * 60)
+ h = int(tmp)
+
+ #Subtract out hours and convert remainder to minutes
+ tmp = (tmp - h) * 60
+ m = int(tmp)
+
+ #Subtract out minutes and convert remainder to seconds
+ tmp = (tmp - m) * 60
+ s = int(tmp)
+
+ #Subtract out seconds and convert remainder to milliseconds
+ tmp = (tmp - s) * 1000
+ msec = int(tmp)
+
+ testsuite.debug(" Execution time: %sh %smin %ssec %smsec" %
+ (h, m, s, msec))
+
def main():
(options, args) = parser.parse_args()
to_addr = None
@@ -213,6 +238,8 @@
print "\nTesting " + options.virt + " hypervisor"
+ test_run_time_total = 0
+
for test in test_list:
testsuite.debug(div)
t_path = os.path.join(TEST_SUITE, test['group'])
@@ -222,13 +249,25 @@
options.virt, dbg,
options.t_url)
cmd = cdto + ' && ' + ' ' + run
+ start_time = time()
status, output = commands.getstatusoutput(cmd)
+ end_time = time()
os_status = os.WEXITSTATUS(status)
testsuite.print_results(test['group'], test['test'], os_status, output)
+ exec_time = end_time - start_time
+ test_run_time_total = test_run_time_total + exec_time
+
+ if options.print_exec_time:
+ print_exec_time(testsuite, exec_time)
+
testsuite.debug("%s\n" % div)
+ testsuite.debug("Total test execution: ")
+ print_exec_time(testsuite, test_run_time_total)
+ testsuite.debug("\n")
+
testsuite.finish()
status = cleanup_env(options.ip, options.virt)
15 years, 3 months