[
https://issues.apache.org/jira/browse/LIBCLOUD-635?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
James updated LIBCLOUD-635:
---------------------------
Description:
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
was:
On 0.16.0, after connection to an OpenStack installation with code of the form:
```
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")
```
When trying to do
```
driver.list_containers()
```
I get an exception, the bottom of the traceback for which looks like:
```
/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
```
The same code works without error on 0.15.1
> 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)