Merge Django OpenStack Auth with Horizon

Registered by Rob Cresswell on 2017-07-12

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

Status:
Complete
Approver:
Akihiro Motoki
Priority:
Low
Drafter:
Rob Cresswell
Direction:
Approved
Assignee:
Akihiro Motoki
Definition:
Approved
Series goal:
Accepted for 13.0.0-queens
Implementation:
Implemented
Milestone target:
milestone icon queens-rc1
Started by
Rob Cresswell on 2017-07-14
Completed by
Akihiro Motoki on 2018-02-05

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:add-openstack-auth,n,z

Addressed by: https://review.openstack.org/482561
    Add Django OpenStack Auth to Horizon

Gerrit topic: https://review.openstack.org/#q,topic:bp/merge-openstack-auth,n,z

[amotoki -- Nov 15, 2017]
The horizon patch https://review.openstack.org/482561 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 https://review.openstack.org/529947

- [DONE] Announce this to horizon plugin developers
- [DONE] Announce this to packaging projects
http://lists.openstack.org/pipermail/openstack-dev/2018-January/126428.html

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

- [DONE] Clean up django_openstack_auth from global requirements - https://review.openstack.org/#/c/519640/ (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
  https://review.openstack.org/#/q/topic:bp/merge-openstack-auth+(status:open+OR+status:merged)+NOT+project:openstack/horizon+NOT+project:openstack/django_openstack_auth

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.
https://review.openstack.org/#/c/520447/
- [DONE] The recent commit in d.o.a is not imported yet. https://review.openstack.org/#/c/517382/
- [DONE] A release note on this is required. https://review.openstack.org/#/c/520525/

Addressed by: https://review.openstack.org/520525 - MERGED
    release note for blueprint merge-openstack-auth

Addressed by: https://review.openstack.org/521361 - MERGED
    Import django_openstack_auth settings missing in horizon doc

Addressed by: https://review.openstack.org/539909
    relnote: clearly mention django-openstack-auth needs uninstall

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.