From b7cf76d39eab9d292b8d58db4b0934557cad4509 Mon Sep 17 00:00:00 2001 From: RHE Date: Thu, 28 Dec 2017 15:19:05 +0100 Subject: moonv4.3 review Change-Id: I0d137df21136292b58194def44ac5b32183368fc Signed-off-by: RHE --- tools/bin/get_keystone_token.py | 71 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 tools/bin/get_keystone_token.py (limited to 'tools/bin/get_keystone_token.py') diff --git a/tools/bin/get_keystone_token.py b/tools/bin/get_keystone_token.py new file mode 100644 index 00000000..1856aab8 --- /dev/null +++ b/tools/bin/get_keystone_token.py @@ -0,0 +1,71 @@ +import requests +from oslo_config import cfg +from oslo_log import log as logging +from python_moonutilities import exceptions + +CONF = cfg.CONF +LOG = logging.getLogger(__name__) + + +def login(user=None, password=None, domain=None, project=None, url=None): + print("""Configuration: + user: {user} + domain: {domain} + project: {project} + url: {url}""".format( + user=CONF.keystone.user, + domain=CONF.keystone.domain, + project=CONF.keystone.project, + url=CONF.keystone.url, + )) + if not user: + user = CONF.keystone.user + if not password: + password = CONF.keystone.password + if not domain: + domain = CONF.keystone.domain + if not project: + project = CONF.keystone.project + if not url: + url = CONF.keystone.url + headers = { + "Content-Type": "application/json" + } + data_auth = { + "auth": { + "identity": { + "methods": [ + "password" + ], + "password": { + "user": { + "domain": { + "id": domain + }, + "name": user, + "password": password + } + } + }, + "scope": { + "project": { + "domain": { + "id": domain + }, + "name": project + } + } + } + } + + req = requests.post("{}/auth/tokens".format(url), + json=data_auth, headers=headers, + verify=False) + + if req.status_code not in (200, 201): + LOG.error(req.text) + raise exceptions.KeystoneError + headers['X-Auth-Token'] = req.headers['X-Subject-Token'] + return headers + +print(login()['X-Auth-Token']) -- cgit 1.2.3-korg