Bug 1065367

Summary: goferd doesn't log failures
Product: [Retired] Pulp Reporter: Chris St. Pierre <cstpierr>
Component: nodesAssignee: pulp-bugs
Status: CLOSED UPSTREAM QA Contact: pulp-qe-list
Severity: low Docs Contact:
Priority: medium    
Version: 2.3CC: skarmark
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-02-28 22:02:41 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 Chris St. Pierre 2014-02-14 13:42:01 UTC
Description of problem:

If goferd cannot authenticate to the parent, it fails silently unless you run it in the foreground.

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

pulp-agent-2.3.1-1.el6.noarch
python-pulp-agent-lib-2.3.1-1.el6.noarch
gofer-0.77.1-1.el6.noarch
python-gofer-0.77.1-1.el6.noarch

How reproducible:

Always.

Steps to Reproduce:
1. Break authentication on the parent.  I believe it should be sufficient to disable OAuth.
2. Start goferd on the child.
3. Be puzzled about why things aren't working.

Actual results:

goferd silently fails to authenticate and syncs time out with no explanation of why.

Expected results:

goferd should log the detailed and useful error message it produces when run in the foreground.  (For extra points, a more useful message about where to look when a sync times out would be awful nice, too.)

Additional info:

Comment 1 Chris St. Pierre 2014-02-14 19:30:01 UTC
It turns out that my ultimate problem was this: https://bugzilla.redhat.com/show_bug.cgi?id=834697

So it'd be extra super nice if goferd caught this exception and logged something friendly about disabling qpidd authentication:

Exception in thread ip-10-196-7-184.poc.ae1.mclassdc.net:
Traceback (most recent call last):
  File "/usr/lib64/python2.6/threading.py", line 532, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.6/site-packages/gofer/messaging/consumer.py", line 61, in run
    receiver = self.__open()
  File "/usr/lib/python2.6/site-packages/gofer/messaging/consumer.py", line 89, in __open
    ssn = self.__consumer.session()
  File "/usr/lib/python2.6/site-packages/gofer/messaging/endpoint.py", line 186, in session
    self.__session = self.ssnpool.get(self.url)
  File "/usr/lib/python2.6/site-packages/gofer/messaging/endpoint.py", line 54, in get
    con = broker.connect()
  File "/usr/lib/python2.6/site-packages/gofer/messaging/broker.py", line 108, in connect
    con.attach()
  File "<string>", line 6, in attach
  File "/usr/lib/python2.6/site-packages/qpid/messaging/endpoints.py", line 274, in attach
    self._ewait(lambda: self._transport_connected and not self._unlinked())
  File "/usr/lib/python2.6/site-packages/qpid/messaging/endpoints.py", line 209, in _ewait
    self.check_error()
  File "/usr/lib/python2.6/site-packages/qpid/messaging/endpoints.py", line 202, in check_error
    raise self.error
AuthenticationFailure: Error in sasl_client_start (-1) SASL(-1): generic failure: GSSAPI Error: Unspecified GSS failure.  Minor code may provide more information (Credentials cache file '/tmp/krb5cc_0' not found)

As it stands, the error, which is largely impenetrable, is also hidden.

Comment 2 Brian Bouterse 2015-02-28 22:02:41 UTC
Moved to https://pulp.plan.io/issues/398