
# HG changeset patch # User Dan Smith <danms@us.ibm.com> # Date 1225825154 28800 # Node ID 39f290b8978e20c122a7ccf3ad702feeaae4e52a # Parent e6f0f20c357e04f9285ef99ab642ec398e7f51b2 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 e6f0f20c357e -r 39f290b8978e Makefile.am --- a/Makefile.am Tue Nov 04 07:14:06 2008 -0800 +++ b/Makefile.am Tue Nov 04 10:59:14 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 e6f0f20c357e -r 39f290b8978e base_schema/cimv216-cimv2_mof --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/base_schema/cimv216-cimv2_mof Tue Nov 04 10:59:14 2008 -0800 @@ -0,0 +1,7 @@ +Qualifier IsPUnit : boolean = false, + Scope(property, method, parameter); + +#pragma include ("Core/CIM_ResourcePool.mof") +#pragma include ("Core/CIM_HostedResourcePool.mof") +#pragma include ("Core/CIM_ElementCapabilities.mof") +#pragma include ("Core/CIM_HostedService.mof") diff -r e6f0f20c357e -r 39f290b8978e base_schema/install_base_schema.sh.in --- a/base_schema/install_base_schema.sh.in Tue Nov 04 07:14:06 2008 -0800 +++ b/base_schema/install_base_schema.sh.in Tue Nov 04 10:59:14 2008 -0800 @@ -22,6 +22,8 @@ fix_schema() { (cd ${TMPDIR} && patch -p0 < ${DATA}/fix_schema.patch) cp -a ${DATA}/cimv216-interop_mof ${TMPDIR}/cimv216-interop.mof + cp -a ${DATA}/cimv216-cimv2_mof ${TMPDIR}/cimv216-cimv2.mof + } detect_peg_repo() { @@ -72,6 +74,7 @@ cimmofl -uc -aEV -R$repo -n $NS qualifiers.mof cimmofl -uc -aEV -R$repo -n $NS qualifiers_optional.mof cimmofl -uc -aEV -R$repo -n /root/interop cimv???-interop.mof + cimmofl -uc -aEV -R$repo -n /root/interop cimv???-cimv2.mof } install_schema_sfcb() { diff -r e6f0f20c357e -r 39f290b8978e schema/HostedResourcePool.registration --- a/schema/HostedResourcePool.registration Tue Nov 04 07:14:06 2008 -0800 +++ b/schema/HostedResourcePool.registration Tue Nov 04 10:59:14 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 e6f0f20c357e -r 39f290b8978e src/Virt_HostedResourcePool.c --- a/src/Virt_HostedResourcePool.c Tue Nov 04 07:14:06 2008 -0800 +++ b/src/Virt_HostedResourcePool.c Tue Nov 04 10:59:14 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 };