summaryrefslogtreecommitdiffstats
path: root/nova/endpoint
diff options
context:
space:
mode:
authorEwan Mellor <ewan.mellor@citrix.com>2010-07-29 00:11:02 +0100
committerEwan Mellor <ewan.mellor@citrix.com>2010-07-29 00:11:02 +0100
commit9f4996e8738991a95a23cba2caa660f7002f94cd (patch)
treee40bc2e56ea96131200d5e12918bf5a429bb5cc1 /nova/endpoint
parentc5edaa2186add12947185cb1fd47e0a48eccafa9 (diff)
parentf61b62983f62aa10d7bed3bc1c406717663be923 (diff)
Merge with trunk, including fixing up conflicts with the removal of fake_users
and the reworking of node.py -> service.py.
Diffstat (limited to 'nova/endpoint')
-rw-r--r--nova/endpoint/admin.py14
-rwxr-xr-xnova/endpoint/api.py2
-rw-r--r--nova/endpoint/cloud.py27
-rw-r--r--nova/endpoint/rackspace.py7
4 files changed, 24 insertions, 26 deletions
diff --git a/nova/endpoint/admin.py b/nova/endpoint/admin.py
index b97a6727f..55a8e4238 100644
--- a/nova/endpoint/admin.py
+++ b/nova/endpoint/admin.py
@@ -22,7 +22,7 @@ Admin API controller, exposed through http via the api worker.
import base64
-from nova.auth import users
+from nova.auth import manager
from nova.compute import model
def user_dict(user, base64_file=None):
@@ -69,18 +69,18 @@ class AdminController(object):
@admin_only
def describe_user(self, _context, name, **_kwargs):
"""Returns user data, including access and secret keys."""
- return user_dict(users.UserManager.instance().get_user(name))
+ return user_dict(manager.AuthManager().get_user(name))
@admin_only
def describe_users(self, _context, **_kwargs):
"""Returns all users - should be changed to deal with a list."""
return {'userSet':
- [user_dict(u) for u in users.UserManager.instance().get_users()] }
+ [user_dict(u) for u in manager.AuthManager().get_users()] }
@admin_only
def register_user(self, _context, name, **_kwargs):
"""Creates a new user, and returns generated credentials."""
- return user_dict(users.UserManager.instance().create_user(name))
+ return user_dict(manager.AuthManager().create_user(name))
@admin_only
def deregister_user(self, _context, name, **_kwargs):
@@ -88,7 +88,7 @@ class AdminController(object):
Should throw an exception if the user has instances,
volumes, or buckets remaining.
"""
- users.UserManager.instance().delete_user(name)
+ manager.AuthManager().delete_user(name)
return True
@@ -100,8 +100,8 @@ class AdminController(object):
"""
if project is None:
project = name
- project = users.UserManager.instance().get_project(project)
- user = users.UserManager.instance().get_user(name)
+ project = manager.AuthManager().get_project(project)
+ user = manager.AuthManager().get_user(name)
return user_dict(user, base64.b64encode(project.get_credentials(user)))
@admin_only
diff --git a/nova/endpoint/api.py b/nova/endpoint/api.py
index 79a2aaddb..8915e4742 100755
--- a/nova/endpoint/api.py
+++ b/nova/endpoint/api.py
@@ -35,7 +35,7 @@ from nova import crypto
from nova import exception
from nova import flags
from nova import utils
-from nova.auth import users
+from nova.auth import manager
import nova.cloudpipe.api
from nova.endpoint import cloud
diff --git a/nova/endpoint/cloud.py b/nova/endpoint/cloud.py
index 48e47018a..21581ffd2 100644
--- a/nova/endpoint/cloud.py
+++ b/nova/endpoint/cloud.py
@@ -23,7 +23,6 @@ datastore.
"""
import base64
-import json
import logging
import os
import time
@@ -35,13 +34,13 @@ from nova import flags
from nova import rpc
from nova import utils
from nova.auth import rbac
-from nova.auth import users
+from nova.auth import manager
from nova.compute import model
from nova.compute import network
-from nova.compute import node
from nova.compute.instance_types import INSTANCE_TYPES
+from nova.compute import service as compute_service
from nova.endpoint import images
-from nova.volume import storage
+from nova.volume import service as volume_service
FLAGS = flags.FLAGS
@@ -49,10 +48,10 @@ FLAGS = flags.FLAGS
flags.DEFINE_string('cloud_topic', 'cloud', 'the topic clouds listen on')
def _gen_key(user_id, key_name):
- """ Tuck this into UserManager """
+ """ Tuck this into AuthManager """
try:
- manager = users.UserManager.instance()
- private_key, fingerprint = manager.generate_key_pair(user_id, key_name)
+ mgr = manager.AuthManager()
+ private_key, fingerprint = mgr.generate_key_pair(user_id, key_name)
except Exception as ex:
return {'exception': ex}
return {'private_key': private_key, 'fingerprint': fingerprint}
@@ -77,7 +76,7 @@ class CloudController(object):
def volumes(self):
""" returns a list of all volumes """
for volume_id in datastore.Redis.instance().smembers("volumes"):
- volume = storage.get_volume(volume_id)
+ volume = volume_service.get_volume(volume_id)
yield volume
def __str__(self):
@@ -297,8 +296,8 @@ class CloudController(object):
@rbac.allow('projectmanager', 'sysadmin')
def create_volume(self, context, size, **kwargs):
- # TODO(vish): refactor this to create the volume object here and tell storage to create it
- res = rpc.call(FLAGS.storage_topic, {"method": "create_volume",
+ # TODO(vish): refactor this to create the volume object here and tell service to create it
+ res = rpc.call(FLAGS.volume_topic, {"method": "create_volume",
"args" : {"size": size,
"user_id": context.user.id,
"project_id": context.project.id}})
@@ -332,7 +331,7 @@ class CloudController(object):
raise exception.NotFound('Instance %s could not be found' % instance_id)
def _get_volume(self, context, volume_id):
- volume = storage.get_volume(volume_id)
+ volume = volume_service.get_volume(volume_id)
if context.user.is_admin() or volume['project_id'] == context.project.id:
return volume
raise exception.NotFound('Volume %s could not be found' % volume_id)
@@ -579,7 +578,7 @@ class CloudController(object):
"args": {"instance_id" : inst.instance_id}})
logging.debug("Casting to node for %s's instance with IP of %s" %
(context.user.name, inst['private_dns_name']))
- # TODO: Make the NetworkComputeNode figure out the network name from ip.
+ # TODO: Make Network figure out the network name from ip.
return defer.succeed(self._format_instances(
context, reservation_id))
@@ -629,8 +628,8 @@ class CloudController(object):
def delete_volume(self, context, volume_id, **kwargs):
# TODO: return error if not authorized
volume = self._get_volume(context, volume_id)
- storage_node = volume['node_name']
- rpc.cast('%s.%s' % (FLAGS.storage_topic, storage_node),
+ volume_node = volume['node_name']
+ rpc.cast('%s.%s' % (FLAGS.volume_topic, volume_node),
{"method": "delete_volume",
"args" : {"volume_id": volume_id}})
return defer.succeed(True)
diff --git a/nova/endpoint/rackspace.py b/nova/endpoint/rackspace.py
index 9208ddab7..de05ba2da 100644
--- a/nova/endpoint/rackspace.py
+++ b/nova/endpoint/rackspace.py
@@ -34,12 +34,11 @@ from nova import exception
from nova import flags
from nova import rpc
from nova import utils
-from nova.auth import users
+from nova.auth import manager
from nova.compute import model
from nova.compute import network
from nova.endpoint import images
from nova.endpoint import wsgi
-from nova.volume import storage
FLAGS = flags.FLAGS
@@ -78,11 +77,11 @@ class Api(object):
def build_context(self, env):
rv = {}
if env.has_key("HTTP_X_AUTH_TOKEN"):
- rv['user'] = users.UserManager.instance().get_user_from_access_key(
+ rv['user'] = manager.AuthManager().get_user_from_access_key(
env['HTTP_X_AUTH_TOKEN']
)
if rv['user']:
- rv['project'] = users.UserManager.instance().get_project(
+ rv['project'] = manager.AuthManager().get_project(
rv['user'].name
)
return rv