Fix for getting auth url for hadoop-swift
Changes: * use service catalog for getting auth url * changes in unit tests Change-Id: Ifa4767a14515709d602c6dcded3716980a1d47ef Closes-bug: #1393758
This commit is contained in:
parent
17e4f4dac5
commit
15d5933b5d
|
@ -17,6 +17,7 @@ from oslo.config import cfg
|
||||||
from six.moves.urllib import parse as urlparse
|
from six.moves.urllib import parse as urlparse
|
||||||
|
|
||||||
from sahara import context
|
from sahara import context
|
||||||
|
from sahara.utils.openstack import base as clients_base
|
||||||
from sahara.utils.openstack import keystone as k
|
from sahara.utils.openstack import keystone as k
|
||||||
|
|
||||||
|
|
||||||
|
@ -32,7 +33,9 @@ def retrieve_auth_url():
|
||||||
|
|
||||||
Hadoop Swift library doesn't support keystone v3 api.
|
Hadoop Swift library doesn't support keystone v3 api.
|
||||||
"""
|
"""
|
||||||
info = urlparse.urlparse(context.current().auth_uri)
|
auth_url = clients_base.url_for(context.current().service_catalog,
|
||||||
|
'identity')
|
||||||
|
info = urlparse.urlparse(auth_url)
|
||||||
|
|
||||||
if CONF.use_domain_for_proxy_users:
|
if CONF.use_domain_for_proxy_users:
|
||||||
url = 'v3/auth'
|
url = 'v3/auth'
|
||||||
|
|
|
@ -36,10 +36,12 @@ class BaseClusterConfigurerTest(b.SaharaTestCase):
|
||||||
for a in actual:
|
for a in actual:
|
||||||
self.assertIn(a, expected)
|
self.assertIn(a, expected)
|
||||||
|
|
||||||
|
@m.patch('sahara.utils.openstack.base.url_for')
|
||||||
@m.patch('sahara.context.ctx')
|
@m.patch('sahara.context.ctx')
|
||||||
@m.patch('sahara.plugins.mapr.util.config.is_data_locality_enabled')
|
@m.patch('sahara.plugins.mapr.util.config.is_data_locality_enabled')
|
||||||
@m.patch('sahara.plugins.mapr.util.config_file_utils.to_file_content')
|
@m.patch('sahara.plugins.mapr.util.config_file_utils.to_file_content')
|
||||||
def test_configure_wo_generals(self, tfc_mock, gtm_mock, cc_mock):
|
def test_configure_wo_generals(self, tfc_mock, gtm_mock, cc_mock,
|
||||||
|
url_for_mock):
|
||||||
def to_file_content(*args, **kargs):
|
def to_file_content(*args, **kargs):
|
||||||
data = args[0]
|
data = args[0]
|
||||||
if isinstance(data, dict):
|
if isinstance(data, dict):
|
||||||
|
@ -49,9 +51,10 @@ class BaseClusterConfigurerTest(b.SaharaTestCase):
|
||||||
return {None: data}
|
return {None: data}
|
||||||
tfc_mock.side_effect = to_file_content
|
tfc_mock.side_effect = to_file_content
|
||||||
gtm_mock.return_value = False
|
gtm_mock.return_value = False
|
||||||
cc_mock.return_value = s.AttrDict(auth_uri='http://auth',
|
url_for_mock.return_value = 'http://auth'
|
||||||
tenant_name='tenant_0',
|
cc_mock.return_value = s.AttrDict(tenant_name='tenant_0',
|
||||||
tenant_id='tenant_id')
|
tenant_id='tenant_id',
|
||||||
|
service_catalog=None)
|
||||||
|
|
||||||
i0 = s.Instance(instance_name='i0',
|
i0 = s.Instance(instance_name='i0',
|
||||||
management_ip='192.168.1.10',
|
management_ip='192.168.1.10',
|
||||||
|
@ -111,12 +114,13 @@ class BaseClusterConfigurerTest(b.SaharaTestCase):
|
||||||
self.assertItemsEqual(i2.remote().fs, [core_site, cldb,
|
self.assertItemsEqual(i2.remote().fs, [core_site, cldb,
|
||||||
hadoop_v])
|
hadoop_v])
|
||||||
|
|
||||||
|
@m.patch('sahara.utils.openstack.base.url_for')
|
||||||
@m.patch('sahara.context.ctx')
|
@m.patch('sahara.context.ctx')
|
||||||
@m.patch('sahara.plugins.mapr.util.config.is_data_locality_enabled')
|
@m.patch('sahara.plugins.mapr.util.config.is_data_locality_enabled')
|
||||||
@m.patch('sahara.topology.topology_helper.generate_topology_map')
|
@m.patch('sahara.topology.topology_helper.generate_topology_map')
|
||||||
@m.patch('sahara.plugins.mapr.util.config_file_utils.to_file_content')
|
@m.patch('sahara.plugins.mapr.util.config_file_utils.to_file_content')
|
||||||
def test_configure_with_topology(self, tfc_mock, gtm_mock,
|
def test_configure_with_topology(self, tfc_mock, gtm_mock,
|
||||||
dle_mock, cc_mock):
|
dle_mock, cc_mock, url_for_mock):
|
||||||
def to_file_content(*args, **kargs):
|
def to_file_content(*args, **kargs):
|
||||||
data = args[0]
|
data = args[0]
|
||||||
if isinstance(data, dict):
|
if isinstance(data, dict):
|
||||||
|
@ -132,9 +136,10 @@ class BaseClusterConfigurerTest(b.SaharaTestCase):
|
||||||
'10.10.1.11': 'r',
|
'10.10.1.11': 'r',
|
||||||
'i2': 'r', '192.168.1.12': 'r',
|
'i2': 'r', '192.168.1.12': 'r',
|
||||||
'10.10.1.12': 'r'}
|
'10.10.1.12': 'r'}
|
||||||
cc_mock.return_value = s.AttrDict(auth_uri='http://auth',
|
url_for_mock.return_value = 'http://auth'
|
||||||
tenant_name='tenant_0',
|
cc_mock.return_value = s.AttrDict(tenant_name='tenant_0',
|
||||||
tenant_id='tenant_id')
|
tenant_id='tenant_id',
|
||||||
|
service_catalog=None)
|
||||||
|
|
||||||
i0 = s.Instance(instance_name='i0',
|
i0 = s.Instance(instance_name='i0',
|
||||||
management_ip='192.168.1.10',
|
management_ip='192.168.1.10',
|
||||||
|
|
|
@ -13,6 +13,8 @@
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
import mock
|
||||||
|
|
||||||
from sahara.swift import swift_helper as h
|
from sahara.swift import swift_helper as h
|
||||||
from sahara.tests.unit import base
|
from sahara.tests.unit import base
|
||||||
|
|
||||||
|
@ -31,10 +33,10 @@ SERVICE_SPECIFIC = ["auth.url", "tenant",
|
||||||
|
|
||||||
|
|
||||||
class SwiftIntegrationTestCase(base.SaharaTestCase):
|
class SwiftIntegrationTestCase(base.SaharaTestCase):
|
||||||
|
@mock.patch('sahara.utils.openstack.base.url_for')
|
||||||
def test_get_swift_configs(self):
|
def test_get_swift_configs(self, url_for_mock):
|
||||||
self.setup_context(tenant_name='test_tenant',
|
url_for_mock.return_value = 'http://localhost:5000/v2.0'
|
||||||
auth_uri='http://localhost:8080/v2.0/')
|
self.setup_context(tenant_name='test_tenant')
|
||||||
self.override_config("os_region_name", 'regionOne')
|
self.override_config("os_region_name", 'regionOne')
|
||||||
|
|
||||||
result = h.get_swift_configs()
|
result = h.get_swift_configs()
|
||||||
|
|
|
@ -13,6 +13,8 @@
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
import mock
|
||||||
|
|
||||||
from sahara.swift import utils
|
from sahara.swift import utils
|
||||||
from sahara.tests.unit import base as testbase
|
from sahara.tests.unit import base as testbase
|
||||||
|
|
||||||
|
@ -23,11 +25,12 @@ class SwiftUtilsTest(testbase.SaharaTestCase):
|
||||||
super(SwiftUtilsTest, self).setUp()
|
super(SwiftUtilsTest, self).setUp()
|
||||||
self.override_config('use_identity_api_v3', True)
|
self.override_config('use_identity_api_v3', True)
|
||||||
|
|
||||||
def test_retrieve_auth_url(self):
|
@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/v2.0/"
|
||||||
|
|
||||||
def _assert(uri):
|
def _assert(uri):
|
||||||
self.setup_context(auth_uri=uri)
|
url_for_mock.return_value = uri
|
||||||
self.assertEqual(correct, utils.retrieve_auth_url())
|
self.assertEqual(correct, utils.retrieve_auth_url())
|
||||||
|
|
||||||
_assert("%s/" % correct)
|
_assert("%s/" % correct)
|
||||||
|
|
Loading…
Reference in New Issue