Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 1373700

Summary: LinuxBase.registration is missing
Product: Red Hat Enterprise Linux 7 Reporter: Alois Mahdal <amahdal>
Component: sblim-cmpi-baseAssignee: Vitezslav Crhonek <vcrhonek>
Status: CLOSED NOTABUG QA Contact: qe-baseos-daemons
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.3   
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-09-07 08:12:32 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Alois Mahdal 2016-09-07 02:08:21 UTC
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.

Comment 1 Alois Mahdal 2016-09-07 03:38:59 UTC
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.

Comment 3 Vitezslav Crhonek 2016-09-07 08:12:32 UTC
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.

Comment 4 Alois Mahdal 2016-09-07 15:32:11 UTC
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!