tempest/kong/keystone.py

35 lines
1015 B
Python

import json
import kong.common.http
from kong import exceptions
class API(kong.common.http.Client):
"""Barebones Keystone HTTP API client."""
def __init__(self, service_host, service_port):
super(API, self).__init__(service_host, service_port, 'v2.0')
#TODO(bcwaldon): This is a hack, we should clean up the superclass
self.management_url = self.base_url
def get_token(self, user, password, tenant_id):
headers = {'content-type': 'application/json'}
body = {
"auth": {
"passwordCredentials":{
"username": user,
"password": password,
},
"tenantId": tenant_id,
},
}
response, content = self.request('POST', '/tokens',
headers=headers,
body=json.dumps(body))
res_body = json.loads(content)
return res_body['access']['token']['id']