Here's a proposal for addressing this issue and also making it less likely that users will ever need to edit paste deploy config directly:
1. Strip out the paste deploy config from the main etc/glance-*.conf file into corresponding /usr/share/glance-*-paste.conf files
2. For each major middleware deployment option (minimal, with keystone, with caching, with keystone and caching etc.) define a seperate pipeline section, e.g.:
The idea being that most users need not be concerned that keystone support is in fact realized by traversing two separate filters, authtoken and auth-context. The default would be the most minimal/generic pipeline.
4. Before calling into wsgi.paste_deploy_app(), concatenate "-%(deployment_flavor)s" to the app_name so that correct pipeline is selected.
Thoughts?
If there are no objections to the above, I'll go ahead and put together a patch implementing the change.
Here's a proposal for addressing this issue and also making it less likely that users will ever need to edit paste deploy config directly:
1. Strip out the paste deploy config from the main etc/glance-*.conf file into corresponding /usr/share/ glance- *-paste. conf files
2. For each major middleware deployment option (minimal, with keystone, with caching, with keystone and caching etc.) define a seperate pipeline section, e.g.:
# minimal pipeline glance- api-generic]
[pipeline:
pipeline = versionnegotiation context apiv1app
# pipeline with keystone enabled glance- api-keystone]
[pipeline:
pipeline = versionnegotiation authtoken auth-context apiv1app
# pipeline with caching enabled glance- api-caching]
[pipeline:
pipeline = versionnegotiation context cache apiv1app
# ... etc.
3. Add a new config option, allowing the active pipeline to be selected in the primary config, e.g:
# etc/glance-api.conf
deployment_flavor = keystone
The idea being that most users need not be concerned that keystone support is in fact realized by traversing two separate filters, authtoken and auth-context. The default would be the most minimal/generic pipeline.
4. Before calling into wsgi.paste_ deploy_ app(), concatenate "-%(deployment_ flavor) s" to the app_name so that correct pipeline is selected.
Thoughts?
If there are no objections to the above, I'll go ahead and put together a patch implementing the change.