Merge pull request #131 from gnuoy/add-model-name-to-get_keystone_session_from_relation

Expose model_name option in get_keystone_session_from_relation
This commit is contained in:
Chris MacNaughton
2019-11-26 08:59:27 +01:00
committed by GitHub
2 changed files with 11 additions and 5 deletions

View File

@@ -1108,7 +1108,8 @@ class TestOpenStackUtils(ut_utils.BaseTestCase):
self.get_relation_from_unit.assert_called_once_with(
'swift-proxy',
'keystone',
'identity-service')
'identity-service',
model_name=None)
self.get_keystone_session.assert_called_once_with(
{
'OS_AUTH_URL': 'http://10.5.0.61:5000/v3',
@@ -1155,7 +1156,8 @@ class TestOpenStackUtils(ut_utils.BaseTestCase):
self.get_relation_from_unit.assert_called_once_with(
'swift-proxy',
'keystone',
'identity-service')
'identity-service',
model_name=None)
self.get_keystone_session.assert_called_once_with(
{
'OS_AUTH_URL': 'http://10.5.0.36:5000/v2.0',

View File

@@ -2450,7 +2450,8 @@ def get_keystone_session_from_relation(client_app,
identity_app='keystone',
relation_name='identity-service',
scope='PROJECT',
verify=None):
verify=None,
model_name=None):
"""Extract credentials information from a relation & return a session.
:param client_app: Name of application receiving credentials.
@@ -2466,16 +2467,19 @@ def get_keystone_session_from_relation(client_app,
False - do not verify,
None - defer to requests library to find certs,
str - path to a CA cert bundle)
:param model_name: Name of model to query.
:type model_name: str
:returns: Keystone session object
:rtype: keystoneauth1.session.Session object
"""
relation = juju_utils.get_relation_from_unit(
client_app,
identity_app,
relation_name)
relation_name,
model_name=model_name)
api_version = int(relation.get('api_version', 2))
creds = get_overcloud_auth()
creds = get_overcloud_auth(model_name=model_name)
creds['OS_USERNAME'] = relation['service_username']
creds['OS_PASSWORD'] = relation['service_password']
creds['OS_PROJECT_NAME'] = relation['service_tenant']