Remove the need for project_id from API endpoints
Cinder's keystone catalog endpoints currently include a template for the project_id:
$ openstack endpoint list --service cinderv3 -c 'Service Name' -c URL
+------
| Service Name | URL |
+------
| cinderv3 | http://
+------
Including a project_id in the URL is not necessary because the project_id can be extracted from the keystone token for the user that is making an API request. Furthermore, requiring a project_id in the URL is incompatible with system scoped tokens, which don't have an associated project_id.
The proposal is to make the project_id optional in API URLs. The keystone endpoint would no longer use templating to include the project_id. However, in order to retain backward compatibility, the cinder API would continue to support API URLs that still include a project_id. Enhancing cinder to not require a project_id in API URLs would make its behavior consistent with other projects, namely nova and manila.
A new microversion will be added so that clients may know whether including a project_id in an API URL is optional (new behavior) or mandatory (old behavior).
Blueprint information
- Status:
- Complete
- Approver:
- None
- Priority:
- High
- Drafter:
- Alan Bishop
- Direction:
- Approved
- Assignee:
- Alan Bishop
- Definition:
- Approved
- Series goal:
- Accepted for yoga
- Implementation:
- Implemented
- Milestone target:
- yoga-3
- Started by
- Brian Rosmaita
- Completed by
- Brian Rosmaita