diff options
| author | Andy Smith <code@term.ie> | 2011-01-04 14:07:46 -0800 |
|---|---|---|
| committer | Andy Smith <code@term.ie> | 2011-01-04 14:07:46 -0800 |
| commit | 35d3050511ef513ff440fbd9f8b44695ea8be797 (patch) | |
| tree | 137ee166f1411d645a4907d000680e0eb31c748a | |
| parent | f1e423389e86954a3e143482b29ec6d37053e173 (diff) | |
| download | nova-35d3050511ef513ff440fbd9f8b44695ea8be797.tar.gz nova-35d3050511ef513ff440fbd9f8b44695ea8be797.tar.xz nova-35d3050511ef513ff440fbd9f8b44695ea8be797.zip | |
rename Easy API to Direct API
| -rwxr-xr-x | bin/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 = {} |
