# HG changeset patch
# User Dan Smith <danms(a)us.ibm.com>
# Date 1225739071 28800
# Node ID 44b096b7f0a02506efef9091854e182daf4bc812
# Parent 7e9da8337ee60e6c73f020e37d22d692c0c7d494
Make HostedResourcePool work from root/cimv2 and register it there
...so we can get back from HostSystem to our pools.
Signed-off-by: Dan Smith <danms(a)us.ibm.com>
diff -r 7e9da8337ee6 -r 44b096b7f0a0 Makefile.am
--- a/Makefile.am Mon Nov 03 11:04:30 2008 -0800
+++ b/Makefile.am Mon Nov 03 11:04:31 2008 -0800
@@ -61,6 +61,8 @@
schema/ElementConformsToProfile.mof \
schema/ReferencedProfile.mof
+CIMV2_MOFS = \
+ schema/HostedResourcePool.mof
REGS = \
schema/ComputerSystem.registration \
@@ -112,6 +114,9 @@
schema/ElementConformsToProfile.registration \
schema/ReferencedProfile.registration
+CIMV2_REGS = \
+ schema/HostedResourcePool.registration
+
pkgdata_DATA = $(MOFS) $(REGS) $(INTEROP_MOFS) $(INTEROP_REGS)
pkgdata_SCRIPTS = provider-register.sh
@@ -129,12 +134,14 @@
postinstall:
sh provider-register.sh -v -t @CIMSERVER@ -n @CIM_VIRT_NS@ -r $(REGS) -m $(MOFS)
sh provider-register.sh -v -t @CIMSERVER@ -n root/interop -r $(INTEROP_REGS) -m
$(INTEROP_MOFS)
+ sh provider-register.sh -v -t @CIMSERVER@ -n root/cimv2 -r $(CIMV2_REGS) -m
$(CIMV2_MOFS)
virsh -v | grep -q '^0.3' && cp examples/diskpool.conf
$(DISK_POOL_CONFIG) || true
mkdir -p $(INFO_STORE)
preuninstall:
sh provider-register.sh -v -d -t @CIMSERVER@ -n @CIM_VIRT_NS@ -r $(REGS) -m $(MOFS)
sh provider-register.sh -v -d -t @CIMSERVER@ -n root/interop -r $(INTEROP_REGS) -m
$(INTEROP_MOFS)
+ sh provider-register.sh -v -d -t @CIMSERVER@ -n root/cimv2 -r $(CIMV2_REGS) -m
$(CIMV2_MOFS)
rpm: clean
@(unset CDPATH ; $(MAKE) dist && rpmbuild -ta $(distdir).tar.gz)
diff -r 7e9da8337ee6 -r 44b096b7f0a0 schema/HostedResourcePool.registration
--- a/schema/HostedResourcePool.registration Mon Nov 03 11:04:30 2008 -0800
+++ b/schema/HostedResourcePool.registration Mon Nov 03 11:04:31 2008 -0800
@@ -3,3 +3,6 @@
Xen_HostedResourcePool root/virt Virt_HostedResourcePool Virt_HostedResourcePool
association
KVM_HostedResourcePool root/virt Virt_HostedResourcePool Virt_HostedResourcePool
association
LXC_HostedResourcePool root/virt Virt_HostedResourcePool Virt_HostedResourcePool
association
+Xen_HostedResourcePool root/cimv2 Virt_HostedResourcePool Virt_HostedResourcePool
association
+KVM_HostedResourcePool root/cimv2 Virt_HostedResourcePool Virt_HostedResourcePool
association
+LXC_HostedResourcePool root/cimv2 Virt_HostedResourcePool Virt_HostedResourcePool
association
diff -r 7e9da8337ee6 -r 44b096b7f0a0 src/Virt_HostedResourcePool.c
--- a/src/Virt_HostedResourcePool.c Mon Nov 03 11:04:30 2008 -0800
+++ b/src/Virt_HostedResourcePool.c Mon Nov 03 11:04:31 2008 -0800
@@ -31,6 +31,8 @@
#include <libcmpiutil/libcmpiutil.h>
#include "misc_util.h"
#include <libcmpiutil/std_association.h>
+
+#include <config.h>
#include "Virt_HostSystem.h"
#include "Virt_DevicePool.h"
@@ -68,15 +70,21 @@
{
CMPIStatus s = {CMPI_RC_OK, NULL};
CMPIInstance *inst = NULL;
+ CMPIObjectPath *virtref = NULL;
- if (!match_hypervisor_prefix(ref, info))
+ if (!STARTS_WITH(CLASSNAME(ref), "Linux_") &&
+ !match_hypervisor_prefix(ref, info))
+ goto out;
+
+ virtref = convert_sblim_hostsystem(_BROKER, ref, info);
+ if (virtref == NULL)
goto out;
s = get_host(_BROKER, info->context, ref, &inst, true);
if (s.rc != CMPI_RC_OK)
goto out;
- s = enum_pools(_BROKER, ref, CIM_RES_TYPE_ALL, list);
+ s = enum_pools(_BROKER, virtref, CIM_RES_TYPE_ALL, list);
out:
return s;
@@ -88,6 +96,7 @@
"Xen_HostSystem",
"KVM_HostSystem",
"LXC_HostSystem",
+ "Linux_ComputerSystem",
NULL
};