components/openstack/keystone/patches/02-remove-nova-depend.patch
author Drew Fisher <drew.fisher@oracle.com>
Mon, 31 Mar 2014 16:44:02 -0700
branchs11-update
changeset 3028 5e73a3a3f66a
permissions -rw-r--r--
PSARC/2013/350 OpenStack for Solaris (Umbrella) PSARC/2014/007 OpenStack client API components for Grizzly PSARC/2014/048 OpenStack Keystone (OpenStack Identity Service) PSARC/2014/049 OpenStack Nova (OpenStack Compute Service) PSARC/2014/054 OpenStack Cinder (OpenStack Block Storage Service) PSARC/2014/055 OpenStack Glance (OpenStack Image Service) PSARC/2014/058 OpenStack Horizon (OpenStack Dashboard) PSARC/2014/059 OpenStack Neutron (OpenStack Networking Service) 17531161 greenlet doesn't build with gcc 4.7.X 18143276 greenlet can crash with register window corruption on MP SPARC 18290089 integrate cinderclient 18290097 integrate glanceclient 18290102 integrate keystoneclient 18290109 integrate neutronclient 18290113 integrate novaclient 18290119 integrate swiftclient 18290125 integrate quantumclient 18307582 Request to integrate Cinder into userland 18307595 Request to integrate Glance into userland 18307626 Request to integrate Horizon into userland 18307641 Request to integrate Keystone into userland 18307650 Request to integrate Neutron into userland 18307659 Request to integrate Nova into userland 18321909 a few Python packages deliver both po and mo files 18362900 Dnsmasq's SMF method_credential is missing a privilege 18363793 Dnsmasq should use SIOCSXARP ioctl

Upstream patch fixed in Icehouse-1

commit 4f800bbe7f5ba07895a4cb32c14007e2f1818bd7
Author: Lei Zhang <[email protected]>
Date:   Tue Oct 8 17:40:37 2013 +0800

    remove the nova dependency in the ec2_token middleware
    
    Change-Id: I34812522b55e38d3ea030638bbae75d65f507c90
    Closes-Bug: #1178740

diff --git a/keystone/middleware/ec2_token.py b/keystone/middleware/ec2_token.py
index 0cd5841..4e58eac 100644
--- a/keystone/middleware/ec2_token.py
+++ b/keystone/middleware/ec2_token.py
@@ -25,18 +25,22 @@ Starting point for routing EC2 requests.
 import urlparse
 
 from eventlet.green import httplib
+from oslo.config import cfg
 import webob.dec
 import webob.exc
 
-from nova import flags
-from nova import utils
-from nova import wsgi
+from keystone.common import config
+from keystone.common 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
-flags.DEFINE_string('keystone_ec2_url',
-                    'http://localhost:5000/v2.0/ec2tokens',
-                    'URL to get token from ec2 request.')
+CONF = config.CONF
+CONF.register_opts(keystone_ec2_opts)
 
 
 class EC2Token(wsgi.Middleware):
@@ -67,13 +71,13 @@ class EC2Token(wsgi.Middleware):
                 'params': auth_params,
             }
         }
-        creds_json = utils.dumps(creds)
+        creds_json = jsonutils.dumps(creds)
         headers = {'Content-Type': 'application/json'}
 
         # Disable 'has no x member' pylint error
         # for httplib and urlparse
         # pylint: disable-msg=E1101
-        o = urlparse.urlparse(FLAGS.keystone_ec2_url)
+        o = urlparse.urlparse(CONF.keystone_ec2_url)
         if o.scheme == 'http':
             conn = httplib.HTTPConnection(o.netloc)
         else:
@@ -86,7 +90,7 @@ class EC2Token(wsgi.Middleware):
         #             having keystone return token, tenant,
         #             user, and roles from this call.
 
-        result = utils.loads(response)
+        result = jsonutils.loads(response)
         try:
             token_id = result['access']['token']['id']
         except (AttributeError, KeyError):