Config nodes are not freed if Config update with Null ID_PERMS precedes config delete

Bug #1420209 reported by Divakar Dharanalakota
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Juniper Openstack
Status tracked in Trunk
R2.1
Fix Committed
High
Divakar Dharanalakota
Trunk
Fix Committed
High
Divakar Dharanalakota

Bug Description

Before receiving a Delete of node, if an Update is received without ID_PERMS, this object is never freed from config db in Agent. As Agent uses UUID as key, if update without ID_PERMS is received, the key is lost and delete to oper is not getting invoked. This is leading non-clearing of DBState of config Node and even config node is not getting deleted.

As a fix, in Config node's DBState UUId is stored when properly recieved. An update without ID_PERMS is converted to Delete from IFMapAgentTable. The delete of node uses UUID from CfgDbState and triggers delete.

IFNodeToREq of all nodes has been modififed to pick the uuid from CfgDBState rather from IFMapNode.
-Divakar

Tags: vrouter
no longer affects: juniperopenstack/r2.20
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/7258
Committed: http://github.org/Juniper/contrail-controller/commit/6a9b4be6a0dcfb3980bd072a57f92761a548eb9c
Submitter: Zuul
Branch: R2.1

commit 6a9b4be6a0dcfb3980bd072a57f92761a548eb9c
Author: Divakar <email address hidden>
Date: Tue Feb 10 03:29:56 2015 -0800

Holding the UUID from ID_PERMS in config DBState in DB Add and using it
for Config Delete
closes-bug: #1420209

Change-Id: I3b3f591b3730605660bcdef9c5c07503c55cc09b

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : master
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged
Download full text (5.5 KiB)

Reviewed: https://review.opencontrail.org/8032
Committed: http://github.org/Juniper/contrail-controller/commit/9d44b8f521cf02f70ecb7cd628754c64b8de3b9a
Submitter: Zuul
Branch: master

commit 9d44b8f521cf02f70ecb7cd628754c64b8de3b9a
Author: Hari <email address hidden>
Date: Tue Mar 3 21:29:48 2015 -0800

Merge the following commits from R2.1 branch (final).

Perf improvements for Logical Interface delete handling

Follow up on commit b4af4d67cef56ac85da5bb0d50bb55f882c70538 for delete
handling

When a link delete is notified to config listener, the IFMapNode in link
can be NULL. We used to ignore links with left/right node deleted.

Modified the link handler to pass the node-type when left/right node is
deleted. This way, the IFLinkToReq handler can take action based on the
type of node being deleted
(cherry picked from commit f1d7816dbdc886859caec5152d2b436ad4fb2a96)

Conflicts:
src/vnsw/agent/test-xml/test_xml_oper.cc

Holding the UUID from ID_PERMS in config DBState in DB Add and using it
for Config Delete
closes-bug: #1420209
(cherry picked from commit 6a9b4be6a0dcfb3980bd072a57f92761a548eb9c)

* Send ARP request packet on VMI interface instead of parent interface
such that vlan gets added, based on transmit vlan id
* If vlan-id is 0, then its treated as untagged interface, in agent
while framing the packet we were setting the tag in packet 0
avoiding the same same setting vlan id as invalid and programming
it as vlan-id 0 only in vrouter
Closes-bug:#1423122
(cherry picked from commit 38f1405b27e05e5d31a2ae6297ca42d915b368bd)

* If arp route is deleted twice, then we arp nexthop was not
getting deleted, since upon each arp route delete we enqueue
a request to modify nexthop to invalid and this might
result in arp entry creation, hence use operation RESYNC
instead of add/change
* Check for vrf while parsing on subnet address change, since
we might modify next vrf subnet routes if prefixx matches
Test case for same
Closes-bug:#1423502
(cherry picked from commit a65d557c27d15de5d7d0bf30fdc5a20fa93acf42)

Conflicts:
src/vnsw/agent/test/test_route.cc

reverting the unwated checkin of modifying the notify_count_ to bool

(cherry picked from commit 975f507d81ce89106814f4fced1d14b454dcdd5a)

* Whenever ICMP error packet is trapped for flow setup,
parse the inner payload and frame the flow key
Closes-bug:#1423848
(cherry picked from commit 81ee64728201b1d8234d790772ab3035874c1f5d)

* ARP route behind gateway should have proxy flag set
such that arp request on VM would be proxied by vrouter
Closes-bug:#1423122
(cherry picked from commit e72443e1a73d3372944981f15941e97a5a9f439f)

Remove unused UVEs

Remove UVE generated on add/delete of a link
Remove UVE generated on change of physical-device-vn entry.
Added a UT for physical-device-vn to validate add/delete of VMI to VN link

(cherry picked from commit 452b9341668f0a89455cc5e1847c0c7d70f0d3b2)

Holding the metadata of link while storing it in defer list. While
adding the link to Graph from defer list, the metadata also added back
to graph which makes the dependency tracker to work correctly

(cherry picked from commit 43d7a71e1c486a3c326d16e16134c25312b4953f)

Optimize config handling for SG and...

Read more...

information type: Proprietary → Public
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.