Comment 5 for bug 1782314

Revision history for this message
Oleg Bondarev (obondarev) wrote :

Quoting Graham Hayes (grahamhayes): "Not all project IDs are UUIDs unfortunately - in the past I have worked on clouds were they were ints, The keystone validator is very loose [1]
...
1 - https://github.com/openstack/keystone/blob/b9dee7332374d9a382c8403d646909e0c70a90ac/keystone/common/validation/parameter_types.py#L38-L45
"[2]
So we can't just add validation into Neutron for tenant_id to be UUID - this is incorrect, won't be accepted by upstream and more importantly may break existing customers deployments.

The proper way would be to validate all tenant IDs with keystone like was done in nova [3] and currently is being replicated in designate [4].

If we are to replicate this in Neutron then the validation code should be refactored to a common library (oslo) and be used from all projects where needed. This is an upstream master feature which will take significant time to land.
Even if implemented, these patches will be hardly backportable to Mitaka (which is 5-6 releases back).
Given above - closing as won't fix.

A recommendation would be to maybe fix this in ODL V1 driver by handling/skipping a non-UUID exception which should be fairly simple and backportable unless I'm too naive.

[2] https://bugs.launchpad.net/designate/+bug/1760822/comments/6
[3] https://review.openstack.org/#/c/435010/
[4] https://review.openstack.org/#/c/576219/