remove the nova dependency in the ec2_token middleware
Change-Id: I34812522b55e38d3ea030638bbae75d65f507c90 Closes-Bug: #1178740
This commit is contained in:
parent
5b8a6fffcc
commit
4f800bbe7f
|
@ -25,18 +25,22 @@ Starting point for routing EC2 requests.
|
||||||
import urlparse
|
import urlparse
|
||||||
|
|
||||||
from eventlet.green import httplib
|
from eventlet.green import httplib
|
||||||
|
from oslo.config import cfg
|
||||||
import webob.dec
|
import webob.dec
|
||||||
import webob.exc
|
import webob.exc
|
||||||
|
|
||||||
from nova import flags
|
from keystone.common import config
|
||||||
from nova import utils
|
from keystone.common import wsgi
|
||||||
from nova import wsgi
|
from keystone.openstack.common import jsonutils
|
||||||
|
|
||||||
|
keystone_ec2_opts = [
|
||||||
|
cfg.StrOpt('keystone_ec2_url',
|
||||||
|
default='http://localhost:5000/v2.0/ec2tokens',
|
||||||
|
help='URL to get token from ec2 request.'),
|
||||||
|
]
|
||||||
|
|
||||||
FLAGS = flags.FLAGS
|
CONF = config.CONF
|
||||||
flags.DEFINE_string('keystone_ec2_url',
|
CONF.register_opts(keystone_ec2_opts)
|
||||||
'http://localhost:5000/v2.0/ec2tokens',
|
|
||||||
'URL to get token from ec2 request.')
|
|
||||||
|
|
||||||
|
|
||||||
class EC2Token(wsgi.Middleware):
|
class EC2Token(wsgi.Middleware):
|
||||||
|
@ -67,13 +71,13 @@ class EC2Token(wsgi.Middleware):
|
||||||
'params': auth_params,
|
'params': auth_params,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
creds_json = utils.dumps(creds)
|
creds_json = jsonutils.dumps(creds)
|
||||||
headers = {'Content-Type': 'application/json'}
|
headers = {'Content-Type': 'application/json'}
|
||||||
|
|
||||||
# Disable 'has no x member' pylint error
|
# Disable 'has no x member' pylint error
|
||||||
# for httplib and urlparse
|
# for httplib and urlparse
|
||||||
# pylint: disable-msg=E1101
|
# pylint: disable-msg=E1101
|
||||||
o = urlparse.urlparse(FLAGS.keystone_ec2_url)
|
o = urlparse.urlparse(CONF.keystone_ec2_url)
|
||||||
if o.scheme == 'http':
|
if o.scheme == 'http':
|
||||||
conn = httplib.HTTPConnection(o.netloc)
|
conn = httplib.HTTPConnection(o.netloc)
|
||||||
else:
|
else:
|
||||||
|
@ -86,7 +90,7 @@ class EC2Token(wsgi.Middleware):
|
||||||
# having keystone return token, tenant,
|
# having keystone return token, tenant,
|
||||||
# user, and roles from this call.
|
# user, and roles from this call.
|
||||||
|
|
||||||
result = utils.loads(response)
|
result = jsonutils.loads(response)
|
||||||
try:
|
try:
|
||||||
token_id = result['access']['token']['id']
|
token_id = result['access']['token']['id']
|
||||||
except (AttributeError, KeyError):
|
except (AttributeError, KeyError):
|
||||||
|
|
Loading…
Reference in New Issue