[
https://issues.apache.org/jira/browse/LIBCLOUD-635?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14389883#comment-14389883
]
ASF GitHub Bot commented on LIBCLOUD-635:
-----------------------------------------
GitHub user fifieldt opened a pull request:
https://github.com/apache/libcloud/pull/492
Fix bug LIBCLOUD-635 - openstack-swift auth v2
As reported by James in LIBCLOUD-635
https://issues.apache.org/jira/browse/LIBCLOUD-635
OpenStack-Swift authentication is broken from at least
0.16. I confirmed the bug in 0.17 and master.
the code here tries to perform operations on a
OpenStackServiceCatalogEntryEndpoint that cannot
be performed on this class.
Since get_endpoint() will return an endpoint with
a URL (not 3 different URLs: publicURL/internalURL/
adminURL) or error, it should be safe to test for
existence and use the url. However, review very
welcome!
This fix has been tested against OpenStack Juno.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/fifieldt/libcloud trunk
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/libcloud/pull/492.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #492
----
commit ec58868c3344a9bfe7a0166fc31c0548ed22ea87
Author: Tom Fifield <[email protected]>
Date: 2015-04-01T02:05:36Z
Fix bug LIBCLOUD-635 - openstack-swift auth v2
As reported by James in LIBCLOUD-635
https://issues.apache.org/jira/browse/LIBCLOUD-635
OpenStack-Swift authentication is broken from at least
0.16. I confirmed the bug in 0.17 and master.
the code here tries to perform operations on a
OpenStackServiceCatalogEntryEndpoint that cannot
be performed on this class.
Since get_endpoint() will return an endpoint with
a URL (not 3 different URLs: publicURL/internalURL/
adminURL) or error, it should be safe to test for
existence and use the url. However, review very
welcome!
This fix has been tested against OpenStack Juno.
----
> 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)