[PATCH] (#2) Add ConcreteComponent with NetworkPool support
by Dan Smith
# HG changeset patch
# User Dan Smith <danms(a)us.ibm.com>
# Date 1219427442 25200
# Node ID 794e7f3b23d0eef1231cab33fc8df85f91d284b1
# Parent 90ac6766de08cb6f0beca7f7c4cba35331ac83a5
(#2) Add ConcreteComponent with NetworkPool support
This adds the ConcreteComponent association, and hooks it up to NetworkPool
for now. If you have sblim-cmpi-network on your system, this references
the Linux_EthernetPort instance exposed by SBLIM for the bridge device
associated with the network pool.
Note that port_to_netpool() is untested and won't get called by the CIMOM
because we're not registering this association in root/cimv2. I don't
think it makes much sense for us to do that to support this backwards,
so I'm content to leave this as kinda broken until someone comes up with a
better idea, or complains.
Changes:
- Match the hypervisor prefix to avoid duplicate results
- Rename GroupComponent and PartComponent to be more appropriate
Signed-off-by: Dan Smith <danms(a)us.ibm.com>
diff -r 90ac6766de08 -r 794e7f3b23d0 Makefile.am
--- a/Makefile.am Wed Aug 20 15:33:36 2008 -0700
+++ b/Makefile.am Fri Aug 22 10:50:42 2008 -0700
@@ -41,7 +41,8 @@
schema/VSMigrationService.mof \
schema/VSMigrationSettingData.mof \
schema/VirtualSystemSnapshotService.mof \
- schema/VirtualSystemSnapshotServiceCapabilities.mof
+ schema/VirtualSystemSnapshotServiceCapabilities.mof \
+ schema/ConcreteComponent.mof
INTEROP_MOFS = \
schema/ComputerSystem.mof \
@@ -88,7 +89,8 @@
schema/ElementConformsToProfile.registration \
schema/VSMigrationSettingData.registration \
schema/VirtualSystemSnapshotService.registration \
- schema/VirtualSystemSnapshotServiceCapabilities.registration
+ schema/VirtualSystemSnapshotServiceCapabilities.registration \
+ schema/ConcreteComponent.registration
INTEROP_REGS = \
schema/RegisteredProfile.registration \
diff -r 90ac6766de08 -r 794e7f3b23d0 schema/ConcreteComponent.mof
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/schema/ConcreteComponent.mof Fri Aug 22 10:50:42 2008 -0700
@@ -0,0 +1,5 @@
+// Copyright IBM Corp. 2008
+
+class Xen_ConcreteComponent : CIM_ConcreteComponent { };
+class KVM_ConcreteComponent : CIM_ConcreteComponent { };
+class LXC_ConcreteComponent : CIM_ConcreteComponent { };
diff -r 90ac6766de08 -r 794e7f3b23d0 schema/ConcreteComponent.registration
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/schema/ConcreteComponent.registration Fri Aug 22 10:50:42 2008 -0700
@@ -0,0 +1,5 @@
+# Copyright IBM Corp. 2008
+# Classname Namespace ProviderName ProviderModule ProviderTypes
+Xen_ConcreteComponent root/virt Virt_ConcreteComponent Virt_ConcreteComponent association
+KVM_ConcreteComponent root/virt Virt_ConcreteComponent Virt_ConcreteComponent association
+KVM_ConcreteComponent root/virt Virt_ConcreteComponent Virt_ConcreteComponent association
diff -r 90ac6766de08 -r 794e7f3b23d0 src/Makefile.am
--- a/src/Makefile.am Wed Aug 20 15:33:36 2008 -0700
+++ b/src/Makefile.am Fri Aug 22 10:50:42 2008 -0700
@@ -64,7 +64,8 @@
libVirt_ResourceAllocationFromPool.la \
libVirt_ElementAllocatedFromPool.la \
libVirt_HostedService.la \
- libVirt_ElementSettingData.la
+ libVirt_ElementSettingData.la \
+ libVirt_ConcreteComponent.la
libVirt_ComputerSystem_la_SOURCES = Virt_ComputerSystem.c
libVirt_ComputerSystem_la_DEPENDENCIES = libVirt_VirtualSystemSnapshotService.la
@@ -186,3 +187,7 @@
libVirt_VirtualSystemSnapshotServiceCapabilities_la_DEPENDENCIES =
libVirt_VirtualSystemSnapshotServiceCapabilities_la_SOURCES = Virt_VirtualSystemSnapshotServiceCapabilities.c
libVirt_VirtualSystemSnapshotServiceCapabilities_la_LIBADD =
+
+libVirt_ConcreteComponent_la_DEPENDENCIES = libVirt_HostSystem.la libVirt_DevicePool.la
+libVirt_ConcreteComponent_la_SOURCES = Virt_ConcreteComponent.c
+libVirt_ConcreteComponent_la_LIBADD = -lVirt_HostSystem -lVirt_DevicePool
diff -r 90ac6766de08 -r 794e7f3b23d0 src/Virt_ConcreteComponent.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/Virt_ConcreteComponent.c Fri Aug 22 10:50:42 2008 -0700
@@ -0,0 +1,246 @@
+/*
+ * Copyright IBM Corp. 2007
+ *
+ * Authors:
+ * Dan Smith <danms(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 <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <stdbool.h>
+
+#include <libvirt/libvirt.h>
+
+#include "cmpidt.h"
+#include "cmpift.h"
+#include "cmpimacs.h"
+
+#include <libcmpiutil/libcmpiutil.h>
+#include <libcmpiutil/std_association.h>
+#include "misc_util.h"
+
+#include "Virt_HostSystem.h"
+#include "Virt_DevicePool.h"
+
+const static CMPIBroker *_BROKER;
+
+static char *bridge_from_netpool(virConnectPtr conn,
+ const char *poolid)
+{
+ char *netname = NULL;
+ char *bridge = NULL;
+ virNetworkPtr net = NULL;
+
+ netname = name_from_pool_id(poolid);
+ if (netname == NULL) {
+ CU_DEBUG("Unable to parse network pool id: %s", poolid);
+ goto out;
+ }
+
+ net = virNetworkLookupByName(conn, netname);
+ if (net == NULL) {
+ CU_DEBUG("Unable to find network %s", netname);
+ goto out;
+ }
+
+ bridge = virNetworkGetBridgeName(net);
+ out:
+ free(netname);
+ virNetworkFree(net);
+
+ return bridge;
+}
+
+static CMPIInstance *get_bridge_instance(const CMPIContext *context,
+ const CMPIObjectPath *ref,
+ const char *bridge,
+ CMPIStatus *s)
+{
+ CMPIObjectPath *path;
+ CMPIInstance *inst = NULL;
+ const char *cn = "Linux_EthernetPort";
+ const char *sys = NULL;
+ const char *syscc = NULL;
+
+ *s = get_host_system_properties(&sys, &syscc, ref, _BROKER, context);
+ if (s->rc != CMPI_RC_OK)
+ goto out;
+
+ path = CMNewObjectPath(_BROKER, "root/cimv2", cn, s);
+ if ((path == NULL) || (s->rc != CMPI_RC_OK))
+ goto out;
+
+ CMAddKey(path, "CreationClassName", cn, CMPI_chars);
+ CMAddKey(path, "SystemName", sys, CMPI_chars);
+ CMAddKey(path, "SystemCreationClassName", syscc, CMPI_chars);
+ CMAddKey(path, "DeviceID", bridge, CMPI_chars);
+
+ inst = CBGetInstance(_BROKER, context, path, NULL, s);
+ out:
+ return inst;
+}
+
+static CMPIStatus netpool_to_port(const CMPIObjectPath *ref,
+ struct std_assoc_info *info,
+ struct inst_list *list)
+{
+ virConnectPtr conn = NULL;
+ CMPIStatus s = {CMPI_RC_OK, NULL};
+ const char *poolid;
+ char *bridge = NULL;
+ CMPIInstance *inst;
+
+ if (!match_hypervisor_prefix(ref, info))
+ return s;
+
+ conn = connect_by_classname(_BROKER, CLASSNAME(ref), &s);
+ if (conn == NULL)
+ return s;
+
+ if (cu_get_str_path(ref, "InstanceID", &poolid) != CMPI_RC_OK) {
+ CU_DEBUG("Failed to get InstanceID from NetworkPool");
+ cu_statusf(_BROKER, &s,
+ CMPI_RC_ERR_FAILED,
+ "Missing InstanceID in NetworkPool");
+ goto out;
+ }
+
+ bridge = bridge_from_netpool(conn, poolid);
+ if (bridge == NULL) {
+ cu_statusf(_BROKER, &s,
+ CMPI_RC_ERR_NOT_FOUND,
+ "NetworkPool not found");
+ goto out;
+ }
+
+ inst = get_bridge_instance(info->context, ref, bridge, &s);
+ if (inst != NULL)
+ inst_list_add(list, inst);
+
+ out:
+ free(bridge);
+ virConnectClose(conn);
+
+ return s;
+}
+
+static CMPIStatus port_to_netpool(const CMPIObjectPath *ref,
+ struct std_assoc_info *info,
+ struct inst_list *list)
+{
+ CMPIStatus s;
+ const char *device;
+ virConnectPtr conn = NULL;
+ CMPIInstance *inst = NULL;
+ char *id = NULL;
+
+ if (cu_get_str_path(ref, "DeviceID", &device) != CMPI_RC_OK) {
+ cu_statusf(_BROKER, &s,
+ CMPI_RC_ERR_FAILED,
+ "Missing DeviceID from EthernetPort");
+ return s;
+ }
+
+ conn = connect_by_classname(_BROKER, CLASSNAME(ref), &s);
+ if (conn == NULL)
+ return s;
+
+ if (asprintf(&id, "NetworkPool/%s", device) == -1) {
+ cu_statusf(_BROKER, &s,
+ CMPI_RC_ERR_FAILED,
+ "Unable to format NetworkPool ID");
+ goto out;
+ }
+
+ s = get_pool_by_name(_BROKER, ref, id, &inst);
+ if ((inst != NULL) && (s.rc == CMPI_RC_OK))
+ inst_list_add(list, inst);
+ out:
+ free(id);
+ virConnectClose(conn);
+
+ return s;
+}
+
+LIBVIRT_CIM_DEFAULT_MAKEREF()
+
+static char *netpool[] = {
+ "Xen_NetworkPool",
+ "KVM_NetworkPool",
+ "LXC_NetworkPool",
+ NULL
+};
+
+static char *ethernetport[] = {
+ "Linux_EthernetPort",
+ NULL,
+};
+
+static char *assoc_classname[] = {
+ "Xen_ConcreteComponent",
+ "KVM_ConcreteComponent",
+ "LXC_ConcreteComponent",
+ NULL
+};
+
+static struct std_assoc _netpool_to_port = {
+ .source_class = (char **)&netpool,
+ .source_prop = "GroupComponent",
+
+ .target_class = (char **)ðernetport,
+ .target_prop = "PartComponent",
+
+ .assoc_class = (char **)&assoc_classname,
+
+ .handler = netpool_to_port,
+ .make_ref = make_ref
+};
+
+static struct std_assoc _port_to_netpool = {
+ .source_class = (char **)ðernetport,
+ .source_prop = "PartComponent",
+
+ .target_class = (char **)&netpool,
+ .target_prop = "GroupComponent",
+
+ .assoc_class = (char **)&assoc_classname,
+
+ .handler = port_to_netpool,
+ .make_ref = make_ref
+};
+
+static struct std_assoc *handlers[] = {
+ &_netpool_to_port,
+ &_port_to_netpool,
+ NULL
+};
+
+STDA_AssocMIStub(,
+ Virt_ConcreteComponent,
+ _BROKER,
+ libvirt_cim_init(),
+ handlers);
+
+/*
+ * Local Variables:
+ * mode: C
+ * c-set-style: "K&R"
+ * tab-width: 8
+ * c-basic-offset: 8
+ * indent-tabs-mode: nil
+ * End:
+ */
16 years, 4 months
[PATCH] Add ConcreteComponent support for Processor
by Dan Smith
# HG changeset patch
# User Dan Smith <danms(a)us.ibm.com>
# Date 1219427448 25200
# Node ID a8130304d2f225657fd8c58c0eedb5d0eea37b7f
# Parent 794e7f3b23d0eef1231cab33fc8df85f91d284b1
Add ConcreteComponent support for Processor
Signed-off-by: Dan Smith <danms(a)us.ibm.com>
diff -r 794e7f3b23d0 -r a8130304d2f2 src/Virt_ConcreteComponent.c
--- a/src/Virt_ConcreteComponent.c Fri Aug 22 10:50:42 2008 -0700
+++ b/src/Virt_ConcreteComponent.c Fri Aug 22 10:50:48 2008 -0700
@@ -138,6 +138,75 @@
return s;
}
+static CMPIStatus list_sblim_procs(const CMPIContext *context,
+ const CMPIObjectPath *ref,
+ struct inst_list *list)
+{
+ CMPIEnumeration *procs;
+ CMPIObjectPath *path;
+ CMPIStatus s;
+
+ path = CMNewObjectPath(_BROKER, "root/cimv2", "Linux_Processor", &s);
+ if ((path == NULL) || (s.rc != CMPI_RC_OK))
+ return s;
+
+ procs = CBEnumInstances(_BROKER, context, path, NULL, &s);
+ if ((procs == NULL) || (s.rc != CMPI_RC_OK))
+ return s;
+
+ while (CMHasNext(procs, NULL)) {
+ CMPIData data = CMGetNext(procs, &s);
+
+ if (data.type != CMPI_instance) {
+ cu_statusf(_BROKER, &s,
+ CMPI_RC_ERR_FAILED,
+ "SBLIM gave us back a non-instance");
+ return s;
+ }
+
+ inst_list_add(list, data.value.inst);
+ }
+
+ return (CMPIStatus){CMPI_RC_OK, NULL};
+}
+
+static CMPIStatus procpool_to_proc(const CMPIObjectPath *ref,
+ struct std_assoc_info *info,
+ struct inst_list *list)
+{
+ virConnectPtr conn = NULL;
+ CMPIStatus s = {CMPI_RC_OK, NULL};
+ const char *poolid;
+
+ if (!match_hypervisor_prefix(ref, info))
+ return s;
+
+ conn = connect_by_classname(_BROKER, CLASSNAME(ref), &s);
+ if (conn == NULL)
+ return s;
+
+ if (cu_get_str_path(ref, "InstanceID", &poolid) != CMPI_RC_OK) {
+ CU_DEBUG("Failed to get InstanceID from NetworkPool");
+ cu_statusf(_BROKER, &s,
+ CMPI_RC_ERR_FAILED,
+ "Missing InstanceID in NetworkPool");
+ goto out;
+ }
+
+ if (!STREQ(poolid, "ProcessorPool/0")) {
+ cu_statusf(_BROKER, &s,
+ CMPI_RC_ERR_NOT_FOUND,
+ "Processor pool instance not found");
+ goto out;
+ }
+
+ s = list_sblim_procs(info->context, ref, list);
+ out:
+ virConnectClose(conn);
+
+ return s;
+}
+
static CMPIStatus port_to_netpool(const CMPIObjectPath *ref,
struct std_assoc_info *info,
struct inst_list *list)
@@ -223,9 +292,35 @@
.make_ref = make_ref
};
+static char *procpool[] = {
+ "Xen_ProcessorPool",
+ "KVM_ProcessorPool",
+ "LXC_ProcessorPool",
+ NULL
+};
+
+static char *proc[] = {
+ "Linux_Processor",
+ NULL
+};
+
+static struct std_assoc _procpool_to_proc = {
+ .source_class = (char **)&procpool,
+ .source_prop = "GroupComponent",
+
+ .target_class = (char **)&proc,
+ .target_prop = "PartComponent",
+
+ .assoc_class = (char **)&assoc_classname,
+
+ .handler = procpool_to_proc,
+ .make_ref = make_ref
+};
+
static struct std_assoc *handlers[] = {
&_netpool_to_port,
&_port_to_netpool,
+ &_procpool_to_proc,
NULL
};
16 years, 4 months
[PATCH] [TEST] Fix debug output
by Kaitlin Rupert
# HG changeset patch
# User Kaitlin Rupert <karupert(a)us.ibm.com>
# Date 1219090696 25200
# Node ID 4cbb5bea5f3b72a7a716bb9d3c4b6e8d9c3f4596
# Parent 6a75861bbe432d0cc8f143783cb5d00a75101ecb
[TEST] Fix debug output
If the test passes, then there's no need to print debug output. Otherwise, negative test cases (that run in to intentional failures) might print confusing debug messages.
Signed-off-by: Kaitlin Rupert <karupert(a)us.ibm.com>
diff -r 6a75861bbe43 -r 4cbb5bea5f3b lib/TestSuite.py
--- a/lib/TestSuite.py Sun Aug 17 21:34:33 2008 -0700
+++ b/lib/TestSuite.py Mon Aug 18 13:18:16 2008 -0700
@@ -68,7 +68,7 @@
bug = err
self.rep.results("%s - %s" % (group, test), status, bug)
- if output:
+ if output and status != PASS:
self.rep.debug(1, output)
def debug(self, str):
16 years, 4 months
[PATCH] Add ConcreteComponent with NetworkPool support
by Dan Smith
# HG changeset patch
# User Dan Smith <danms(a)us.ibm.com>
# Date 1219353207 25200
# Node ID 5f3be2816c7c7128d8bc6fc4aee5cadc4a9fa338
# Parent 90ac6766de08cb6f0beca7f7c4cba35331ac83a5
Add ConcreteComponent with NetworkPool support
This adds the ConcreteComponent association, and hooks it up to NetworkPool
for now. If you have sblim-cmpi-network on your system, this references
the Linux_EthernetPort instance exposed by SBLIM for the bridge device
associated with the network pool.
Note that port_to_netpool() is untested and won't get called by the CIMOM
because we're not registering this association in root/cimv2. I don't
think it makes much sense for us to do that to support this backwards,
so I'm content to leave this as kinda broken until someone comes up with a
better idea, or complains.
Signed-off-by: Dan Smith <danms(a)us.ibm.com>
diff -r 90ac6766de08 -r 5f3be2816c7c Makefile.am
--- a/Makefile.am Wed Aug 20 15:33:36 2008 -0700
+++ b/Makefile.am Thu Aug 21 14:13:27 2008 -0700
@@ -41,7 +41,8 @@
schema/VSMigrationService.mof \
schema/VSMigrationSettingData.mof \
schema/VirtualSystemSnapshotService.mof \
- schema/VirtualSystemSnapshotServiceCapabilities.mof
+ schema/VirtualSystemSnapshotServiceCapabilities.mof \
+ schema/ConcreteComponent.mof
INTEROP_MOFS = \
schema/ComputerSystem.mof \
@@ -88,7 +89,8 @@
schema/ElementConformsToProfile.registration \
schema/VSMigrationSettingData.registration \
schema/VirtualSystemSnapshotService.registration \
- schema/VirtualSystemSnapshotServiceCapabilities.registration
+ schema/VirtualSystemSnapshotServiceCapabilities.registration \
+ schema/ConcreteComponent.registration
INTEROP_REGS = \
schema/RegisteredProfile.registration \
diff -r 90ac6766de08 -r 5f3be2816c7c schema/ConcreteComponent.mof
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/schema/ConcreteComponent.mof Thu Aug 21 14:13:27 2008 -0700
@@ -0,0 +1,5 @@
+// Copyright IBM Corp. 2008
+
+class Xen_ConcreteComponent : CIM_ConcreteComponent { };
+class KVM_ConcreteComponent : CIM_ConcreteComponent { };
+class LXC_ConcreteComponent : CIM_ConcreteComponent { };
diff -r 90ac6766de08 -r 5f3be2816c7c schema/ConcreteComponent.registration
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/schema/ConcreteComponent.registration Thu Aug 21 14:13:27 2008 -0700
@@ -0,0 +1,5 @@
+# Copyright IBM Corp. 2008
+# Classname Namespace ProviderName ProviderModule ProviderTypes
+Xen_ConcreteComponent root/virt Virt_ConcreteComponent Virt_ConcreteComponent association
+KVM_ConcreteComponent root/virt Virt_ConcreteComponent Virt_ConcreteComponent association
+KVM_ConcreteComponent root/virt Virt_ConcreteComponent Virt_ConcreteComponent association
diff -r 90ac6766de08 -r 5f3be2816c7c src/Makefile.am
--- a/src/Makefile.am Wed Aug 20 15:33:36 2008 -0700
+++ b/src/Makefile.am Thu Aug 21 14:13:27 2008 -0700
@@ -64,7 +64,8 @@
libVirt_ResourceAllocationFromPool.la \
libVirt_ElementAllocatedFromPool.la \
libVirt_HostedService.la \
- libVirt_ElementSettingData.la
+ libVirt_ElementSettingData.la \
+ libVirt_ConcreteComponent.la
libVirt_ComputerSystem_la_SOURCES = Virt_ComputerSystem.c
libVirt_ComputerSystem_la_DEPENDENCIES = libVirt_VirtualSystemSnapshotService.la
@@ -186,3 +187,7 @@
libVirt_VirtualSystemSnapshotServiceCapabilities_la_DEPENDENCIES =
libVirt_VirtualSystemSnapshotServiceCapabilities_la_SOURCES = Virt_VirtualSystemSnapshotServiceCapabilities.c
libVirt_VirtualSystemSnapshotServiceCapabilities_la_LIBADD =
+
+libVirt_ConcreteComponent_la_DEPENDENCIES = libVirt_HostSystem.la
+libVirt_ConcreteComponent_la_SOURCES = Virt_ConcreteComponent.c
+libVirt_ConcreteComponent_la_LIBADD = -lVirt_HostSystem
diff -r 90ac6766de08 -r 5f3be2816c7c src/Virt_ConcreteComponent.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/Virt_ConcreteComponent.c Thu Aug 21 14:13:27 2008 -0700
@@ -0,0 +1,243 @@
+/*
+ * Copyright IBM Corp. 2007
+ *
+ * Authors:
+ * Dan Smith <danms(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 <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <stdbool.h>
+
+#include <libvirt/libvirt.h>
+
+#include "cmpidt.h"
+#include "cmpift.h"
+#include "cmpimacs.h"
+
+#include <libcmpiutil/libcmpiutil.h>
+#include <libcmpiutil/std_association.h>
+#include "misc_util.h"
+
+#include "Virt_HostSystem.h"
+#include "Virt_DevicePool.h"
+
+const static CMPIBroker *_BROKER;
+
+static char *bridge_from_netpool(virConnectPtr conn,
+ const char *poolid)
+{
+ char *netname = NULL;
+ char *bridge = NULL;
+ virNetworkPtr net = NULL;
+
+ netname = name_from_pool_id(poolid);
+ if (netname == NULL) {
+ CU_DEBUG("Unable to parse network pool id: %s", poolid);
+ goto out;
+ }
+
+ net = virNetworkLookupByName(conn, netname);
+ if (net == NULL) {
+ CU_DEBUG("Unable to find network %s", netname);
+ goto out;
+ }
+
+ bridge = virNetworkGetBridgeName(net);
+ out:
+ free(netname);
+ virNetworkFree(net);
+
+ return bridge;
+}
+
+static CMPIInstance *get_bridge_instance(const CMPIContext *context,
+ const CMPIObjectPath *ref,
+ const char *bridge,
+ CMPIStatus *s)
+{
+ CMPIObjectPath *path;
+ CMPIInstance *inst = NULL;
+ const char *cn = "Linux_EthernetPort";
+ const char *sys = NULL;
+ const char *syscc = NULL;
+
+ *s = get_host_system_properties(&sys, &syscc, ref, _BROKER, context);
+ if (s->rc != CMPI_RC_OK)
+ goto out;
+
+ path = CMNewObjectPath(_BROKER, "root/cimv2", cn, s);
+ if ((path == NULL) || (s->rc != CMPI_RC_OK))
+ goto out;
+
+ CMAddKey(path, "CreationClassName", cn, CMPI_chars);
+ CMAddKey(path, "SystemName", sys, CMPI_chars);
+ CMAddKey(path, "SystemCreationClassName", syscc, CMPI_chars);
+ CMAddKey(path, "DeviceID", bridge, CMPI_chars);
+
+ inst = CBGetInstance(_BROKER, context, path, NULL, s);
+ out:
+ return inst;
+}
+
+static CMPIStatus netpool_to_port(const CMPIObjectPath *ref,
+ struct std_assoc_info *info,
+ struct inst_list *list)
+{
+ virConnectPtr conn = NULL;
+ CMPIStatus s;
+ const char *poolid;
+ char *bridge = NULL;
+ CMPIInstance *inst;
+
+ conn = connect_by_classname(_BROKER, CLASSNAME(ref), &s);
+ if (conn == NULL)
+ return s;
+
+ if (cu_get_str_path(ref, "InstanceID", &poolid) != CMPI_RC_OK) {
+ CU_DEBUG("Failed to get InstanceID from NetworkPool");
+ cu_statusf(_BROKER, &s,
+ CMPI_RC_ERR_FAILED,
+ "Missing InstanceID in NetworkPool");
+ goto out;
+ }
+
+ bridge = bridge_from_netpool(conn, poolid);
+ if (bridge == NULL) {
+ cu_statusf(_BROKER, &s,
+ CMPI_RC_ERR_NOT_FOUND,
+ "NetworkPool not found");
+ goto out;
+ }
+
+ inst = get_bridge_instance(info->context, ref, bridge, &s);
+ if (inst != NULL)
+ inst_list_add(list, inst);
+
+ out:
+ free(bridge);
+ virConnectClose(conn);
+
+ return s;
+}
+
+static CMPIStatus port_to_netpool(const CMPIObjectPath *ref,
+ struct std_assoc_info *info,
+ struct inst_list *list)
+{
+ CMPIStatus s;
+ const char *device;
+ virConnectPtr conn = NULL;
+ CMPIInstance *inst = NULL;
+ char *id = NULL;
+
+ if (cu_get_str_path(ref, "DeviceID", &device) != CMPI_RC_OK) {
+ cu_statusf(_BROKER, &s,
+ CMPI_RC_ERR_FAILED,
+ "Missing DeviceID from EthernetPort");
+ return s;
+ }
+
+ conn = connect_by_classname(_BROKER, CLASSNAME(ref), &s);
+ if (conn == NULL)
+ return s;
+
+ if (asprintf(&id, "NetworkPool/%s", device) == -1) {
+ cu_statusf(_BROKER, &s,
+ CMPI_RC_ERR_FAILED,
+ "Unable to format NetworkPool ID");
+ goto out;
+ }
+
+ s = get_pool_by_name(_BROKER, ref, id, &inst);
+ if ((inst != NULL) && (s.rc == CMPI_RC_OK))
+ inst_list_add(list, inst);
+ out:
+ free(id);
+ virConnectClose(conn);
+
+ return s;
+}
+
+LIBVIRT_CIM_DEFAULT_MAKEREF()
+
+static char *GroupComponent[] = {
+ "Xen_NetworkPool",
+ "KVM_NetworkPool",
+ "LXC_NetworkPool",
+ NULL
+};
+
+static char *PartComponent[] = {
+ "Linux_EthernetPort",
+ NULL,
+};
+
+static char *assoc_classname[] = {
+ "Xen_ConcreteComponent",
+ "KVM_ConcreteComponent",
+ "LXC_ConcreteComponent",
+ NULL
+};
+
+static struct std_assoc _netpool_to_port = {
+ .source_class = (char **)&GroupComponent,
+ .source_prop = "GroupComponent",
+
+ .target_class = (char **)&PartComponent,
+ .target_prop = "PartComponent",
+
+ .assoc_class = (char **)&assoc_classname,
+
+ .handler = netpool_to_port,
+ .make_ref = make_ref
+};
+
+static struct std_assoc _port_to_netpool = {
+ .source_class = (char **)&PartComponent,
+ .source_prop = "PartComponent",
+
+ .target_class = (char **)&GroupComponent,
+ .target_prop = "GroupComponent",
+
+ .assoc_class = (char **)&assoc_classname,
+
+ .handler = port_to_netpool,
+ .make_ref = make_ref
+};
+
+static struct std_assoc *handlers[] = {
+ &_netpool_to_port,
+ &_port_to_netpool,
+ NULL
+};
+
+STDA_AssocMIStub(,
+ Virt_ConcreteComponent,
+ _BROKER,
+ libvirt_cim_init(),
+ handlers);
+
+/*
+ * Local Variables:
+ * mode: C
+ * c-set-style: "K&R"
+ * tab-width: 8
+ * c-basic-offset: 8
+ * indent-tabs-mode: nil
+ * End:
+ */
16 years, 4 months
[PATCH 0 of 3] Reference SBLIM host system when possible
by Dan Smith
This patch set (eventually) makes the providers return references to
the SBLIM Linux_ComputerSystem instance, if that provider is available. This
makes all of the Hosted* associations (and others) correctly point to the
SBLIM provider when possible. As a fallback, we continue to return our fake
instances if the SBLIM provider isn't installed.
16 years, 4 months
XenFV on Pegasus Test Run Summary for Aug 21 2008
by Deepti B. Kalakeri
=================================================
XenFV on Pegasus Test Run Summary for Aug 21 2008
=================================================
Distro: Red Hat Enterprise Linux Server release 5.2 (Tikanga)
Kernel: 2.6.18-92.el5xen
libvirt: 0.3.3
Hypervisor: Xen 3.1.0
CIMOM: Pegasus 2.7.0
Libvirt-cim revision: 672
Libvirt-cim changeset: 90ac6766de08
=================================================
FAIL : 17
XFAIL : 0
SKIP : 4
PASS : 115
-----------------
Total : 136
=================================================
FAIL Test Summary:
ComputerSystem - 03_defineVS.py: FAIL
ComputerSystemIndication - 01_created_indication.py: FAIL
ElementConforms - 01_forward.py: FAIL
ElementSettingData - 01_forward.py: FAIL
HostSystem - 02_hostsystem_to_rasd.py: FAIL
HostSystem - 04_hs_to_EAPF.py: FAIL
LogicalDisk - 02_nodevs.py: FAIL
LogicalDisk - 03_ld_gi_errs.py: FAIL
Memory - 01_memory.py: FAIL
NetworkPort - 01_netport.py: FAIL
ResourceAllocationFromPool - 02_reverse.py: FAIL
VSSD - 04_vssd_to_rasd.py: FAIL
VirtualSystemManagementService - 06_addresource.py: FAIL
VirtualSystemManagementService - 08_modifyresource.py: FAIL
VirtualSystemMigrationService - 01_migratable_host.py: FAIL
VirtualSystemMigrationService - 02_host_migrate_type.py: FAIL
VirtualSystemSettingDataComponent - 01_forward.py: FAIL
=================================================
SKIP Test Summary:
ComputerSystem - 02_nosystems.py: SKIP
sys.exit(SKIP)
NetworkPort - 03_user_netport.py: SKIP
VSSD - 02_bootldr.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: FAIL
ERROR - Failed to enumerate the class of Xen_ComputerSystem
ERROR - Exception: No defined domain (domU1) is found
ERROR - Error: property values are not set for VS domU1
--------------------------------------------------------------------
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
ERROR - Exception: (1, u'CIM_ERR_FAILED: Domain not running')
InvokeMethod(RequestStateChange): CIM_ERR_FAILED: Domain not running
--------------------------------------------------------------------
ComputerSystem - 23_suspend_suspend.py: PASS
InvokeMethod(RequestStateChange): CIM_ERR_FAILED: Domain not running
--------------------------------------------------------------------
ComputerSystem - 27_define_suspend_errs.py: PASS
InvokeMethod(RequestStateChange): CIM_ERR_FAILED: Domain not running
--------------------------------------------------------------------
ComputerSystem - 32_start_reboot.py: PASS
--------------------------------------------------------------------
ComputerSystem - 33_suspend_reboot.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 - Need to give different bridge name since it already exists
ERROR - SystemExit : 2
Traceback (most recent call last):
File "/data/users/deepti/cimtest/lib/CimTest/Globals.py", line 144, in do_try
rc = f()
File "01_created_indication.py", line 188, in main
destroy_netpool(options.ip, options.virt, test_network)
File "/data/users/deepti/cimtest/suites/libvirt-cim/lib/XenKvmLib/common_util.py", line 404, in destroy_netpool
netxml = NetXML(server, virt=virt, networkname=net_name)
File "/data/users/deepti/cimtest/suites/libvirt-cim/lib/XenKvmLib/vxml.py", line 193, in __init__
sys.exit(SKIP)
SystemExit: 2
ERROR - None
--------------------------------------------------------------------
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: FAIL
ERROR - Failed to get associators information for ElementConformsToProfile
ERROR - Exception: not enough arguments for format string
--------------------------------------------------------------------
ElementConforms - 02_reverse.py: PASS
ERROR - Failed to get instance by the class of Xen_ComputerSystem
ERROR - Exception: (6, u'CIM_ERR_NOT_FOUND: No such instance (domgst).')
ERROR - Failed to get instance by the class of Xen_ComputerSystem
ERROR - Exception: (6, u'CIM_ERR_NOT_FOUND: No such instance (domgst).')
--------------------------------------------------------------------
ElementConforms - 03_ectp_fwd_errs.py: PASS
--------------------------------------------------------------------
ElementConforms - 04_ectp_rev_errs.py: PASS
--------------------------------------------------------------------
ElementSettingData - 01_forward.py: FAIL
ERROR - Expected at least one VirtualSystemSettingData instance
CIM_ERR_NOT_FOUND: No such instance (esd_dom)
--------------------------------------------------------------------
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: FAIL
ERROR - Xen_HostSystem with CrossClass_GuestDom was not returned
--------------------------------------------------------------------
HostSystem - 03_hs_to_settdefcap.py: PASS
--------------------------------------------------------------------
HostSystem - 04_hs_to_EAPF.py: FAIL
ERROR - Xen_ElementAllocatedFromPool returned 0 Xen_DiskPool objects
--------------------------------------------------------------------
HostSystem - 05_hs_gi_errs.py: PASS
--------------------------------------------------------------------
HostSystem - 06_hs_to_vsms.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
--------------------------------------------------------------------
LogicalDisk - 01_disk.py: PASS
--------------------------------------------------------------------
LogicalDisk - 02_nodevs.py: FAIL
ERROR - LogicalDisk returned 1 instead of empty list
--------------------------------------------------------------------
LogicalDisk - 03_ld_gi_errs.py: FAIL
ERROR - Failed to get instance by the class of Xen_LogicalDisk
ERROR - Exception: (6, u'CIM_ERR_NOT_FOUND: No such instance (hd_domain/hda)')
--------------------------------------------------------------------
Memory - 01_memory.py: FAIL
ERROR - Capacity should be 262144 MB instead of 131072 MB
--------------------------------------------------------------------
Memory - 02_defgetmem.py: PASS
--------------------------------------------------------------------
Memory - 03_mem_gi_errs.py: PASS
--------------------------------------------------------------------
NetworkPort - 01_netport.py: FAIL
ERROR - Exception: (6, u'CIM_ERR_NOT_FOUND: No such instance (test_domain/00:11:22:33:44:55)')
--------------------------------------------------------------------
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
--------------------------------------------------------------------
ReferencedProfile - 01_verify_refprof.py: PASS
--------------------------------------------------------------------
ReferencedProfile - 02_refprofile_errs.py: PASS
--------------------------------------------------------------------
ResourceAllocationFromPool - 01_forward.py: PASS
--------------------------------------------------------------------
ResourceAllocationFromPool - 02_reverse.py: FAIL
ERROR - No associated pool for RAFP_dom/00:11:22:33:44:aa
CIM_ERR_FAILED: Unable to determine pool of `RAFP_dom/00:11:22:33:44:aa'
--------------------------------------------------------------------
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
InvokeMethod(CreateResourcePool): CIM_ERR_NOT_SUPPORTED
--------------------------------------------------------------------
ResourcePoolConfigurationService - 04_CreateChildResourcePool.py: PASS
InvokeMethod(CreateChildResourcePool): CIM_ERR_NOT_SUPPORTED
--------------------------------------------------------------------
ResourcePoolConfigurationService - 05_AddResourcesToResourcePool.py: PASS
InvokeMethod(AddResourcesToResourcePool): CIM_ERR_FAILED: Unknown Method
--------------------------------------------------------------------
ResourcePoolConfigurationService - 06_RemoveResourcesFromResourcePool.py: PASS
InvokeMethod(RemoveResourcesFromResourcePool): CIM_ERR_NOT_SUPPORTED
--------------------------------------------------------------------
ResourcePoolConfigurationService - 07_DeleteResourcePool.py: PASS
InvokeMethod(DeleteResourcePool): CIM_ERR_NOT_SUPPORTED
--------------------------------------------------------------------
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: FAIL
ERROR - Xen_VirtualSystemSettingData with VSSDC_dom was not returned
ERROR - Xen_VirtualSystemSettingData returned 0 VSSD objects, expected only 1
--------------------------------------------------------------------
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
InvokeMethod(DefineSystem): CIM_ERR_FAILED: Unable to parse embedded object
--------------------------------------------------------------------
VirtualSystemManagementService - 04_definesystem_ers.py: PASS
InvokeMethod(DefineSystem): CIM_ERR_FAILED: Unable to parse embedded object
--------------------------------------------------------------------
VirtualSystemManagementService - 05_destroysystem_neg.py: PASS
ERROR - For Invalid Scenario 'noname'
ERROR - For Invalid Scenario 'nonexistent'
InvokeMethod(DestroySystem): CIM_ERR_FAILED: Unable to retrieve domain name.
InvokeMethod(DestroySystem): CIM_ERR_FAILED: Failed to find domain
--------------------------------------------------------------------
VirtualSystemManagementService - 06_addresource.py: FAIL
ERROR - Got 99:aa:bb:cc:ee:ff, exp 99:aa:bb:cc:ee:ff. Got None, exp default-net4.
ERROR - Error invoking AddRS: add_net_res
ERROR - Error adding rs for net mac
--------------------------------------------------------------------
VirtualSystemManagementService - 07_addresource_neg.py: PASS
InvokeMethod(AddResourceSettings): CIM_ERR_FAILED: Unable to parse embedded object
--------------------------------------------------------------------
VirtualSystemManagementService - 08_modifyresource.py: FAIL
ERROR - Got None, exp /tmp/default-kvm-dimage.2ND.
ERROR - Error invoking ModifyRS: mod_disk_res
ERROR - Error changing rs for disk path
--------------------------------------------------------------------
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
--------------------------------------------------------------------
VirtualSystemMigrationCapabilities - 01_enum.py: PASS
--------------------------------------------------------------------
VirtualSystemMigrationCapabilities - 02_vsmc_gi_errs.py: PASS
--------------------------------------------------------------------
VirtualSystemMigrationService - 01_migratable_host.py: FAIL
ERROR - Virt_MigrationJob err: can't find expected job inst
--------------------------------------------------------------------
VirtualSystemMigrationService - 02_host_migrate_type.py: FAIL
ERROR - Virt_MigrationJob err: can't find expected job inst
--------------------------------------------------------------------
VirtualSystemMigrationService - 05_migratable_host_errs.py: PASS
InvokeMethod(CheckVirtualSystemIsMigratableToHost): CIM_ERR_FAILED: Missing key (Name) in ComputerSystem
--------------------------------------------------------------------
VirtualSystemMigrationSettingData - 01_enum.py: PASS
--------------------------------------------------------------------
VirtualSystemMigrationSettingData - 02_vsmsd_gi_errs.py: PASS
--------------------------------------------------------------------
VirtualSystemSettingDataComponent - 01_forward.py: FAIL
ERROR - VSSD instance for VSSDC_dom not found
CIM_ERR_NOT_FOUND: No such instance (VSSDC_dom)
--------------------------------------------------------------------
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
--------------------------------------------------------------------
VirtualSystemSnapshotServiceCapabilities - 01_enum.py: PASS
--------------------------------------------------------------------
VirtualSystemSnapshotServiceCapabilities - 02_vs_sservicecap_gi_errs.py: PASS
--------------------------------------------------------------------
16 years, 4 months
[PATCH] [TEST] Add ref_conf arg to VSMS 13_refconfig_additional_devs.py
by Kaitlin Rupert
# HG changeset patch
# User Kaitlin Rupert <karupert(a)us.ibm.com>
# Date 1219267836 25200
# Node ID 0e2058a0aa211370347e8617ca8a17437fa2c0b3
# Parent ea7a6b8cd1761c8fd0474f3dec615bf608973067
[TEST] Add ref_conf arg to VSMS 13_refconfig_additional_devs.py
This arg was removed when I did the patch revisions and didn't make it back in before the patch went out.
Signed-off-by: Kaitlin Rupert <karupert(a)us.ibm.com>
diff -r ea7a6b8cd176 -r 0e2058a0aa21 suites/libvirt-cim/cimtest/VirtualSystemManagementService/13_refconfig_additional_devs.py
--- a/suites/libvirt-cim/cimtest/VirtualSystemManagementService/13_refconfig_additional_devs.py Wed Aug 20 13:15:28 2008 -0700
+++ b/suites/libvirt-cim/cimtest/VirtualSystemManagementService/13_refconfig_additional_devs.py Wed Aug 20 14:30:36 2008 -0700
@@ -129,7 +129,7 @@
if ref is None:
raise Exception("Unable to get %s reference" % test_dom)
- rc = cxml2.cim_define(options.ip)
+ rc = cxml2.cim_define(options.ip, ref_conf=ref)
if not rc:
logger.error("Unable define domain %s" % test_dom2)
raise Exception("Unable to define %s" % test_dom2)
16 years, 4 months