Merge "Switch sahara swift to work with keystone v3"
This commit is contained in:
commit
5fde30e2ae
|
@ -55,7 +55,7 @@ def get_swift_configs():
|
|||
configs = x.load_hadoop_xml_defaults('swift/resources/conf-template.xml')
|
||||
for conf in configs:
|
||||
if conf['name'] == HADOOP_SWIFT_AUTH_URL:
|
||||
conf['value'] = su.retrieve_auth_url() + "tokens/"
|
||||
conf['value'] = su.retrieve_auth_url() + "auth/tokens/"
|
||||
if conf['name'] == HADOOP_SWIFT_TENANT:
|
||||
conf['value'] = retrieve_tenant()
|
||||
if CONF.os_region_name and conf['name'] == HADOOP_SWIFT_REGION:
|
||||
|
|
|
@ -29,14 +29,10 @@ SWIFT_URL_SUFFIX = SWIFT_URL_SUFFIX_START + 'sahara'
|
|||
|
||||
|
||||
def retrieve_auth_url(endpoint_type="publicURL"):
|
||||
"""This function returns auth url v2.0 api.
|
||||
"""This function returns auth url v3 api.
|
||||
|
||||
Hadoop Swift library doesn't support keystone v3 api.
|
||||
"""
|
||||
if CONF.use_domain_for_proxy_users:
|
||||
version_suffix = 'v3/auth'
|
||||
else:
|
||||
version_suffix = 'v2.0'
|
||||
version_suffix = 'v3'
|
||||
|
||||
# return auth url with trailing slash
|
||||
return clients_base.retrieve_auth_url(
|
||||
|
|
|
@ -120,7 +120,7 @@ class TestInternalSwift(base.SaharaTestCase):
|
|||
job_binary.extra = dict(user='test', password='secret')
|
||||
i_s.get_raw_data_with_context(job_binary)
|
||||
self.assertEqual([mock.call(
|
||||
auth_version='2.0',
|
||||
auth_version='3',
|
||||
cacert=None, insecure=False,
|
||||
max_backoff=10,
|
||||
preauthtoken='testtoken',
|
||||
|
|
|
@ -164,7 +164,7 @@ class TestSwiftType(base.SaharaTestCase):
|
|||
job_binary.extra = dict(user='test', password='secret')
|
||||
self.i_s.get_raw_data(job_binary, with_context=True)
|
||||
self.assertEqual([mock.call(
|
||||
auth_version='2.0',
|
||||
auth_version='3',
|
||||
cacert=None, insecure=False,
|
||||
max_backoff=10,
|
||||
preauthtoken='testtoken',
|
||||
|
|
|
@ -28,7 +28,7 @@ class SwiftUtilsTest(testbase.SaharaTestCase):
|
|||
|
||||
@mock.patch('sahara.utils.openstack.base.url_for')
|
||||
def test_retrieve_auth_url(self, url_for_mock):
|
||||
correct = "https://127.0.0.1:8080/v2.0/"
|
||||
correct = "https://127.0.0.1:8080/v3/"
|
||||
|
||||
def _assert(uri):
|
||||
url_for_mock.return_value = uri
|
||||
|
@ -37,23 +37,23 @@ class SwiftUtilsTest(testbase.SaharaTestCase):
|
|||
_assert("%s/" % correct)
|
||||
_assert("https://127.0.0.1:8080")
|
||||
_assert("https://127.0.0.1:8080/")
|
||||
_assert("https://127.0.0.1:8080/v2.0")
|
||||
_assert("https://127.0.0.1:8080/v2.0/")
|
||||
_assert("https://127.0.0.1:8080/v3")
|
||||
_assert("https://127.0.0.1:8080/v3/")
|
||||
|
||||
@mock.patch('sahara.utils.openstack.base.url_for')
|
||||
def test_retrieve_auth_url_path_present(self, url_for_mock):
|
||||
correct = "https://127.0.0.1:8080/identity/v2.0/"
|
||||
correct = "https://127.0.0.1:8080/identity/v3/"
|
||||
|
||||
def _assert(uri):
|
||||
url_for_mock.return_value = uri
|
||||
self.assertEqual(correct, utils.retrieve_auth_url())
|
||||
|
||||
_assert("https://127.0.0.1:8080/identity")
|
||||
_assert("https://127.0.0.1:8080/identity/v2.0/")
|
||||
_assert("https://127.0.0.1:8080/identity/v3/")
|
||||
|
||||
@mock.patch('sahara.utils.openstack.base.url_for')
|
||||
def test_retrieve_auth_url_without_port(self, url_for_mock):
|
||||
correct = "https://127.0.0.1/v2.0/"
|
||||
correct = "https://127.0.0.1/v3/"
|
||||
|
||||
def _assert(uri):
|
||||
url_for_mock.return_value = uri
|
||||
|
@ -62,21 +62,5 @@ class SwiftUtilsTest(testbase.SaharaTestCase):
|
|||
_assert("%s/" % correct)
|
||||
_assert("https://127.0.0.1")
|
||||
_assert("https://127.0.0.1/")
|
||||
_assert("https://127.0.0.1/v2.0")
|
||||
_assert("https://127.0.0.1/v2.0/")
|
||||
|
||||
@mock.patch('sahara.utils.openstack.base.url_for')
|
||||
def test_retrieve_auth_url_v3(self, url_for_mock):
|
||||
self.override_config('use_domain_for_proxy_users', True)
|
||||
correct = "https://127.0.0.1/v3/auth/"
|
||||
|
||||
def _assert(uri):
|
||||
url_for_mock.return_value = uri
|
||||
self.assertEqual(correct, utils.retrieve_auth_url())
|
||||
|
||||
_assert("%s/" % correct)
|
||||
_assert("https://127.0.0.1/v3")
|
||||
_assert("https://127.0.0.1")
|
||||
_assert("https://127.0.0.1/")
|
||||
_assert("https://127.0.0.1/v2.0")
|
||||
_assert("https://127.0.0.1/v2.0/")
|
||||
_assert("https://127.0.0.1/v3/")
|
||||
|
|
|
@ -63,7 +63,7 @@ def client(username, password, trust_id=None):
|
|||
return client_from_token(k.token_from_auth(proxyauth))
|
||||
else:
|
||||
return swiftclient.Connection(
|
||||
auth_version='2.0',
|
||||
auth_version='3',
|
||||
cacert=CONF.swift.ca_file,
|
||||
insecure=CONF.swift.api_insecure,
|
||||
authurl=su.retrieve_auth_url(CONF.keystone.endpoint_type),
|
||||
|
@ -80,7 +80,7 @@ def client_from_token(token=None):
|
|||
if not token:
|
||||
token = context.get_auth_token()
|
||||
'''return a Swift client authenticated from a token.'''
|
||||
return swiftclient.Connection(auth_version='2.0',
|
||||
return swiftclient.Connection(auth_version='3',
|
||||
cacert=CONF.swift.ca_file,
|
||||
insecure=CONF.swift.api_insecure,
|
||||
preauthurl=base.url_for(
|
||||
|
|
Loading…
Reference in New Issue