Depend on and update for requests>1.0 (Matching {keystone,cinder,nova}client)
Change-Id: I17ca5e802108fcf6dc906ff23b6b61f53a25eac1
This commit is contained in:
parent
4e9729e066
commit
13c601cc9c
@ -75,20 +75,3 @@ class KeystoneAuth(AuthBase):
|
||||
ks = self.get_ksclient()
|
||||
self.token = ks.auth_token
|
||||
self.service_catalog = ks.service_catalog
|
||||
|
||||
def args_hook(self, args):
|
||||
url = urlparse(args['url'])
|
||||
|
||||
if str(url.scheme) == '':
|
||||
if not self.token:
|
||||
self.refresh_token()
|
||||
|
||||
endpoints = self.get_endpoints()
|
||||
|
||||
if url.netloc in endpoints.keys():
|
||||
|
||||
args['url'] = '%s/%s?%s' % (
|
||||
self.get_url(),
|
||||
url.path.lstrip('/'),
|
||||
url.query
|
||||
)
|
||||
|
@ -14,7 +14,6 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
import requests
|
||||
from urlparse import urlparse
|
||||
from monikerclient import exceptions
|
||||
from monikerclient.auth import KeystoneAuth
|
||||
from monikerclient.v1 import domains
|
||||
@ -42,25 +41,18 @@ class Client(object):
|
||||
if auth_url:
|
||||
auth = KeystoneAuth(auth_url, username, password, tenant_id,
|
||||
tenant_name, token, 'dns', endpoint_type)
|
||||
endpoint = auth.get_url()
|
||||
self.endpoint = auth.get_url()
|
||||
elif endpoint:
|
||||
auth = None
|
||||
self.endpoint = endpoint
|
||||
else:
|
||||
raise ValueError('Either an endpoint or auth_url must be supplied')
|
||||
|
||||
headers = {'Content-Type': 'application/json'}
|
||||
|
||||
def _ensure_url_hook(args):
|
||||
url_ = urlparse(args['url'])
|
||||
if not url_.scheme:
|
||||
args['url'] = endpoint + url_.path
|
||||
|
||||
hooks = {'args': _ensure_url_hook}
|
||||
|
||||
self.requests = requests.session(
|
||||
auth=auth,
|
||||
headers=headers,
|
||||
hooks=hooks)
|
||||
self.requests = requests.Session()
|
||||
self.requests.auth = auth
|
||||
self.requests.headers.update(headers)
|
||||
|
||||
self.domains = domains.DomainsController(client=self)
|
||||
self.records = records.RecordsController(client=self)
|
||||
@ -72,10 +64,15 @@ class Client(object):
|
||||
|
||||
:param func: The function to wrap
|
||||
"""
|
||||
# Prepend the endpoint URI
|
||||
args = list(args)
|
||||
args[0] = '%s/%s' % (self.endpoint, args[0])
|
||||
|
||||
# Trigger the request
|
||||
response = func(*args, **kw)
|
||||
|
||||
if response.status_code == 400:
|
||||
raise exceptions.BadRequest(response.json['errors'])
|
||||
raise exceptions.BadRequest(response.json()['errors'])
|
||||
elif response.status_code in (401, 403):
|
||||
raise exceptions.Forbidden()
|
||||
elif response.status_code == 404:
|
||||
|
@ -31,7 +31,7 @@ class DomainsController(Controller):
|
||||
"""
|
||||
response = self.client.get('/domains')
|
||||
|
||||
return [Domain(i) for i in response.json['domains']]
|
||||
return [Domain(i) for i in response.json()['domains']]
|
||||
|
||||
def get(self, domain_id):
|
||||
"""
|
||||
@ -42,7 +42,7 @@ class DomainsController(Controller):
|
||||
"""
|
||||
response = self.client.get('/domains/%s' % domain_id)
|
||||
|
||||
return Domain(response.json)
|
||||
return Domain(response.json())
|
||||
|
||||
def create(self, domain):
|
||||
"""
|
||||
@ -53,7 +53,7 @@ class DomainsController(Controller):
|
||||
"""
|
||||
response = self.client.post('/domains', data=json.dumps(domain))
|
||||
|
||||
return Domain(response.json)
|
||||
return Domain(response.json())
|
||||
|
||||
def update(self, domain):
|
||||
"""
|
||||
@ -65,7 +65,7 @@ class DomainsController(Controller):
|
||||
response = self.client.put('/domains/%s' % domain.id,
|
||||
data=json.dumps(domain.changes))
|
||||
|
||||
return Domain(response.json)
|
||||
return Domain(response.json())
|
||||
|
||||
def delete(self, domain):
|
||||
"""
|
||||
|
@ -37,7 +37,7 @@ class RecordsController(Controller):
|
||||
'domain_id': domain_id
|
||||
})
|
||||
|
||||
return [Record(i) for i in response.json['records']]
|
||||
return [Record(i) for i in response.json()['records']]
|
||||
|
||||
def get(self, domain, record_id):
|
||||
"""
|
||||
@ -56,7 +56,7 @@ class RecordsController(Controller):
|
||||
|
||||
response = self.client.get(uri)
|
||||
|
||||
return Record(response.json)
|
||||
return Record(response.json())
|
||||
|
||||
def create(self, domain, record):
|
||||
"""
|
||||
@ -74,7 +74,7 @@ class RecordsController(Controller):
|
||||
|
||||
response = self.client.post(uri, data=json.dumps(record))
|
||||
|
||||
return Record(response.json)
|
||||
return Record(response.json())
|
||||
|
||||
def update(self, domain, record):
|
||||
"""
|
||||
@ -93,7 +93,7 @@ class RecordsController(Controller):
|
||||
|
||||
response = self.client.put(uri, data=json.dumps(record.changes))
|
||||
|
||||
return Record(response.json)
|
||||
return Record(response.json())
|
||||
|
||||
def delete(self, domain, record):
|
||||
"""
|
||||
|
@ -31,7 +31,7 @@ class ServersController(Controller):
|
||||
"""
|
||||
response = self.client.get('/servers')
|
||||
|
||||
return [Server(i) for i in response.json['servers']]
|
||||
return [Server(i) for i in response.json()['servers']]
|
||||
|
||||
def get(self, server_id):
|
||||
"""
|
||||
@ -42,7 +42,7 @@ class ServersController(Controller):
|
||||
"""
|
||||
response = self.client.get('/servers/%s' % server_id)
|
||||
|
||||
return Server(response.json)
|
||||
return Server(response.json())
|
||||
|
||||
def create(self, server):
|
||||
"""
|
||||
@ -53,7 +53,7 @@ class ServersController(Controller):
|
||||
"""
|
||||
response = self.client.post('/servers', data=json.dumps(server))
|
||||
|
||||
return Server(response.json)
|
||||
return Server(response.json())
|
||||
|
||||
def update(self, server):
|
||||
"""
|
||||
@ -65,7 +65,7 @@ class ServersController(Controller):
|
||||
response = self.client.put('/servers/%s' % server.id,
|
||||
data=json.dumps(server.changes))
|
||||
|
||||
return Server(response.json)
|
||||
return Server(response.json())
|
||||
|
||||
def delete(self, server):
|
||||
"""
|
||||
|
@ -1,4 +1,4 @@
|
||||
cliff>=1.2.1
|
||||
jsonschema>=0.7
|
||||
requests
|
||||
requests>1.0
|
||||
python-keystoneclient>=0.2.0
|
||||
|
Loading…
x
Reference in New Issue
Block a user