diff options
Diffstat (limited to 'keystone-moon/keystone/service.py')
-rw-r--r-- | keystone-moon/keystone/service.py | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/keystone-moon/keystone/service.py b/keystone-moon/keystone/service.py index e9a0748e..35b548fa 100644 --- a/keystone-moon/keystone/service.py +++ b/keystone-moon/keystone/service.py @@ -26,13 +26,14 @@ from keystone import catalog from keystone.common import wsgi from keystone import controllers from keystone import credential +from keystone import endpoint_policy from keystone import identity from keystone import policy from keystone import resource from keystone import routers from keystone import token from keystone import trust -from keystone.contrib import moon as authz + CONF = cfg.CONF LOG = log.getLogger(__name__) @@ -103,11 +104,23 @@ def v3_app_factory(global_conf, **local_conf): sub_routers = [] _routers = [] - router_modules = [assignment, auth, catalog, credential, identity, policy, - resource, authz] + # NOTE(dstanek): Routers should be ordered by their frequency of use in + # a live system. This is due to the routes implementation. The most + # frequently used routers should appear first. + router_modules = [auth, + assignment, + catalog, + credential, + identity, + policy, + resource] + if CONF.trust.enabled: router_modules.append(trust) + if CONF.endpoint_policy.enabled: + router_modules.append(endpoint_policy) + for module in router_modules: routers_instance = module.routers.Routers() _routers.append(routers_instance) |