summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortermie <github@anarkystic.com>2012-01-09 14:32:02 -0800
committertermie <github@anarkystic.com>2012-01-09 14:32:02 -0800
commit8f46af011ea2c4756ac3d9e7d62fc6ce477f8566 (patch)
treeacba8e5283b79377c576634d5491cbe75d86593a
parent2340dee20f614da92a3e3615d06dcd2a3c91dfdf (diff)
basic service running again
-rw-r--r--.gitignore4
-rwxr-xr-xbin/keystone7
-rw-r--r--etc/default.conf57
-rw-r--r--etc/default_catalog.templates12
-rw-r--r--etc/keystone.conf62
5 files changed, 115 insertions, 27 deletions
diff --git a/.gitignore b/.gitignore
index c20afefb..4bc32265 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 58e7b3a9..07060817 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 f50c7706..3062f4b3 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
+
+[filter:crud_extension]
+paste.filter_factory = keystone.keystone_compat:KeystoneAdminCrudExtension.factory
-[app:keystonelight]
-paste.app_factory = keystonelight.service:app_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 00000000..c12b5c4c
--- /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 d9052631..bbeb1ca5 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