config fails to delete objects with stale hrefs
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Juniper Openstack | Status tracked in Trunk | |||||
R3.0 |
Invalid
|
Medium
|
Sachin Bansal | |||
R3.1 |
Invalid
|
Medium
|
Sachin Bansal | |||
R3.2 |
Invalid
|
Medium
|
Sachin Bansal | |||
Trunk |
Invalid
|
Medium
|
Sachin Bansal |
Bug Description
config fails to delete objects with stale hrefs with "Delete when children still present".
In a real openstack deployment, the order with which resources are deleted is not very strict.
There are in OpenStack, really only two different cases when deleting a project:
1) The project has no dependent (child) resource,
2) The project has dependent (child) resources
We, in both prod and dev environments, always end up, and especially after running openstack-rally load tests, with a cfgdb that is massively out of sync with the openstack database.
This eventually leads to complete contrail meltdown due to what appears to be contrail-
The example above was with a project but is actually generic; there are several cases where contrail's vnc code fails to properly sync (delete) from openstack-
In VNC ( contrail-
I believe for example in API server, the method http_resource_
I have for example a situation now with projects that won't be deleted due to two children links, a virtual-network and a virtual-
I see two solutions (both probably worth pursuing):
1) Backrefs should be pruned when an object is deleted, i.e. when those child objects were actually deleted (there's necessarily at least some code path that doesn't do this),
2) http_resource_
There's a third one, but I'm not as sure about this one as it is a band-aid rather than proper fix to data model cleanliness:
3) Extend pre_*_delete with more deletes on child objects, where appropriate.
information type: | Proprietary → Public |
description: | updated |
As discussed over slack, the problem was incorrect keystone config, hence marking this invalid.