endpoint table is missing reference to region table
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Identity (keystone) |
Fix Released
|
Wishlist
|
Kanagaraj Manickam |
Bug Description
Keystone is provided with region table as given here for storing the region details :
mysql> desc region
-> ;
+------
| Field | Type | Null | Key | Default | Extra |
+------
| id | varchar(64) | NO | PRI | NULL | |
| description | varchar(255) | NO | | NULL | |
| parent_region_id | varchar(64) | YES | | NULL | |
| extra | text | YES | | NULL | |
+------
But it is not consumed in the endpoint table as shown below, "region" column is still having the endpoint name
mysql> desc endpoint;
+------
| Field | Type | Null | Key | Default | Extra |
+------
| id | varchar(64) | NO | PRI | NULL | |
| legacy_endpoint_id | varchar(64) | YES | | NULL | |
| interface | varchar(8) | NO | | NULL | |
| region | varchar(255) | YES | | NULL | |
| service_id | varchar(64) | NO | MUL | NULL | |
| url | text | NO | | NULL | |
| extra | text | YES | | NULL | |
| enabled | tinyint(1) | NO | | 1 | |
+------
And this "region" column should be renamed to "region_id" and should be referring to the region table.
Changed in keystone: | |
assignee: | nobody → Kanagaraj Manickam (kanagaraj-manickam) |
Changed in keystone: | |
importance: | Undecided → Wishlist |
description: | updated |
Changed in keystone: | |
milestone: | none → juno-3 |
status: | Fix Committed → Fix Released |
Changed in keystone: | |
milestone: | juno-3 → 2014.2 |
This should really require a specification on keystone-specs, as I suspect there will be more impact than anyone realizes (testing, etc). As I suggested on the mailing list, we'll have to consider:
A) a data migration will need to be performed to sync up the regions in the endpoint table with regions in the region table (populate those foreign keys, creating corresponding regions where necessary)
B) endpoints are created today without requiring a region to be created; this workflow will have to continue for v2 and v3 (regions need to be created dynamically)