diff --git a/shade/__init__.py b/shade/__init__.py index 95394515f..d3ce69887 100644 --- a/shade/__init__.py +++ b/shade/__init__.py @@ -610,7 +610,11 @@ class OpenStackCloud(object): self._swift_client = swift_client.Connection( preauthurl=endpoint, preauthtoken=token, - os_options=dict(region_name=self.region_name), + auth_version=self.api_versions['identity'], + os_options=dict( + auth_token=token, + object_storage_url=endpoint, + region_name=self.region_name), ) except OpenStackCloudException: raise diff --git a/shade/tests/unit/test_object.py b/shade/tests/unit/test_object.py index 3d886d92a..cf9e0254a 100644 --- a/shade/tests/unit/test_object.py +++ b/shade/tests/unit/test_object.py @@ -36,9 +36,14 @@ class TestShade(base.TestCase): endpoint_mock.return_value = 'danzig' auth_mock.return_value = 'yankee' self.cloud.swift_client - swift_mock.assert_called_with(preauthurl='danzig', - preauthtoken='yankee', - os_options=mock.ANY) + swift_mock.assert_called_with( + preauthurl='danzig', + preauthtoken='yankee', + auth_version='2', + os_options=dict( + object_storage_url='danzig', + auth_token='yankee', + region_name='')) @mock.patch.object(shade.OpenStackCloud, 'auth_token', new_callable=mock.PropertyMock)