Details
-
Bug
-
Status: Closed
-
Blocker
-
Resolution: Fixed
-
qpid-cpp-1.37.0
-
None
-
Fedora 25, fully up to date
via dnf I installed:
qpid-proton-c-0.17.0-5.fc25.x86_64
qpid-cpp-server-1.36.0-1.fc25.x86_64pip freeze in my virtual environment is:
python-qpid-proton==0.19.0
qpid-tools==1.37.0Note this is with Python 3.5.4
Note that qpid-tools is a checkout that includes this commit 0ffa89e177346e68bdeb5a24b9f25190c983bd34 because I need it, and the version on PyPI does not include it.
Fedora 25, fully up to date via dnf I installed: qpid-proton-c-0.17.0-5.fc25.x86_64 qpid-cpp-server-1.36.0-1.fc25.x86_64 pip freeze in my virtual environment is: python-qpid-proton==0.19.0 qpid-tools==1.37.0 Note this is with Python 3.5.4 Note that qpid-tools is a checkout that includes this commit 0ffa89e177346e68bdeb5a24b9f25190c983bd34 because I need it, and the version on PyPI does not include it.
Description
1. Start qpidd and verify that it starts
2. Verify it's listening on 5762 using `sudo netstat -planet | grep 5672`
3. Telnet connect to it with `telnet localhost 5672` observe that it connects
Try to connect it to with qmf.BrokerAgent
from qmf.client import BrokerAgent, ReconnectDelays
conn_opts =
ba = BrokerAgent.connect(**conn_opts)
ba.getAllQueues()
I get this exception after 10 seconds:
File "/home/vagrant/devel/kombu/kombu/transport/qpid.py", line 586, in exchange_declare
self._broker.addExchange(type, exchange, options)
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.5/site-packages/qmf/client.py", line 344, in addExchange
self._method('create', args)
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.5/site-packages/qmf/client.py", line 233, in _method
response = self._retry(self._request, '_method_request', content)
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.5/site-packages/qmf/client.py", line 215, in _retry
return f(*args, **kwargs)
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.5/site-packages/qmf/client.py", line 224, in _request
return self._client.call(Message(body=content, properties=props, subject="broker"))
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.5/site-packages/qmf/client.py", line 118, in call
return self.wait(self.send(request))
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.5/site-packages/qmf/client.py", line 137, in wait
self.connection.wait(wakeup, msg="Waiting for response")
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.5/site-packages/proton/utils.py", line 292, in wait
raise Timeout(txt)
proton.Timeout: Connection amqp://localhost:5672 timed out: Waiting for response
What is interesting is that on the same system with simply_send.py (the standard example) it connects and sends with the exact same url. I do that with this:
(pulp) [vagrant@pulp3 devel]$ python simple_send.py --address 'amqp://localhost:5672' -m 1
all messages confirmed
The 'all messages confirmed' suggests that everything went fine and the reactor called on_accepted().
So I conclude that BrokerAgent is somehow fundamentally not working or my environment is screwed up somehow.
This same commit checkout was working with Python 2.7. I don't have that environment handy currently, but I suspect this is somehow broken with Python 3.