Merge Django OpenStack Auth with Horizon

Registered by Rob Cresswell

Django OpenStack Auth is a library consumed by Horizon that handles its interactions with Keystone. It was originally built as a separate library so that other auth plugins (like the now defunct Django OpenStack Auth Kerberos) could be swapped in. However, over time, the library has become increasingly highly coupled with Horizon, which is also its sole consumer to my knowledge.

There are a number of reasons why a merge would be beneficial:

- Reduce the workload involved in dependency management and upgrades. Currently, a Django bump requires a global-requirements change, a d_o_a requirements change, a d_o_a release, and upper-constraints change. After this blueprint, a single g-r change would be all that is required.

- Reduce the number of changes involved for Keystone improvements to work. At the moment, for Keystone-related improvements, we need to merge a change to d_o_a, release d_o_a, and then merge the linked (again, highly coupled) change to Horizon (usually settings examples, documentation, and release notes changes).

Blueprint information

Akihiro Motoki
Rob Cresswell
Akihiro Motoki
Series goal:
Accepted for 13.0.0-queens
Milestone target:
milestone icon queens-rc1
Started by
Rob Cresswell
Completed by
Akihiro Motoki

Related branches



Gerrit topic:,topic:add-openstack-auth,n,z

Addressed by:
    Add Django OpenStack Auth to Horizon

Gerrit topic:,topic:bp/merge-openstack-auth,n,z

[amotoki -- Nov 15, 2017]
The horizon patch has been merged, but there are a lot of things to be done before completing this blueprint (outside of horizon).

[amotoki - Jan 21, 2018] The only remaining thing is a devstack patch.

[amotoki - Feb 6, 2018] Completed!


- [DONE] Drop django_openstack_auth from devstack

- [DONE] Announce this to horizon plugin developers
- [DONE] Announce this to packaging projects

- [DONE] the master branch of django_openstack_auth needs to be closed (it perhaps means to delete all files and update the readme file.)
 project_config: -- merged
- [DONE] Drop django_openstack_auth from openstack/requirements projects.txt
- [DONE] Drop django_openstack_auth from openstack/releases queens deliverables

- [DONE] Clean up django_openstack_auth from global requirements - (waiting for manila-ui and other horizon plugin patch merge = next item)
- [DONE] Clean up django_openstack_auth from requirements.txt files in horizon plugin repositories

In the horizon side, the following needs to be done.
- [DONE] Revisit the doc structure. The reference index page says "Auth API Reference" but the form page contains both horizon and openstack_auth forms. I think it is better openstack_auth API reference has its own directory.
- [DONE] The recent commit in d.o.a is not imported yet.
- [DONE] A release note on this is required.

Addressed by: - MERGED
    release note for blueprint merge-openstack-auth

Addressed by: - MERGED
    Import django_openstack_auth settings missing in horizon doc

Addressed by:
    relnote: clearly mention django-openstack-auth needs uninstall


Work Items

This blueprint contains Public information 
Everyone can see this information.


No subscribers.