Hide Forgot
Description of problem ====================== sblim-cmpi-base does not package LinuxBase.registration, for some reason: RHEL6 .spec: %define SCHEMA %{_datadir}/%{name}/Linux_Base.mof %define REGISTRATION %{_datadir}/%{name}/Linux_Base.registration RHEL7 .spec: %global SCHEMA %{_datadir}/%{name}/Linux_Base.mof %{_datadir}/%{name}/Linux_BaseIndication.mof %global REGISTRATION %{_datadir}/%{name}/Linux_BaseIndication.registration This means that the usually recommended registration command will fail: [0 root@qeos-68 ~]# /usr/share/sblim-cmpi-base/provider-register.sh -t sfcb -m /usr/share/sblim-cmpi-base/Linux_Base.mof -r /usr/share/sblim-cmpi-base/Linux_Base.registration; echo es=$? cat: /usr/share/sblim-cmpi-base/Linux_Base.registration: No such file or directory cp: cannot stat ‘/var/tmp/Linux_Base.reg’: No such file or directory Error: could not copy registration files Failed to stage provider registration. es=1 [0 root@qeos-68 ~]# Version-Release number of selected component ============================================ sblim-cmpi-base-1.6.2-8.el7 (probably also older versions) How reproducible ================ Always Steps to Reproduce ================== 1. run command above Actual results ============== Errors, exit status 1 Expected results ================ No errors, exit status 0 Additional info =============== I'm suspecting f5adb36: commit f5adb36e3f637a29305006ba9e149174f58091d7 Author: REDACTED <redacted> Date: Wed Feb 15 17:37:57 2012 +0100 [...] @@ -90,8 +90,8 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/sblim-testsuite/system/linux/*.sh %{_datadir}/sblim-testsuite/system/linux/*.pl -%define SCHEMA %{_datadir}/%{name}/Linux_Base.mof -%define REGISTRATION %{_datadir}/%{name}/Linux_Base.registration +%define SCHEMA %{_datadir}/%{name}/Linux_Base.mof %{_datadir}/%{name}/Linux_BaseIndication.mof +%define REGISTRATION %{_datadir}/%{name}/Linux_BaseIndication.registration %pre function unregister() [...] The same can be observed on with older versions (tested RHEL-7.2), so this is not a (new) regression.
FTR: my guess is that the reason this was not found for ~4 years is because it was covered up by bug 1179885 (the missing dependency); causing the code to die too soon to hit this.
The provider registers itself automatically during package installation, usually you don't need to invoke the registration manually. Nevertheless, Linux_BaseIndication.registration contains all necessary information needed for provider registration. It's superset of Linux_Base.registration and we switched to it because of indication support. The command should look like: # /usr/share/sblim-cmpi-base/provider-register.sh -t sfcb -m /usr/share/sblim-cmpi-base/Linux_Base.mof -r /usr/share/sblim-cmpi-base/Linux_BaseIndication.registration; echo es=$? es=0 If you use tog-pegasus, you have to deregister the provider first, because registration of already registered provider fails with this CIMOM: # /usr/share/sblim-cmpi-base/provider-register.sh -d -t pegasus -m /usr/share/sblim-cmpi-base/Linux_Base.mof -r /usr/share/sblim-cmpi-base/Linux_BaseIndication.registration; echo es=$? es=0 # /usr/share/sblim-cmpi-base/provider-register.sh -t pegasus -m /usr/share/sblim-cmpi-base/Linux_Base.mof -r /usr/share/sblim-cmpi-base/Linux_BaseIndication.registration; echo es=$? es=0 I've tested it on RHEL-7.2 and works like a charm with both CIMOMs.
Thanks for explanation. Good to hear we don't have to carry out the registration (in those tests that are just "pure clean" sfcb + cmpi-base); I was getting "class not found" message on Linux_ComputerSystem so I was suspecting that the registration has to be done manually. I'll look into that and see if I can reproduce that and what was the problem. Thanks!