libcloud-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jacob Riley (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LIBCLOUD-791) Connection to the Linode API drops
Date Wed, 13 Jan 2016 22:09:40 GMT

    [ https://issues.apache.org/jira/browse/LIBCLOUD-791?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15097112#comment-15097112
] 

Jacob Riley commented on LIBCLOUD-791:
--------------------------------------

It would make sense.

curl -i -X GET -H 'Host: api.linode.com' -H 'X-LC-Request-ID: 140040111659984' -H 'Accept-Encoding:
gzip,deflate' -H 'User-Agent: libcloud/0.18.0 (Linode) ' --compress 'https://api.linode.com:443/?api_key=sekrit&api_responseFormat=json&api_action=avail.linodeplans'

This curl request works as long as I can force the TLS version to be 1.2 when connecting.

Is it possible that the curl request internal to libcloud is not the same as the one shown
in the DEBUG output?

I'll do some more searching and it turns out the ticket I had with Linode going for the last
week was closed.

> Connection to the Linode API drops
> ----------------------------------
>
>                 Key: LIBCLOUD-791
>                 URL: https://issues.apache.org/jira/browse/LIBCLOUD-791
>             Project: Libcloud
>          Issue Type: Bug
>          Components: Compute
>         Environment: apache-libcloud==0.18.0
> Ubuntu 14.04
> Python2.7
>            Reporter: Jacob Riley
>
> When attempting to connect to Linode through the Linode provider, I am receiving a dropped
connection. The following DEBUG information is attached.
> I have also found that when taking the below curl request and sending it normally, I
do not have any errors on getting a response.
> # -------- begin 140040111659984 request ----------
> curl -i -X GET -H 'Host: api.linode.com' -H 'X-LC-Request-ID: 140040111659984' -H 'Accept-Encoding:
gzip,deflate' -H 'User-Agent: libcloud/0.18.0 (Linode) ' --compress 'https://api.linode.com:443/?api_key=sekrit&api_responseFormat=json&api_action=avail.linodeplans'
> Traceback (most recent call last):
>   File "test.py", line 6, in <module>
>     p.worker.consume_queue()
>   File "/srv/auction-balancer/Auction-Balancer/sae/prov/util/worker.py", line 53, in
wrapped_func
>     channel.start_consuming()
>   File "/srv/auction-balancer/Auction-Balancer/provenv/local/lib/python2.7/site-packages/pika/adapters/blocking_connection.py",
line 1681, in start_consuming
>     self.connection.process_data_events(time_limit=None)
>   File "/srv/auction-balancer/Auction-Balancer/provenv/local/lib/python2.7/site-packages/pika/adapters/blocking_connection.py",
line 656, in process_data_events
>     self._dispatch_channel_events()
>   File "/srv/auction-balancer/Auction-Balancer/provenv/local/lib/python2.7/site-packages/pika/adapters/blocking_connection.py",
line 469, in _dispatch_channel_events
>     impl_channel._get_cookie()._dispatch_events()
>   File "/srv/auction-balancer/Auction-Balancer/provenv/local/lib/python2.7/site-packages/pika/adapters/blocking_connection.py",
line 1310, in _dispatch_events
>     evt.body)
>   File "/srv/auction-balancer/Auction-Balancer/sae/prov/util/worker.py", line 45, in
callback
>     success = func(message)
>   File "/srv/auction-balancer/Auction-Balancer/sae/prov/util/worker.py", line 102, in
consume_queue
>     node = server.create_node('linode', name=machine_name, size_id='Linode 1024', image_id='Ubuntu
14.04 LTS')
>   File "/srv/auction-balancer/Auction-Balancer/sae/prov/util/provider.py", line 78, in
create_node
>     size = [s for s in driver.list_sizes() if s.name == size_id][0]
>   File "/srv/auction-balancer/Auction-Balancer/provenv/local/lib/python2.7/site-packages/libcloud/compute/drivers/linode.py",
line 405, in list_sizes
>     data = self.connection.request(API_ROOT, params=params).objects[0]
>   File "/srv/auction-balancer/Auction-Balancer/provenv/local/lib/python2.7/site-packages/libcloud/common/base.py",
line 784, in request
>     headers=headers)
>   File "/srv/auction-balancer/Auction-Balancer/provenv/local/lib/python2.7/site-packages/libcloud/common/base.py",
line 443, in request
>     headers)
>   File "/usr/lib/python2.7/httplib.py", line 979, in request
>     self._send_request(method, url, body, headers)
>   File "/usr/lib/python2.7/httplib.py", line 1013, in _send_request
>     self.endheaders(body)
>   File "/usr/lib/python2.7/httplib.py", line 975, in endheaders
>     self._send_output(message_body)
>   File "/usr/lib/python2.7/httplib.py", line 835, in _send_output
>     self.send(msg)
>   File "/usr/lib/python2.7/httplib.py", line 797, in send
>     self.connect()
>   File "/srv/auction-balancer/Auction-Balancer/provenv/local/lib/python2.7/site-packages/libcloud/httplib_ssl.py",
line 280, in connect
>     ssl_version=libcloud.security.SSL_VERSION)
>   File "/usr/lib/python2.7/ssl.py", line 487, in wrap_socket
>     ciphers=ciphers)
>   File "/usr/lib/python2.7/ssl.py", line 243, in __init__
>     self.do_handshake()
>   File "/usr/lib/python2.7/ssl.py", line 405, in do_handshake
>     self._sslobj.do_handshake()
> socket.error: [Errno 104] Connection reset by peer
> Testing with a separate library also based on httplib , I found that it is not failing
when connecting to the Linode API however.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message