tenant_id is set to ''(empty string) by l3 plugin
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Expired
|
Undecided
|
Unassigned |
Bug Description
L3 plugin code (neutorn/
e.g. gateway port, floating ip port, port used by dvr.
This is ugly hack and some L2 plugin or ML2 mechanism driver doesn't expect it and be confused with it.
It is better to fix it.
tenant_id=''(empty string) is used for those purpose.
- prevent (non-admin) user from updating
NeutronDbPlug
- prevent (non-admin) user from deleting
NeutronDbPluginV2 ._delete_port
- don't count for quota
Controller.create
This dirty hack was firstly introduced by
the changeset of a7326a947bc0b30
the change id of Ice72fc6d3b1c61
with only one line comment. The followers just use it without any special attention/comments.
description: | updated |
Changed in neutron: | |
assignee: | nobody → yalei wang (yalei-wang) |
I dug the history a bit and the documentation.
Per documentation according to
https:/ /wiki.openstack .org/wiki/ Neutron/ APIv2-specifica tion
http:// developer. openstack. org/api- ref-networking- v2.html
tenant_id is uuid string. (at least user visible one)
On the other hand, per the current implementation, tenant_id is free string whose length is up to 255 bytes.
It predates to quantum v2 api is introduced.
http:// git.openstack. org/cgit/ openstack/ neutron/ commit/ ?id=e791e9e3703 d0426a80cb0d442 3a9501c2445335
Add API v2 supportrefs/ changes/ 39/8039/ 16 melange- integration
* Implements BP v2-api-
* Adds v2 Plugin specification
* Refactors SQLAlchemy usage for multiple BASE's
Change-Id: I45f008f181c182 69afdfe4a9b589a 7c5ae56d225
It means the tanant_id was freestring of 255 bytes from the beginning of v2 api.