From d8b1d1b618db00acd0fbd4476e062602a67ef19e Mon Sep 17 00:00:00 2001 From: Federico Ressi Date: Tue, 19 Mar 2019 12:02:34 +0100 Subject: [PATCH] Initialize Keystone session using the new keystone package. Change-Id: I5e9ca6201431680a65888830cffabf332fddeb1f --- tobiko/common/clients.py | 10 ++-------- tobiko/openstack/keystone/__init__.py | 1 + tobiko/openstack/keystone/session.py | 8 ++++++++ 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/tobiko/common/clients.py b/tobiko/common/clients.py index 6da31ba3b..c668f6de7 100644 --- a/tobiko/common/clients.py +++ b/tobiko/common/clients.py @@ -31,14 +31,8 @@ class ClientManager(object): def session(self): """Returns keystone session.""" if self._session is None: - from keystoneauth1 import loading - from keystoneauth1 import session - loader = loading.get_plugin_loader('password') - credentials = (self.credentials or - keystone.default_keystone_credentials()).to_dict() - del credentials['api_version'] # this parameter is not accepted - auth = loader.load_from_options(**credentials) - self._session = session.Session(auth=auth, verify=False) + self._session = keystone.get_keystone_session( + credentials=self.credentials) return self._session @property diff --git a/tobiko/openstack/keystone/__init__.py b/tobiko/openstack/keystone/__init__.py index 3fa3c4022..387717012 100644 --- a/tobiko/openstack/keystone/__init__.py +++ b/tobiko/openstack/keystone/__init__.py @@ -23,3 +23,4 @@ InvalidKeystoneCredentials = credentials.InvalidKeystoneCredentials KeystoneSessionFixture = session.KeystoneSessionFixture KeystoneSessionManager = session.KeystoneSessionManager +get_keystone_session = session.get_keystone_session diff --git a/tobiko/openstack/keystone/session.py b/tobiko/openstack/keystone/session.py index f03061c64..1abd59760 100644 --- a/tobiko/openstack/keystone/session.py +++ b/tobiko/openstack/keystone/session.py @@ -87,3 +87,11 @@ class KeystoneSessionManager(object): SESSIONS = KeystoneSessionManager() + + +def get_keystone_session(credentials=None, shared=True, init_session=None, + manager=None): + manager = manager or SESSIONS + session = manager.get_session(credentials=credentials, shared=shared, + init_session=init_session) + return tobiko.setup_fixture(session).session