summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Smith <code@term.ie>2011-01-04 14:07:46 -0800
committerAndy Smith <code@term.ie>2011-01-04 14:07:46 -0800
commit35d3050511ef513ff440fbd9f8b44695ea8be797 (patch)
tree137ee166f1411d645a4907d000680e0eb31c748a
parentf1e423389e86954a3e143482b29ec6d37053e173 (diff)
downloadnova-35d3050511ef513ff440fbd9f8b44695ea8be797.tar.gz
nova-35d3050511ef513ff440fbd9f8b44695ea8be797.tar.xz
nova-35d3050511ef513ff440fbd9f8b44695ea8be797.zip
rename Easy API to Direct API
-rwxr-xr-xbin/nova-direct-api (renamed from bin/nova-easy-api)20
-rw-r--r--nova/api/direct.py (renamed from nova/api/easy.py)38
-rw-r--r--nova/tests/test_direct.py (renamed from nova/tests/easy_unittest.py)36
3 files changed, 47 insertions, 47 deletions
diff --git a/bin/nova-easy-api b/bin/nova-direct-api
index e8e86b4fb..43046e6c2 100755
--- a/bin/nova-easy-api
+++ b/bin/nova-direct-api
@@ -37,25 +37,25 @@ gettext.install('nova', unicode=1)
from nova import flags
from nova import utils
from nova import wsgi
-from nova.api import easy
+from nova.api import direct
from nova.compute import api as compute_api
FLAGS = flags.FLAGS
-flags.DEFINE_integer('easy_port', 8001, 'Easy API port')
-flags.DEFINE_string('easy_host', '0.0.0.0', 'Easy API host')
+flags.DEFINE_integer('direct_port', 8001, 'Direct API port')
+flags.DEFINE_string('direct_host', '0.0.0.0', 'Direct API host')
if __name__ == '__main__':
utils.default_flagfile()
FLAGS(sys.argv)
- easy.register_service('compute', compute_api.ComputeAPI())
- easy.register_service('reflect', easy.Reflection())
- router = easy.SundayMorning()
- with_json = easy.JsonParamsMiddleware(router)
- with_req = easy.ReqParamsMiddleware(with_json)
- with_auth = easy.DelegatedAuthMiddleware(with_req)
+ direct.register_service('compute', compute_api.ComputeAPI())
+ direct.register_service('reflect', direct.Reflection())
+ router = direct.Router()
+ with_json = direct.JsonParamsMiddleware(router)
+ with_req = direct.PostParamsMiddleware(with_json)
+ with_auth = direct.DelegatedAuthMiddleware(with_req)
server = wsgi.Server()
- server.start(with_auth, FLAGS.easy_port, host=FLAGS.easy_host)
+ server.start(with_auth, FLAGS.direct_port, host=FLAGS.direct_host)
server.wait()
diff --git a/nova/api/easy.py b/nova/api/direct.py
index 7468e3115..81b3ae202 100644
--- a/nova/api/easy.py
+++ b/nova/api/direct.py
@@ -43,11 +43,25 @@ from nova import utils
from nova import wsgi
-EASY_ROUTES = {}
+ROUTES = {}
def register_service(path, handle):
- EASY_ROUTES[path] = handle
+ ROUTES[path] = handle
+
+
+class Router(wsgi.Router):
+ def __init__(self, mapper=None):
+ if mapper is None:
+ mapper = routes.Mapper()
+
+ self._load_registered_routes(mapper)
+ super(Router, self).__init__(mapper=mapper)
+
+ def _load_registered_routes(self, mapper):
+ for route in ROUTES:
+ mapper.connect('/%s/{action}' % route,
+ controller=ServiceWrapper(ROUTES[route]))
class DelegatedAuthMiddleware(wsgi.Middleware):
@@ -76,7 +90,7 @@ class JsonParamsMiddleware(wsgi.Middleware):
request.environ['openstack.params'] = params
-class ReqParamsMiddleware(wsgi.Middleware):
+class PostParamsMiddleware(wsgi.Middleware):
def process_request(self, request):
params_parsed = request.params
params = {}
@@ -90,20 +104,6 @@ class ReqParamsMiddleware(wsgi.Middleware):
request.environ['openstack.params'] = params
-class SundayMorning(wsgi.Router):
- def __init__(self, mapper=None):
- if mapper is None:
- mapper = routes.Mapper()
-
- self._load_registered_routes(mapper)
- super(SundayMorning, self).__init__(mapper=mapper)
-
- def _load_registered_routes(self, mapper):
- for route in EASY_ROUTES:
- mapper.connect('/%s/{action}' % route,
- controller=ServiceWrapper(EASY_ROUTES[route]))
-
-
class Reflection(object):
"""Reflection methods to list available methods."""
def __init__(self):
@@ -113,7 +113,7 @@ class Reflection(object):
def _gather_methods(self):
methods = {}
controllers = {}
- for route, handler in EASY_ROUTES.iteritems():
+ for route, handler in ROUTES.iteritems():
controllers[route] = handler.__doc__.split('\n')[0]
for k in dir(handler):
if k.startswith('_'):
@@ -204,7 +204,7 @@ class ServiceWrapper(wsgi.Controller):
class Proxy(object):
- """Pretend an Easy API endpoint is an object."""
+ """Pretend a Direct API endpoint is an object."""
def __init__(self, app, prefix=None):
self.app = app
self.prefix = prefix
diff --git a/nova/tests/easy_unittest.py b/nova/tests/test_direct.py
index cd13c7710..d73c64ce0 100644
--- a/nova/tests/easy_unittest.py
+++ b/nova/tests/test_direct.py
@@ -16,7 +16,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-"""Tests for Easy API."""
+"""Tests for Direct API."""
import json
import logging
@@ -27,7 +27,7 @@ from nova import context
from nova import exception
from nova import test
from nova import utils
-from nova.api import easy
+from nova.api import direct
from nova.compute import api as compute_api
from nova.tests import cloud_unittest
@@ -41,18 +41,18 @@ class FakeService(object):
'project': context.project_id}
-class EasyTestCase(test.TestCase):
+class DirectTestCase(test.TestCase):
def setUp(self):
- super(EasyTestCase, self).setUp()
- easy.register_service('fake', FakeService())
- self.router = easy.ReqParamsMiddleware(
- easy.JsonParamsMiddleware(
- easy.SundayMorning()))
- self.auth_router = easy.DelegatedAuthMiddleware(self.router)
+ super(DirectTestCase, self).setUp()
+ direct.register_service('fake', FakeService())
+ self.router = direct.PostParamsMiddleware(
+ direct.JsonParamsMiddleware(
+ direct.Router()))
+ self.auth_router = direct.DelegatedAuthMiddleware(self.router)
self.context = context.RequestContext('user1', 'proj1')
def tearDown(self):
- easy.EASY_ROUTES = {}
+ direct.ROUTES = {}
def test_delegated_auth(self):
req = webob.Request.blank('/fake/context')
@@ -82,21 +82,21 @@ class EasyTestCase(test.TestCase):
self.assertEqual(resp_parsed['data'], 'foo')
def test_proxy(self):
- proxy = easy.Proxy(self.router)
+ proxy = direct.Proxy(self.router)
rv = proxy.fake.echo(self.context, data='baz')
self.assertEqual(rv['data'], 'baz')
-class EasyCloudTestCase(cloud_unittest.CloudTestCase):
+class DirectCloudTestCase(cloud_unittest.CloudTestCase):
def setUp(self):
- super(EasyCloudTestCase, self).setUp()
+ super(DirectCloudTestCase, self).setUp()
compute_handle = compute_api.ComputeAPI(self.cloud.network_manager,
self.cloud.image_service)
- easy.register_service('compute', compute_handle)
- self.router = easy.JsonParamsMiddleware(easy.SundayMorning())
- proxy = easy.Proxy(self.router)
+ direct.register_service('compute', compute_handle)
+ self.router = direct.JsonParamsMiddleware(direct.Router())
+ proxy = direct.Proxy(self.router)
self.cloud.compute_api = proxy.compute
def tearDown(self):
- super(EasyCloudTestCase, self).tearDown()
- easy.EASY_ROUTES = {}
+ super(DirectCloudTestCase, self).tearDown()
+ direct.ROUTES = {}