When trying to register a Linux client with an RHN Satellite server using the rhnreg_ks utility, the following error is displayed:
Introspect error: The name com.redhat.SubscriptionManager was not provided by any .service files
Background & Analysis:
The Linux client was on RHEL 5.8
The rhnreg_ks is a utility used to register a Linux client with RHN and is part of the rhn-setup package (rpm).
Even though the error was displayed, the Linux client was successfully registered with RHN.
I obtained the following solution from this Red Hat Bug Listing. So, here’s what I implemented:
STEP 1: Determine location of rhnreg.py and back it up
sudo grep 'com.redhat.SubscriptionManager' `rpm -ql rhn-client-tools rhn-setup`
For my Linux client, rhnreg.py was located in /usr/share/rhn/up2date_client/
Take a backup of rhnreg.py
STEP 2: Modify rhnreg.py
Comment out the following:
#validity_obj = bus.get_object('com.redhat.SubscriptionManager', #'/EntitlementStatus')
Add the following just below the commented lines:
validity_obj = bus.ProxyObjectClass(bus,'com.redhat.SubscriptionManager', '/EntitlementStatus', introspect=False)
NOTE: Since you are modifying Python code, ensure that you maintain the program indentation.
The RHN registration client writes an exception to stderr. The functionality isn’t affected and so this change only has aesthetic value. Perhaps, that’s why I did not find an update in the RHN RHEL 5.8 repository. Anyway, for those of you who find that exception annoying, you now know how to get rid of it.
(1) The solution above describes a successful problem-solving experience and may not be applicable to other problems with similar symptoms.
(2) Your rating of this post will be much appreciated as it gives me and others who read this article, an indication of whether this solution has worked for people other than me. Also, feel free to leave comments.