From 8f46af011ea2c4756ac3d9e7d62fc6ce477f8566 Mon Sep 17 00:00:00 2001 From: termie Date: Mon, 9 Jan 2012 14:32:02 -0800 Subject: [PATCH] basic service running again --- .gitignore | 4 ++- bin/keystone | 7 +++- etc/default.conf | 57 +++++++++++++++++++++++--------- etc/default_catalog.templates | 12 +++++++ etc/keystone.conf | 62 ++++++++++++++++++++++++++++++----- 5 files changed, 115 insertions(+), 27 deletions(-) create mode 100644 etc/default_catalog.templates diff --git a/.gitignore b/.gitignore index c20afefb53..4bc32265e5 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,6 @@ run_tests.log covhtml pep8.txt nosetests.xml -bla.db +tests/bla.db +docs/build +.DS_Store diff --git a/bin/keystone b/bin/keystone index 58e7b3a941..070608172d 100755 --- a/bin/keystone +++ b/bin/keystone @@ -18,9 +18,13 @@ if os.path.exists(os.path.join(possible_topdir, from paste import deploy +from keystone import config from keystone import wsgi +CONF = config.CONF + + def create_server(name, port): app = deploy.loadapp('config:%s' % conf, name=name) return wsgi.Server(app, port) @@ -40,7 +44,8 @@ def serve(*servers): if __name__ == '__main__': default_conf = os.path.join(possible_topdir, 'etc', - 'default.conf') + 'keystone.conf') + CONF(config_files=[default_conf]) logging.getLogger().setLevel(logging.DEBUG) conf = len(sys.argv) > 1 and sys.argv[1] or default_conf diff --git a/etc/default.conf b/etc/default.conf index f50c7706d6..3062f4b317 100644 --- a/etc/default.conf +++ b/etc/default.conf @@ -1,43 +1,68 @@ [DEFAULT] -catalog_driver = keystonelight.backends.kvs.KvsCatalog -identity_driver = keystonelight.backends.kvs.KvsIdentity -token_driver = keystonelight.backends.kvs.KvsToken -policy_driver = keystonelight.backends.policy.SimpleMatch public_port = 5000 admin_port = 35357 admin_token = ADMIN +compute_port = 3000 + +[sql] +connection = sqlite:///bla.db +idle_timeout = 200 +min_pool_size = 5 +max_pool_size = 10 +pool_timeout = 200 + +[identity] +driver = keystone.backends.kvs.KvsIdentity + +[catalog] +driver = keystone.backends.templated.TemplatedCatalog +template_file = default_catalog.templates + +[token] +driver = keystone.backends.kvs.KvsToken + +[policy] +driver = keystone.backends.policy.SimpleMatch + [filter:debug] -paste.filter_factory = keystonelight.wsgi:Debug.factory +paste.filter_factory = keystone.wsgi:Debug.factory [filter:token_auth] -paste.filter_factory = keystonelight.middleware:TokenAuthMiddleware.factory +paste.filter_factory = keystone.middleware:TokenAuthMiddleware.factory [filter:admin_token_auth] -paste.filter_factory = keystonelight.middleware:AdminTokenAuthMiddleware.factory +paste.filter_factory = keystone.middleware:AdminTokenAuthMiddleware.factory [filter:json_body] -paste.filter_factory = keystonelight.middleware:JsonBodyMiddleware.factory +paste.filter_factory = keystone.middleware:JsonBodyMiddleware.factory -[app:keystonelight] -paste.app_factory = keystonelight.service:app_factory +[filter:crud_extension] +paste.filter_factory = keystone.keystone_compat:KeystoneAdminCrudExtension.factory + +[app:keystone] +paste.app_factory = keystone.service:app_factory [app:keystone_service] -paste.app_factory = keystonelight.keystone_compat:service_app_factory +paste.app_factory = keystone.keystone_compat:service_app_factory [app:keystone_admin] -paste.app_factory = keystonelight.keystone_compat:admin_app_factory +paste.app_factory = keystone.keystone_compat:admin_app_factory -[pipeline:keystonelight_api] -pipeline = token_auth admin_token_auth json_body debug keystonelight +[pipeline:keystone_api] +pipeline = token_auth admin_token_auth json_body debug keystone [pipeline:keystone_service_api] pipeline = token_auth admin_token_auth json_body debug keystone_service [pipeline:keystone_admin_api] -pipeline = token_auth admin_token_auth json_body debug keystone_admin +pipeline = token_auth admin_token_auth json_body debug crud_extension keystone_admin [composite:main] use = egg:Paste#urlmap -/ = keystonelight_api +/ = keystone_api /v2.0 = keystone_service_api + +[composite:admin] +use = egg:Paste#urlmap +/v2.0 = keystone_admin_api diff --git a/etc/default_catalog.templates b/etc/default_catalog.templates new file mode 100644 index 0000000000..c12b5c4ca7 --- /dev/null +++ b/etc/default_catalog.templates @@ -0,0 +1,12 @@ +# config for TemplatedCatalog, using camelCase because I don't want to do +# translations for keystone compat +catalog.RegionOne.identity.publicURL = http://localhost:$(public_port)s/v2.0 +catalog.RegionOne.identity.adminURL = http://localhost:$(admin_port)s/v2.0 +catalog.RegionOne.identity.internalURL = http://localhost:$(admin_port)s/v2.0 +catalog.RegionOne.identity.name = 'Identity Service' + +# fake compute service for now to help novaclient tests work +catalog.RegionOne.compute.publicURL = http://localhost:$(compute_port)s/v1.1/$(tenant_id)s +catalog.RegionOne.compute.adminURL = http://localhost:$(compute_port)s/v1.1/$(tenant_id)s +catalog.RegionOne.compute.internalURL = http://localhost:$(compute_port)s/v1.1/$(tenant_id)s +catalog.RegionOne.compute.name = 'Compute Service' diff --git a/etc/keystone.conf b/etc/keystone.conf index d90526316e..bbeb1ca590 100644 --- a/etc/keystone.conf +++ b/etc/keystone.conf @@ -1,24 +1,68 @@ [DEFAULT] -catalog_driver = keystonelight.backends.kvs.KvsCatalog -identity_driver = keystonelight.backends.kvs.KvsIdentity -token_driver = keystonelight.backends.kvs.KvsToken public_port = 5000 +admin_port = 35357 admin_token = ADMIN +compute_port = 3000 + +[sql] +connection = sqlite:///bla.db +idle_timeout = 200 +min_pool_size = 5 +max_pool_size = 10 +pool_timeout = 200 + +[identity] +driver = keystone.backends.kvs.KvsIdentity + +[catalog] +driver = keystone.backends.templated.TemplatedCatalog +template_file = ./etc/default_catalog.templates + +[token] +driver = keystone.backends.kvs.KvsToken + +[policy] +driver = keystone.backends.policy.SimpleMatch + [filter:debug] -paste.filter_factory = keystonelight.wsgi:Debug.factory +paste.filter_factory = keystone.wsgi:Debug.factory [filter:token_auth] -paste.filter_factory = keystonelight.service:TokenAuthMiddleware.factory +paste.filter_factory = keystone.middleware:TokenAuthMiddleware.factory [filter:admin_token_auth] -paste.filter_factory = keystonelight.service:AdminTokenAuthMiddleware.factory +paste.filter_factory = keystone.middleware:AdminTokenAuthMiddleware.factory [filter:json_body] -paste.filter_factory = keystonelight.service:JsonBodyMiddleware.factory +paste.filter_factory = keystone.middleware:JsonBodyMiddleware.factory + +[filter:crud_extension] +paste.filter_factory = keystone.keystone_compat:KeystoneAdminCrudExtension.factory [app:keystone] -paste.app_factory = keystonelight.keystone_compat:app_factory +paste.app_factory = keystone.service:app_factory -[pipeline:main] +[app:keystone_service] +paste.app_factory = keystone.keystone_compat:service_app_factory + +[app:keystone_admin] +paste.app_factory = keystone.keystone_compat:admin_app_factory + +[pipeline:keystone_api] pipeline = token_auth admin_token_auth json_body debug keystone + +[pipeline:keystone_service_api] +pipeline = token_auth admin_token_auth json_body debug keystone_service + +[pipeline:keystone_admin_api] +pipeline = token_auth admin_token_auth json_body debug crud_extension keystone_admin + +[composite:main] +use = egg:Paste#urlmap +/ = keystone_api +/v2.0 = keystone_service_api + +[composite:admin] +use = egg:Paste#urlmap +/v2.0 = keystone_admin_api