[
https://issues.apache.org/jira/browse/LIBCLOUD-635?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14389873#comment-14389873
]
Tom Fifield commented on LIBCLOUD-635:
--------------------------------------
Here's a full ipython session that adds a print endpoint line above the trace
(libcloud 0.17)
In [9]: conn = OpenStack('demo', 'DEMO_PASS',
ex_force_auth_url='http://10.0.0.11:5000',
ex_force_auth_version='2.0_password',
ex_tenant_name='demo',
ex_force_service_region='regionOne')
In [10]: conn.list_containers()
<OpenStackServiceCatalogEntryEndpoint region=regionOne,
url=http://controller:8080/v1/AUTH_4705ad9afbcf47918e1ec59ae203be50,
type=external
<OpenStackServiceCatalogEntryEndpoint region=regionOne,
url=http://controller:8080/v1/AUTH_4705ad9afbcf47918e1ec59ae203be50,
type=external
<OpenStackServiceCatalogEntryEndpoint region=regionOne,
url=http://controller:8080/v1/AUTH_4705ad9afbcf47918e1ec59ae203be50,
type=external
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-10-8f181ac12ed2> in <module>()
----> 1 conn.list_containers()
/usr/local/lib/python2.7/dist-packages/libcloud/storage/base.pyc in
list_containers(self)
214 :rtype: ``list`` of :class:`Container`
215 """
--> 216 return list(self.iterate_containers())
217
218 def iterate_container_objects(self, container):
/usr/local/lib/python2.7/dist-packages/libcloud/storage/drivers/cloudfiles.py
in iterate_containers(self)
270
271 def iterate_containers(self):
--> 272 response = self.connection.request('')
273
274 if response.status == httplib.NO_CONTENT:
/usr/local/lib/python2.7/dist-packages/libcloud/storage/drivers/cloudfiles.py
in request(self, action, params, data, headers, method, raw, cdn_request)
164 params=params, data=data,
165 method=method, headers=headers,
--> 166 raw=raw)
167
168
/usr/local/lib/python2.7/dist-packages/libcloud/common/openstack.pyc in
request(self, action, params, data, headers, method, raw)
198
method=method,
199
headers=headers,
--> 200 raw=raw)
201
202 def _get_auth_url(self):
/usr/local/lib/python2.7/dist-packages/libcloud/common/base.pyc in
request(self, action, params, data, headers, method, raw)
655 headers = copy.copy(headers)
656
--> 657 action = self.morph_action_hook(action)
658 self.action = action
659 self.method = method
/usr/local/lib/python2.7/dist-packages/libcloud/common/openstack.pyc in
morph_action_hook(self, action)
253
254 def morph_action_hook(self, action):
--> 255 self._populate_hosts_and_request_paths()
256 return super(OpenStackBaseConnection,
self).morph_action_hook(action)
257
/usr/local/lib/python2.7/dist-packages/libcloud/common/openstack.pyc in
_populate_hosts_and_request_paths(self)
297 self.service_catalog = osc
298
--> 299 url = self._ex_force_base_url or self.get_endpoint()
300 self._set_up_connection_info(url=url)
301
/usr/local/lib/python2.7/dist-packages/libcloud/storage/drivers/cloudfiles.py
in get_endpoint(self, *args, **kwargs)
142 print endpoint
143 print endpoint
--> 144 if PUBLIC_ENDPOINT_KEY in endpoint:
145 return endpoint[PUBLIC_ENDPOINT_KEY]
146 else:
TypeError: argument of type 'OpenStackServiceCatalogEntryEndpoint' is not
iterable
> openstack swift authentication problem in 0.16.0
> ------------------------------------------------
>
> Key: LIBCLOUD-635
> URL: https://issues.apache.org/jira/browse/LIBCLOUD-635
> Project: Libcloud
> Issue Type: Bug
> Components: Storage
> Reporter: James
>
> On 0.16.0, after connection to an OpenStack installation with code of the
> form:
> {noformat}
> cls = get_driver(Provider.OPENSTACK_SWIFT)
> driver = cls("user", "password" , ex_force_auth_url="url",
> ex_tenant_name="tenant",
> ex_force_auth_version="2.0_password",ex_force_service_type='object-store',
> ex_force_service_name='swift', ex_force_service_region="region")
> {noformat}
> When trying to do
> {noformat}
> driver.list_containers()
> {noformat}
> I get an exception, the bottom of the traceback for which looks like:
> {noformat}
> /home/ubuntu/verify/local/lib/python2.7/site-packages/libcloud/common/openstack.pyc
> in morph_action_hook(self, action)
> 253
> 254 def morph_action_hook(self, action):
> --> 255 self._populate_hosts_and_request_paths()
> 256 return super(OpenStackBaseConnection,
> self).morph_action_hook(action)
> 257
> /home/ubuntu/verify/local/lib/python2.7/site-packages/libcloud/common/openstack.pyc
> in _populate_hosts_and_request_paths(self)
> 297 self.service_catalog = osc
> 298
> --> 299 url = self._ex_force_base_url or self.get_endpoint()
> 300 self._set_up_connection_info(url=url)
> 301
> /home/ubuntu/verify/local/lib/python2.7/site-packages/libcloud/storage/drivers/cloudfiles.pyc
> in get_endpoint(self, *args, **kwargs)
> 139 name=self._service_name, region=self._service_region)
> 140
> --> 141 if PUBLIC_ENDPOINT_KEY in endpoint:
> 142 return endpoint[PUBLIC_ENDPOINT_KEY]
> 143 else:
> TypeError: argument of type 'OpenStackServiceCatalogEntryEndpoint' is not
> iterable
> {noformat}
> The same code works without error on 0.15.1
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)