iron-io / issues

For Iron.io services issue tracking. Public facing issue tracking for behind the scenes issues.
5 stars 0 forks source link

iron-mq python client library not working when the request was posted to queue that is configured in the Rackspace. #76

Open kakumanu opened 11 years ago

kakumanu commented 11 years ago

Hello,

Python client library is working when it is pointed to AWS host: ("host":"mq-aws-us-east-1.iron.io")

from iron_mq import * ironmq = IronMQ() ironmq.queues() [u'my_queue']

But not working when it was pointed to RS host: ("host":"mq-rackspace-dfw.iron.io")

from iron_mq import ironmq = IronMQ() ironmq.queues() Traceback (most recent call last): File "", line 1, in File "build/bdist.macosx-10.7-intel/egg/iron_mq.py", line 225, in queues File "build/bdist.macosx-10.7-intel/egg/iron_core.py", line 198, in get File "build/bdist.macosx-10.7-intel/egg/iron_core.py", line 152, in request File "build/bdist.macosx-10.7-intel/egg/iron_core.py", line 111, in _doRequest File "/Library/Python/2.6/site-packages/requests-1.2.3-py2.6.egg/requests/sessions.py", line 347, in get return self.request('GET', url, _kwargs) File "/Library/Python/2.6/site-packages/requests-1.2.3-py2.6.egg/requests/sessions.py", line 335, in request resp = self.send(prep, *_send_kwargs) File "/Library/Python/2.6/site-packages/requests-1.2.3-py2.6.egg/requests/sessions.py", line 438, in send r = adapter.send(request, **kwargs) File "/Library/Python/2.6/site-packages/requests-1.2.3-py2.6.egg/requests/adapters.py", line 331, in send raise SSLError(e) requests.exceptions.SSLError: [Errno 1] _ssl.c:490: error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version

carimura commented 11 years ago

OK got your email as well: cc @iced @paddyforan @treeder @rkononov

carimura commented 11 years ago

@kakumanu Any chance you can test this with Python 2.7.3 or later as a sanity check? That way we can isolate the issue and try and resolve it for 2.6 (the version you are on)

kakumanu commented 11 years ago

Hi Carimura,

Unfortunately I do not have Python2.7.3 or later installed in my home computer or on the RS node. So I just tested with Python2.7.2 and confirmed that same error is getting with it too

admininstrators-MacBook-Pro:~$ python2.7 Python 2.7.2 (v2.7.2:8527427914a2, Jun 11 2011, 15:22:34) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin Type "help", "copyright", "credits" or "license" for more information.

from iron_mq import ironmq = IronMQ() ironmq.queues() Traceback (most recent call last): File "", line 1, in File "build/bdist.macosx-10.7-intel/egg/iron_mq.py", line 225, in queues File "build/bdist.macosx-10.7-intel/egg/iron_core.py", line 198, in get File "build/bdist.macosx-10.7-intel/egg/iron_core.py", line 152, in request File "build/bdist.macosx-10.7-intel/egg/iron_core.py", line 111, in _doRequest File "/Library/Python/2.7/site-packages/requests-1.2.3-py2.7.egg/requests/sessions.py", line 347, in get return self.request('GET', url, _kwargs) File "/Library/Python/2.7/site-packages/requests-1.2.3-py2.7.egg/requests/sessions.py", line 335, in request resp = self.send(prep, *_send_kwargs) File "/Library/Python/2.7/site-packages/requests-1.2.3-py2.7.egg/requests/sessions.py", line 438, in send r = adapter.send(request, **kwargs) File "/Library/Python/2.7/site-packages/requests-1.2.3-py2.7.egg/requests/adapters.py", line 331, in send raise SSLError(e) requests.exceptions.SSLError: [Errno 1] _ssl.c:503: error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version

carimura commented 11 years ago

@iced @kakumanu OK looks like I have also reproduced the issue from my local machine that is running 2.7.1 ... Let me see what I can do from here.

[/Users/chad/workspace/iron/test/vufind] # python test.py
Traceback (most recent call last):
  File "test.py", line 9, in <module>
    q = ironmq.queues()
  File "/Library/Python/2.7/site-packages/iron_mq.py", line 225, in queues
    result = self.client.get(url)
  File "/Library/Python/2.7/site-packages/iron_core.py", line 198, in get
    retry=retry)
  File "/Library/Python/2.7/site-packages/iron_core.py", line 152, in request
    r = self._doRequest(url, method, body, headers)
  File "/Library/Python/2.7/site-packages/iron_core.py", line 111, in _doRequest
    r = self.conn.get(url, headers=headers)
  File "/Library/Python/2.7/site-packages/requests/sessions.py", line 347, in get
    return self.request('GET', url, **kwargs)
  File "/Library/Python/2.7/site-packages/requests/sessions.py", line 335, in request
    resp = self.send(prep, **send_kwargs)
  File "/Library/Python/2.7/site-packages/requests/sessions.py", line 438, in send
    r = adapter.send(request, **kwargs)
  File "/Library/Python/2.7/site-packages/requests/adapters.py", line 331, in send
    raise SSLError(e)
requests.exceptions.SSLError: [Errno 1] _ssl.c:499: error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version
[/Users/chad/workspace/iron/test/vufind] # python --version
Python 2.7.1
carimura commented 11 years ago

I'll test 2.7.3 on local box --- stand by - give me 2 hours or so

carimura commented 11 years ago

OK I've finally confirmed that this is an issue with both Python 2.7.1 and 2.7.2 but NOT 2.7.3.

We have two options:

1) Upgrade your Python version to 2.7.3 -- is this possible? 2) We can try and dig in to see what the Cloud Load Balancers problem is with 2.7.2

@kakumanu thoughts?

carimura commented 11 years ago

@kakumanu are you getting the SSL error on non MacOS machines such as your RS node? If so, which version of Python?

carimura commented 11 years ago

@kakumanu I take all that back.... try it now with this endpoint (ORD)

ironmq = IronMQ( host='mq-rackspace-ord.iron.io', protocol='https', port=443)

carimura commented 11 years ago

@kakamanu - you might not have the right certificate installed on your RS node. Can you try the following links? A quick search (http://goo.gl/MegEH) brought up some solutions:

http://stackoverflow.com/questions/13321302/python-foursquare-ssl3-certificate-verify-failed http://stackoverflow.com/questions/7497213/python-client-ssl-lib-certificate-verify-failed

Can you let us know?

Thanks.