Incorrect route-aggregate when multiple RA objects attached/detached

Bug #1547979 reported by amit surana
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Juniper Openstack
Status tracked in Trunk
R3.0
Fix Committed
High
Prakash Bailkeri
Trunk
Fix Committed
High
Prakash Bailkeri

Bug Description

RA-1:
  9.0.0.0/16
RA-2:
  9.0.0.0/8
  21.1.1.0/24
  21.1.0.0/16
  21.0.0.0/8

Right VN has the routes: 9.0.1.1/24 to 9.0.10.1, 21.1.1.3-21.1.1.5, 21.1.1.0/24.

RA-1 is attached to the right interface of SI. Right VN has 9.0.0.0/16 (no specific routes in this network) and the rest of the routes.
RA-2 is then attached. Right VN now has 9.0.0.0/8 and 21.0.0.0/8. 9.0.0.0/16 is a contributor to 9.0.0.0/8 and same is the case for the 21 network.

Now, RA-1 is detached and things go bad. The end result is unpredictable: sometimes, the 9.0.0.0/8 aggregate is advertised in addition to the more specific routes like 9.0.1.1-9.0.10.1/24; other times the aggregate is missing and only the more specific routes are advertised.

amit surana (asurana-t)
tags: added: blocker
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] master

Review in progress for https://review.opencontrail.org/17555
Submitter: Prakash Bailkeri (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] R3.0

Review in progress for https://review.opencontrail.org/17566
Submitter: Prakash Bailkeri (<email address hidden>)

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

Reviewed: https://review.opencontrail.org/17555
Committed: http://github.org/Juniper/contrail-controller/commit/30b41e3698e2561e5a156c01eb327f8bee813871
Submitter: Zuul
Branch: master

commit 30b41e3698e2561e5a156c01eb327f8bee813871
Author: Prakash Bailkeri <email address hidden>
Date: Mon Feb 22 23:00:25 2016 +0530

Ignore deleted AggregateRoute object while processing IsBestMatch()

Scenario:
routing instance is aggregating 1/8 and 1.0.1/24 route.
At this point, if contributing route 1.0.1.1/32 is added to routing instance,
it will become contributing to 1.0.1/24 and 1.0.1/24 will be contributing route
to 1/8.

Config update is made to remove 1.0.1/24 aggregate route. In a specific order of
delete, 1.0.1.1/32 is notified after it is no longer contributing to 1.0.1/24.
During the notification of this route, if the aggregate route object for 1.0.1/24
is not yet removed from aggregate_route_map_ it is not made as contributing to 1/8.
Due to this bug, at steady state after the config update, no aggregate route will be
published.

Fix the issue by ignoring delete marked AggregateRoute object in IsBestMatch()
Also added UT to verify the issue and fix

Change-Id: Ia107952b876e0ee2a64c817074c677985a74b017
Closes-bug: #1547979

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote :

Reviewed: https://review.opencontrail.org/17566
Committed: http://github.org/Juniper/contrail-controller/commit/9eae95f4406479d49fcb2631096ae56063a96979
Submitter: Zuul
Branch: R3.0

commit 9eae95f4406479d49fcb2631096ae56063a96979
Author: Prakash Bailkeri <email address hidden>
Date: Mon Feb 22 23:00:25 2016 +0530

Ignore deleted AggregateRoute object while processing IsBestMatch()

Scenario:
routing instance is aggregating 1/8 and 1.0.1/24 route.
At this point, if contributing route 1.0.1.1/32 is added to routing instance,
it will become contributing to 1.0.1/24 and 1.0.1/24 will be contributing route
to 1/8.

Config update is made to remove 1.0.1/24 aggregate route. In a specific order of
delete, 1.0.1.1/32 is notified after it is no longer contributing to 1.0.1/24.
During the notification of this route, if the aggregate route object for 1.0.1/24
is not yet removed from aggregate_route_map_ it is not made as contributing to 1/8.
Due to this bug, at steady state after the config update, no aggregate route will be
published.

Fix the issue by ignoring delete marked AggregateRoute object in IsBestMatch()
Also added UT to verify the issue and fix

Change-Id: Ia107952b876e0ee2a64c817074c677985a74b017
Closes-bug: #1547979
(cherry picked from commit 30b41e3698e2561e5a156c01eb327f8bee813871)

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

Other bug subscribers

Remote bug watches

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