diff options
| author | Jenkins <jenkins@review.openstack.org> | 2011-08-13 03:12:04 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2011-08-13 03:12:04 +0000 |
| commit | 6e341c4baba491e08263e4f3df3e435123e76dcb (patch) | |
| tree | e42cb7996561307fcc7d6ea3cac5563c875cfa89 | |
| parent | 32eb42a6bf3689fa6986b648f2b91fe927b45c49 (diff) | |
| parent | 3427e6c230111e0acb4d1aedcb435eda65d5f4ce (diff) | |
| download | keystone-6e341c4baba491e08263e4f3df3e435123e76dcb.tar.gz keystone-6e341c4baba491e08263e4f3df3e435123e76dcb.tar.xz keystone-6e341c4baba491e08263e4f3df3e435123e76dcb.zip | |
Merge "fix ec2 and add keystone-manage command for creating credentials"
| -rwxr-xr-x | bin/keystone-manage | 21 | ||||
| -rw-r--r-- | keystone/routers/service.py | 2 | ||||
| -rw-r--r-- | keystone/test/unit/base.py | 3 |
3 files changed, 22 insertions, 4 deletions
diff --git a/bin/keystone-manage b/bin/keystone-manage index 278f032b..f5059e54 100755 --- a/bin/keystone-manage +++ b/bin/keystone-manage @@ -79,7 +79,7 @@ def Main(): object_type = args[0] if object_type in ['user', 'tenant', 'role', 'service' , 'endpointTemplates', 'token', - 'endpoint']: + 'endpoint', 'credentials']: pass else: parser.error('%s is not a supported object type' % object_type) @@ -412,6 +412,25 @@ def Main(): print row.id except Exception, e: raise Exception("Error getting all services", sys.exc_info()) + elif object_type == "credentials": + if command == "add": + if len(args) < 6: + parser.error('Creating a credentials requires a type, ' + 'key, secret, and tenant_id (id is user_id)') + try: + object = db_models.Token() + object.user_id = object_id + object.type = args[3] + object.key = args[4] + object.secret = args[5] + if len(args) == 7: + object.tenant_id = args[6] + result = db_api.CREDENTIALS.create(object) + print "SUCCESS: Credentials %s created." % result.id + return + except Exception as exc: + raise Exception("Failed to create credentials %s" % (object_id,), + sys.exc_info()) # Command not handled print ("ERROR: %s %s not yet supported" % (object_type, command)) diff --git a/keystone/routers/service.py b/keystone/routers/service.py index 2a9e4182..2683581f 100644 --- a/keystone/routers/service.py +++ b/keystone/routers/service.py @@ -39,7 +39,7 @@ class ServiceApi(wsgi.Router): mapper.connect("/tokens", controller=auth_controller, action="authenticate", conditions=dict(method=["POST"])) - mapper.connect("/v2.0/ec2tokens", controller=auth_controller, + mapper.connect("/ec2tokens", controller=auth_controller, action="authenticate_ec2", conditions=dict(method=["POST"])) diff --git a/keystone/test/unit/base.py b/keystone/test/unit/base.py index 4ec52210..f7c9060e 100644 --- a/keystone/test/unit/base.py +++ b/keystone/test/unit/base.py @@ -196,8 +196,7 @@ class ServiceAPITest(unittest.TestCase): headers are added to appropriate Content-type headers. """ headers = headers or {} - self.req = webob.Request.blank('/v%s/%s' % (self.api_version, - url.lstrip('/'))) + self.req = webob.Request.blank(url) self.req.method = method self.req.headers = headers if 'content-type' not in headers: |
