[ 
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)

Reply via email to