From 811c91aec5aa78ef5049cf803332dffedd9cd88d Mon Sep 17 00:00:00 2001 From: Frode Nordahl Date: Thu, 9 Aug 2018 17:43:24 +0200 Subject: [PATCH] Add ability to get a v2 client If you want to set up tenants and other v2-only constructs you need a real v2 client. --- zaza/utilities/openstack.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/zaza/utilities/openstack.py b/zaza/utilities/openstack.py index e797748..b0189ca 100644 --- a/zaza/utilities/openstack.py +++ b/zaza/utilities/openstack.py @@ -25,6 +25,7 @@ from .os_versions import ( from glanceclient import Client as GlanceClient +from keystoneclient.v2_0 import client as keystoneclient_v2 from keystoneclient.v3 import client as keystoneclient_v3 from keystoneauth1 import session from keystoneauth1.identity import ( @@ -262,15 +263,20 @@ def get_undercloud_keystone_session(verify=None): verify=verify) -def get_keystone_session_client(session): +def get_keystone_session_client(session, client_api_version=3): """Return keystoneclient authenticated by keystone session. :param session: Keystone session object :type session: keystoneauth1.session.Session object + :param client_api_version: Whether you want a v2 or v3 Keystone Client + :type client_api_version: int :returns: Authenticated keystoneclient :rtype: keystoneclient.v3.Client object """ - return keystoneclient_v3.Client(session=session) + if client_api_version == 2: + return keystoneclient_v2.Client(session=session) + else: + return keystoneclient_v3.Client(session=session) def get_keystone_client(opentackrc_creds, verify=None):