Moving to Keystone v3

Registered by Maru Newby

With Keystone having renamed the term 'tenant' to 'project' in their v3 api, and closing in on moving away from the term 'tenant' of the v2 api, all OpenStack projects need to be planning for standardizing on the use of 'project' and adopting the v3 API. This blueprint is intended to manage the code, db, and documentation changes that effort will entail.

Blueprint information

Status:
Complete
Approver:
Henry Gessau
Priority:
Low
Drafter:
Dariusz Smigiel
Direction:
Approved
Assignee:
Dariusz Smigiel
Definition:
Approved
Series goal:
Accepted for newton
Implementation:
Implemented
Milestone target:
milestone icon ocata-1
Started by
Armando Migliaccio
Completed by
Armando Migliaccio

Related branches

Sprints

Whiteboard

Sep-12-2016(armax): functionally complete from an end-user standpoint. Codebase may need a thorough sweep.

Aug-08-2016(dasm): neutronclient change released, db update for neutron and couple subprojects merged.
Left:
* ensure that deprecation warnings are emitting warnings
* cleaning temporary fixes introduced for subprojects to bypass problems with db migrations
* modify api.

May-22-2016(dasm): review for python-neutronclient: https://review.openstack.org/#/c/320090/

Mar-3-2106(armax): Moved to Newton. Please ensure you re-submit spec if necessary.

Feb-17-2016(HenryG): Status update:
dasm posted a review for api docs fix
https://review.openstack.org/281357

Feb-01-2016(armax): Status update:

http://eavesdrop.openstack.org/meetings/networking/2016/networking.2016-01-25-21.01.log.html#l-193

Jan-29-2016(armax): this blueprint is relevant:

https://blueprints.launchpad.net/devstack/+spec/keystonev3

Change https://review.openstack.org/#/c/271508/ switched Keystone v3 to be the default in Devstack

Jan-24-2016(armax): Still iterating on the spec [1].

[1] https://review.openstack.org/#/c/257362/

https://review.openstack.org/#/q/status:open+project:openstack/neutron+branch:master+topic:keystone-v3,n,z

--------

I wonder if we should chew on this one. I browsed around and I think we are the only only projects amongst the big ones that still use tenant all over the place. At least in the DB schema

Armado wrote:
> At least in the DB schema
You mean s/tenant/project/g in the whole schema? I can't say I am thrilled by the idea. -- Henry

* Nov-18-2015(armax): based on [1], v2 is not going anywhere any time soon.

[1] http://lists.openstack.org/pipermail/openstack-dev/2015-November/080816.html

Gerrit topics: https://review.openstack.org/#/q/topic:bp/keystone-v3+OR+topic:keystone-v3,n,z

Addressed by: https://review.openstack.org/253783
    Use keystoneauth instead of keystoneclient

Addressed by: https://review.openstack.org/253782
    Pull project out of request in addition to tenant

Addressed by: https://review.openstack.org/253964
    Add release note covering keystoneauth and v3

Addressed by: https://review.openstack.org/257362
    WIP: Moving to Keystone v3 Blueprint

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

Addressed by: https://review.openstack.org/322268
    Update Neutron server to use only keystoneauth

Addressed by: https://review.openstack.org/327258
    Update Neutron documentation with `project`

Addressed by: https://review.openstack.org/335786
    Rename DB columns: tenant -> project

Addressed by: https://review.openstack.org/335792
    Added Deprecation Warning to models

Addressed by: https://review.openstack.org/337906
    Try me.

Addressed by: https://review.openstack.org/341279
    Rename DB columns: tenant -> project

Addressed by: https://review.openstack.org/342326
    Rename DB columns: tenant -> project

Addressed by: https://review.openstack.org/342335
    Rename DB columns: tenant -> project

Addressed by: https://review.openstack.org/342444
    Rename DB columns: tenant -> project

Addressed by: https://review.openstack.org/350989
    objects: stop converting project_id to tenant_id for subnets

Gerrit topic: https://review.openstack.org/#q,topic:bp/adopt-oslo-versioned-objects-for-db,n,z

Addressed by: https://review.openstack.org/350991
    objects: rename tenant_id field to project_id for trunks

Addressed by: https://review.openstack.org/352531
    Emit DeprecationWarning on using tenant_id in models

Addressed by: https://review.openstack.org/354504
    Remove temporary local HasProject

Addressed by: https://review.openstack.org/354506
    Remove temporary local HasProject

Addressed by: https://review.openstack.org/354512
    Remove temporary local HasTenant

Addressed by: https://review.openstack.org/354513
    Remove temporary local HasProject

Addressed by: https://review.openstack.org/357977
    [WIP] Accept project_id for API calls

Addressed by: https://review.openstack.org/371998
    Add admin api tests for project-id

Addressed by: https://review.openstack.org/372857
    s/tenant/project/g

Addressed by: https://review.openstack.org/374289
    Add admin api tests for project-id

Addressed by: https://review.openstack.org/378716
    Add missing tenant_id/project_id request parameter

Addressed by: https://review.openstack.org/381280
    [doc] Allow creating loadbalancer with network_id

Addressed by: https://review.openstack.org/448238
    Register OwnerCheck for project_id too

Gerrit topic: https://review.opendev.org/#/q/topic:bp/keystone-v3

Addressed by: https://review.opendev.org/c/openstack/neutron/+/877533
    Replace "tenant_id" with "project_id" in IPAM engine

Addressed by: https://review.opendev.org/c/openstack/neutron-dynamic-routing/+/882940
    Replace "tenant_id" with "project_id"

Addressed by: https://review.opendev.org/c/openstack/neutron/+/882949
    Replace "tenant_id" with "project_id" in address scope

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.