Merge "Convering /users to admin extension"

This commit is contained in:
Jenkins
2011-12-26 22:53:26 +00:00
committed by Gerrit Code Review
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",