Bug 785265

Summary: DBUS required to send package information during registration
Product: Red Hat Enterprise Linux 6 Reporter: Og Maciel <omaciel>
Component: subscription-managerAssignee: candlepin-bugs
Status: CLOSED ERRATA QA Contact: Entitlement Bugs <entitlement-bugs>
Severity: low Docs Contact:
Priority: unspecified    
Version: 6.1CC: bkearney, jmolet, msuchy, syeghiay
Target Milestone: rcKeywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Cause: dbus is not included in a minimal install Consequence: rhsmcertd will swallow tracebacks due to missing dbus and therefore cannot communicate to candlepin/sam/katello (subscription management servers) on a daemon like basis. Fix: yum install dbus Result: rhsmcertd will operate normally.
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-02-21 08:53:45 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 771481    

Description Og Maciel 2012-01-27 20:02:22 UTC
Description of problem:

Seems that we have a dependency on DBUS and friends being installed in a client in order for subscription-manager to send packages information during a registration. Is this assumption correct? My RHEL 6.1 system was installed using the "minimal" installation option in Anaconda, and apparently this option does not install DBUS by default. Registering a system with the instructions detailed here (https://fedorahosted.org/katello/wiki/GuideSystemRegistrationClient#RegisteringfromtheClient) failed to submit packages information back to the katello server. The detailed error from rhsm.log follows.

Version-Release number of selected component (if applicable):

Katello Version: 0.1.199-1.el6

How reproducible:


Steps to Reproduce:
1. Boot a "minimal" installation of RHEL 6.1
2. Attempt to register it following the instructions in the aforementioned wiki page
3.
  
Actual results:

The system does get registered but when you browse its' Software or Packages tab in the web ui, nothing is displayed.


Expected results:


Additional info:

rhsm.log:

2012-01-27 13:37:04,045 [INFO] autosubscribe() @managercli.py:83 - Automatically subscribed to products: Red Hat Enterprise Linux 6 Server
2012-01-27 13:37:04,046 [ERROR] handle_exception() @managercli.py:46 - exception caught in subscription-manager
2012-01-27 13:37:04,049 [ERROR] handle_exception() @managercli.py:47 - org.freedesktop.DBus.Error.FileNotFound: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
Traceback (most recent call last):
  File "/usr/sbin/subscription-manager", line 78, in <module>
    sys.exit(abs(main() or 0))
  File "/usr/sbin/subscription-manager", line 69, in main
    return managercli.CLI().main()
  File "/usr/share/rhsm/managercli.py", line 842, in main
    cmd.main()
  File "/usr/share/rhsm/managercli.py", line 189, in main
    self._do_command()
  File "/usr/share/rhsm/managercli.py", line 437, in _do_command
    dbus_proxy_iface = self._get_dbus_iface()
  File "/usr/share/rhsm/managercli.py", line 113, in _get_dbus_iface
    bus = dbus.SystemBus()
  File "/usr/lib/python2.6/site-packages/dbus/_dbus.py", line 202, in __new__
    private=private)
  File "/usr/lib/python2.6/site-packages/dbus/_dbus.py", line 108, in __new__
    bus = BusConnection.__new__(subclass, bus_type, mainloop=mainloop)
  File "/usr/lib/python2.6/site-packages/dbus/bus.py", line 125, in __new__
    bus = cls._new_for_bus(address_or_type, mainloop=mainloop)
DBusException: org.freedesktop.DBus.Error.FileNotFound: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory

Comment 1 Miroslav Suchý 2012-08-21 17:03:03 UTC
This is related to subscription manager.

Comment 3 Bryan Kearney 2012-10-12 14:58:03 UTC
Latest spec file includes dbus items, so this should be resolved. Moving to on_qa for verification.

Comment 6 J.C. Molet 2012-12-12 15:27:01 UTC
Testing with a minimal install of the latest 6.4 release candidate with included: 
subscription-manager-1.1.11-1.el6.x86_64

Although python-dbus is a dependency now, it pulls down a few dbus related libraries but not dbus itself:

# rpm -qa | grep dbus
dbus-libs-1.2.24-7.el6_3.x86_64
dbus-python-0.83.0-6.1.el6.x86_64
dbus-glib-0.86-5.el6.x86_64

I don't believe dbus will get installed until subscription-manager-gui is installed (which requires dbus-x11).

That being said, I cannot reproduce this traceback either by subscribing or running rhsmcertd directly.  It seems now that if subscription-manager detects that dbus is not running, it quietly exits.

So I have verified that the traceback has been cleaned up, but I'm not convinced the expected results have been satisfied.

Comment 7 J.C. Molet 2012-12-13 16:42:57 UTC
I'm marking this VERIFIED due to the results in comment 6 for the following reasons:

1) The traceback has been fixed.
2) The purpose of a minimal install is just to be a starting point to install other packages - which we currently can do.
3) The fix would be to register the system and run 'yum install dbus'

Comment 9 errata-xmlrpc 2013-02-21 08:53:45 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2013-0350.html