Comment 17 for bug 1473597

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/14249
Committed: http://github.org/Juniper/contrail-controller/commit/9ff444b32301db684a149fd603a645f9f1b5e1af
Submitter: Zuul
Branch: R2.20.x

commit 9ff444b32301db684a149fd603a645f9f1b5e1af
Author: Divakar <email address hidden>
Date: Wed Jul 29 21:42:06 2015 +0530

Handling service-instance reuse

When the neutron router is added and deleted continuously in a loop, the
service instance object in Agent is not properly handled. When service
instance is delete marked and re-add appears again, DB table invokes
OnChange on the DBEntry rather Add. Service instance code is not
handling this case and IFMapNode is set in DBEntry only as part
of ADD. This is leading to stale IFMapNode entry in DBEntry and leading
to crash when IFMap node graph is invoked as part of OnChange.

As a fix, even in OnChange, IFMapNode is set in DBEntry. As
service_instance is taking a intrusive pointer to IFMapNode, redundatnt
node_ member is removed from the object.

Also service_instance_test has been moved out of falky test.

Change-Id: Ifc84091e23c5bc1a367d852574db286751b041f0
closes-bug: #1473597
closes-bug: #1474273
partial-bug: #1465413