
# HG changeset patch # User Dan Smith <danms@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@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 };