You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by "Avi Weit (JIRA)" <ji...@apache.org> on 2015/06/03 13:22:49 UTC
[jira] [Commented] (LIBCLOUD-716) Fail to use openstack compute
driver
[ https://issues.apache.org/jira/browse/LIBCLOUD-716?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14570673#comment-14570673 ]
Avi Weit commented on LIBCLOUD-716:
-----------------------------------
>From looking into the code, I get the impression that ports are integers.
I will soon provide a PR with a fix suggestion that is working for me.
> Fail to use openstack compute driver
> ------------------------------------
>
> Key: LIBCLOUD-716
> URL: https://issues.apache.org/jira/browse/LIBCLOUD-716
> Project: Libcloud
> Issue Type: Bug
> Components: Compute
> Reporter: Avi Weit
>
> OpenStack compute driver APIs fail.
> I can not run openstack examples under docs/examples/compute. After updating with credentials (user/password) and setting ex_force_auth_url to point to my keystone service of my latest devstack, it immediately fail on every API call (e.g. driver.list_images, driver.list_sizes, ..):
> {code}
> Traceback (most recent call last):
> File "docs/examples/compute/openstack/tenant_name.py", line 10, in <module>
> print driver.list_sizes()
> File "/.my-virtenv/local/lib/python2.7/site-packages/apache_libcloud-0.17.1.dev0-py2.7.egg/libcloud/compute/drivers/openstack.py", line 283, in list_sizes
> self.connection.request('/flavors/detail').object)
> File "/.my-virtenv/local/lib/python2.7/site-packages/apache_libcloud-0.17.1.dev0-py2.7.egg/libcloud/common/openstack.py", line 200, in request
> raw=raw)
> File "/.my-virtenv/local/lib/python2.7/site-packages/apache_libcloud-0.17.1.dev0-py2.7.egg/libcloud/common/base.py", line 738, in request
> headers=headers)
> File "/usr/lib/python2.7/httplib.py", line 973, in request
> self._send_request(method, url, body, headers)
> File "/usr/lib/python2.7/httplib.py", line 1007, in _send_request
> self.endheaders(body)
> File "/usr/lib/python2.7/httplib.py", line 969, in endheaders
> self._send_output(message_body)
> File "/usr/lib/python2.7/httplib.py", line 829, in _send_output
> self.send(msg)
> File "/usr/lib/python2.7/httplib.py", line 791, in send
> self.connect()
> File "/usr/lib/python2.7/httplib.py", line 772, in connect
> self.timeout, self.source_address)
> File "/usr/lib/python2.7/socket.py", line 556, in create_connection
> for res in getaddrinfo(host, port, 0, SOCK_STREAM):
> socket.error: getaddrinfo() argument 2 must be integer or string
> {code}
> I can see that the port is being parsed into a unicode type and I assume that this is the reason create_connection of socket.py fails.
> When running it in debug mode (e.g. LIBCLOUD_DEBUG=/dev/stderr LIBCLOUD_DEBUG_PRETTY_PRINT_RESPONSE=1 python docs/examples/compute/openstack/tenant_name.py)
> then it fails with the following exception:
> {code}
> Traceback (most recent call last):
> File "docs/examples/compute/openstack/tenant_name.py", line 10, in <module>
> print driver.list_sizes()
> File "/.my-virtenv/local/lib/python2.7/site-packages/apache_libcloud-0.17.1.dev0-py2.7.egg/libcloud/compute/drivers/openstack.py", line 283, in list_sizes
> self.connection.request('/flavors/detail').object)
> File "/.my-virtenv/local/lib/python2.7/site-packages/apache_libcloud-0.17.1.dev0-py2.7.egg/libcloud/common/openstack.py", line 200, in request
> raw=raw)
> File "/.my-virtenv/local/lib/python2.7/site-packages/apache_libcloud-0.17.1.dev0-py2.7.egg/libcloud/common/base.py", line 674, in request
> action = self.morph_action_hook(action)
> File "/.my-virtenv/local/lib/python2.7/site-packages/apache_libcloud-0.17.1.dev0-py2.7.egg/libcloud/common/openstack.py", line 255, in morph_action_hook
> self._populate_hosts_and_request_paths()
> File "/.my-virtenv/local/lib/python2.7/site-packages/apache_libcloud-0.17.1.dev0-py2.7.egg/libcloud/common/openstack.py", line 288, in _populate_hosts_and_request_paths
> osa = osa.authenticate(**kwargs) # may throw InvalidCreds
> File "/.my-virtenv/local/lib/python2.7/site-packages/apache_libcloud-0.17.1.dev0-py2.7.egg/libcloud/common/openstack_identity.py", line 841, in authenticate
> return self._authenticate_2_0_with_password()
> File "/.my-virtenv/local/lib/python2.7/site-packages/apache_libcloud-0.17.1.dev0-py2.7.egg/libcloud/common/openstack_identity.py", line 866, in _authenticate_2_0_with_password
> return self._authenticate_2_0_with_body(reqbody)
> File "/.my-virtenv/local/lib/python2.7/site-packages/apache_libcloud-0.17.1.dev0-py2.7.egg/libcloud/common/openstack_identity.py", line 871, in _authenticate_2_0_with_body
> method='POST')
> File "/.my-virtenv/local/lib/python2.7/site-packages/apache_libcloud-0.17.1.dev0-py2.7.egg/libcloud/common/base.py", line 738, in request
> headers=headers)
> File "/.my-virtenv/local/lib/python2.7/site-packages/apache_libcloud-0.17.1.dev0-py2.7.egg/libcloud/common/base.py", line 440, in request
> self._log_curl(method, url, body, headers) + "\n")
> File "/.my-virtenv/local/lib/python2.7/site-packages/apache_libcloud-0.17.1.dev0-py2.7.egg/libcloud/common/base.py", line 390, in _log_curl
> self.port, url))])
> TypeError: %d format: a number is required, not str
> {code}
> _log_curl expects the port to be an int.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)