contrail-schema unable to clean old routing instance objects
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Juniper Openstack | Status tracked in Trunk | |||||
R2.21.x |
Fix Committed
|
Undecided
|
Sachin Bansal | |||
R3.0 |
Fix Committed
|
Undecided
|
Unassigned | |||
R3.1 |
Fix Committed
|
Undecided
|
Unassigned | |||
R3.2 |
Fix Committed
|
Undecided
|
Unassigned | |||
Trunk |
Fix Committed
|
Undecided
|
Unassigned | |||
OpenContrail |
Fix Committed
|
Undecided
|
Unassigned |
Bug Description
Contrail version: 2.21.3-56
After reboot of contrail services, it looks like contrail-schema tries to clean up stale routing instance objects. We were seeing a lot of errors related to schema not able to delete routing instance objects. The impact
of this issue is that new virtual machine interfaces are not receiving
a routing instance object.
02/10/2017 08:54:41 PM [contrail-schema]: Error while deleting routing instance default-
02/10/2017 08:54:43 PM [contrail-schema]: Error while deleting routing instance default-
02/10/2017 08:59:34 PM [contrail-schema]: Starting Introspect on HTTP Port 8087
02/10/2017 08:59:34 PM [contrail-schema]: Cannot write http_port 8087 to /tmp/contrail-
02/10/2017 08:59:39 PM [contrail-schema]: Error while deleting routing instance default-
02/10/2017 08:59:39 PM [contrail-schema]: Error while deleting routing instance default-
On closer inspection, we found out that the routing instance objects had 'fq_name' attribute missing which caused schema to throw exceptions and crash. As a side effect of this, tap interfaces for new VMs on openstack were not receiving a vrf and showing in ERROR state. To work around this problem we added the following patch to
/usr/lib/
1313 obj_dict = self._db_
1314 if 'fq_name' not in obj_dict: # patched line
1315 return (True, '') # patched line
1316 parent_fq_name = json.loads(
1317 try:
1318 parent_uuid = self._db_
1320 except NoIdError:
Why are the routing instance getting into a corrputed state and what is the proper fix for this issue?
Already fixed in 3.0 onwards with this: https:/ /review. opencontrail. org/13258
Will back port relevant part of the fix to R2.21.x