Convering /users to admin extension

Relates to blueprint separate-nova-adminapi

Change-Id: I0ef13569586be022ba533c4e850793b37b098fea
This commit is contained in:
Brian Waldon
2011-12-23 10:20:37 -05:00
parent 686ec45dfd
commit 5682d2a27b
4 changed files with 25 additions and 14 deletions
-5
View File
@@ -33,7 +33,6 @@ from nova.api.openstack.v2 import ips
from nova.api.openstack.v2 import limits
from nova.api.openstack.v2 import servers
from nova.api.openstack.v2 import server_metadata
from nova.api.openstack.v2 import users
from nova.api.openstack.v2 import versions
from nova.api.openstack.v2 import zones
from nova.api.openstack import wsgi
@@ -134,10 +133,6 @@ class APIRouter(base_wsgi.Router):
if FLAGS.allow_admin_api:
LOG.debug(_("Including admin operations in API."))
mapper.resource("user", "users",
controller=users.create_resource(),
collection={'detail': 'GET'})
mapper.resource("zone", "zones",
controller=zones.create_resource(),
collection={'detail': 'GET',
@@ -16,6 +16,7 @@
from webob import exc
from nova.api.openstack import common
from nova.api.openstack.v2 import extensions
from nova.api.openstack import wsgi
from nova.api.openstack import xmlutil
from nova.auth import manager
@@ -129,11 +130,25 @@ class UserXMLSerializer(xmlutil.XMLTemplateSerializer):
return UserTemplate()
def create_resource():
body_serializers = {
'application/xml': UserXMLSerializer(),
}
class Users(extensions.ExtensionDescriptor):
"""Allow admins to acces user information"""
serializer = wsgi.ResponseSerializer(body_serializers)
name = "Users"
alias = "os-users"
namespace = "http://docs.openstack.org/compute/ext/users/api/v1.1"
updated = "2011-08-08T00:00:00+00:00"
admin_only = True
return wsgi.Resource(Controller(), serializer=serializer)
def get_resources(self):
body_serializers = {
'application/xml': UserXMLSerializer(),
}
serializer = wsgi.ResponseSerializer(body_serializers)
coll_actions = {'detail': 'GET'}
res = extensions.ResourceExtension('users',
Controller(),
serializer=serializer,
collection_actions=coll_actions)
return [res]
@@ -15,11 +15,11 @@
from lxml import etree
from nova import test
from nova import utils
from nova.api.openstack.v2 import users
from nova.api.openstack.v2.contrib import users
from nova.auth.manager import User, Project
from nova import test
from nova.tests.api.openstack import fakes
from nova import utils
def fake_init(self):
@@ -118,6 +118,7 @@ class ExtensionControllerTest(ExtensionTestCase):
"ServerActionList",
"ServerDiagnostics",
"SimpleTenantUsage",
"Users",
"VSAs",
"VirtualInterfaces",
"Volumes",