Bug 1023056

Summary: qpid ssl broken on f19
Product: [Retired] Pulp Reporter: Jeff Ortel <jortel>
Component: consumersAssignee: Jeff Ortel <jortel>
Status: CLOSED CURRENTRELEASE QA Contact: Preethi Thomas <pthomas>
Severity: high Docs Contact:
Priority: high    
Version: MasterCC: mhrivnak, pthomas, skarmark
Target Milestone: ---Keywords: Triaged
Target Release: 2.3.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-12-09 14:30:35 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 Jeff Ortel 2013-10-24 14:03:22 UTC
Description of problem:

F19 has the latest python-qpid-0.24.  In which the transport API changed which results in an API mismatch with gofer.

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

ALL

How reproducible:

Always.

Steps to Reproduce:
1.  Configure pulp and qpidd for SSL
2.  Start the agent.
3.  Watch it hang on "connecting ..."

Actual results:

agent.log:

Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 811, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 764, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/lib/python2.7/site-packages/qpid/selector.py", line 135, in run
    sel.writeable()
  File "<string>", line 6, in writeable
  File "/usr/lib/python2.7/site-packages/qpid/messaging/driver.py", line 463, in writeable
    n = self._transport.send(self.engine.peek())
  File "/usr/lib/python2.7/site-packages/qpid/messaging/transports.py", line 161, in send
    if self.write_retry is None:
AttributeError: SSL instance has no attribute 'write_retry'

Expected results:

"connected to AMQP" in the agent.log.


Additional info:

Comment 1 Jeff Ortel 2013-10-24 14:08:41 UTC
Solution:
1. Get rid of custom SSL transport in gofer and pass ssl_ arguments to messaging.Connection() instead.

2. Bump the requires: python-qpid >= 0.18.  Looks like 0.22 is built in brew for el5 but 0.18 is the version aligned with rhel5 and will be sufficient.

3. Probably need to update deps/python-qpid to 0.18.  Currently it's at 0.7 :/

Comment 2 Jeff Ortel 2013-10-29 14:13:31 UTC
Example 2.2 manifest.json:
# pwd
/var/lib/pulp/working/repos/NetEnt-rhel-6-4-server-x86_64-os/importers/nodes_http_importer
[root@ind-pulp-01 nodes_http_importer]# cat manifest.json 
{
  "total_units": 12565, 
  "publishing_details": {
    "base_url": "https://cyd-pulp-01.nix.cydmodule.com/pulp/nodes/https/repos/NetEnt-rhel-6-4-server-x86_64-os"
  }, 
  "id": "c85a8d67-5edb-46f7-8d2a-458fc29858e4", 
  "units_path": "/var/www/pulp/nodes/https/repos/tmp0HZaF4/units.json.gz"

Comment 3 Jeff Ortel 2013-10-29 14:24:03 UTC
Comment added #2 added to wrong bug.

Comment 4 Jeff Ortel 2013-11-01 17:06:42 UTC
Fixed in gofer 0.77.1.

https://github.com/pulp/pulp/pull/697

Comment 5 Jeff Ortel 2013-11-01 22:29:02 UTC
build: 2.3.0-0.27.beta

Comment 6 Preethi Thomas 2013-11-06 21:20:30 UTC
verified that pulp-agent can be restarted with qpid ssl 

tested in rhel6 & f19

followed
http://pulp-user-guide.readthedocs.org/en/pulp-2.2/qpid.html

to setup

Comment 7 Preethi Thomas 2013-12-09 14:30:35 UTC
Pulp 2.3 released.