Duplicate route during live migration

Bug #1379481 reported by Édouard Thuleau
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Juniper Openstack
Fix Committed
Undecided
Naveen N
OpenContrail
Fix Committed
Undecided
Naveen N

Bug Description

During a live migration, Nova/libvirt/qemu creates the VM destination in 'pause' at the beginning migration process. The destination VM stays in 'pause' until disk and RAM data was migrated (that could take a while, especially with block migration).

But when Nova created that destination VM, it also created the TAP onto the destination vrouter. That means Contrail have 2 routes for each IPs of the TAP with same preference. One with the source host as next hop and another one with destination host. So the traffic to that IPs will be multipathed but the freeze VM cannot handle that traffic.

Tags: vrouter
Revision history for this message
Naveen N (naveenn) wrote :

In this scenario, contrail-vrouter-agent is supposed to make sure that path which is actively originating traffic would be considered as active path and that path would be published with higher preference. Since destination VM doesn't originate any traffic during live migration that path would be published with low preference.

Can you give us output of route in agent introspect during that time?

Revision history for this message
Édouard Thuleau (ethuleau) wrote :

I made some test on 1.10.

When I create a VM attached to one VN, I can see the route to the VM IP into the VN inet.0 route table on the introspect control node with local preference set to 200 (2 routes XMPP (hypervisor of the VM) and BGP (control node IP)).

During the migrate, I can see a new route (only one as XMPP) with a next hop to the destination hypervisor and local preference set to 100. Then when the VM is migrated, I see 2 routes (XMPP (new hypervisor of the VM) and BGP (control node IP)) with local preference set to 100. After that first migration the local preference stay to 100 even we start another new migration. So in the next migrations we see duplicated routes.

tags: added: vrouter
Changed in juniperopenstack:
assignee: nobody → Naveen N (naveenn)
Changed in opencontrail:
assignee: nobody → Naveen N (naveenn)
Revision history for this message
Victor Stinner (vstinner) wrote :

Hi Naveen N and Nagabhushana R: are you still waiting for input from our side? What is the status of issue please?

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

Reviewed: https://review.opencontrail.org/5433
Committed: http://github.org/Juniper/contrail-controller/commit/662cc98755a1934477cc2d1f48499e3fce41640b
Submitter: Zuul
Branch: master

commit 662cc98755a1934477cc2d1f48499e3fce41640b
Author: Naveen N <email address hidden>
Date: Tue Dec 9 03:09:53 2014 -0800

* Path preference change was enqueued every time, interface config
change and hence, preference would be overwritten, because of this.
Removed the code to enqueue explicit path preference change.
Instead copy config driven field in local vm add change path.
Added test case for same.
Closes-bug:#1379481

Change-Id: If82fe39ee0be7ecdd8671150f886dcb0402d3b43

Changed in juniperopenstack:
status: New → Fix Committed
Changed in opencontrail:
status: New → Fix Committed
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote :

Reviewed: https://review.opencontrail.org/5434
Committed: http://github.org/Juniper/contrail-controller/commit/cfde6909bd93b91851e4cbcfcd507c5f3bd83b9b
Submitter: Zuul
Branch: R2.0

commit cfde6909bd93b91851e4cbcfcd507c5f3bd83b9b
Author: Naveen N <email address hidden>
Date: Tue Dec 9 03:17:48 2014 -0800

* Path preference change was enqueued every time, interface config
change and hence, preference would be overwritten, because of this.
Removed the code to enqueue explicit path preference change.
Instead copy config driven field in local vm add change path.
Added test case for same.
Closes-bug:#1379481

Change-Id: Idb9c5eab91ed20c6119d21bae05462bc5c7744c9

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

Reviewed: https://review.opencontrail.org/5648
Committed: http://github.org/Juniper/contrail-controller/commit/5b13a693aa86ae781958ad5eddf6d347ce6b0290
Submitter: Zuul
Branch: R1.10

commit 5b13a693aa86ae781958ad5eddf6d347ce6b0290
Author: Naveen N <email address hidden>
Date: Tue Dec 9 03:17:48 2014 -0800

* Path preference change was enqueued every time, interface config
change and hence, preference would be overwritten, because of this.
Removed the code to enqueue explicit path preference change.
Instead copy config driven field in local vm add change path.
Added test case for same.
Closes-bug:#1379481

(cherry picked from commit cfde6909bd93b91851e4cbcfcd507c5f3bd83b9b)

Conflicts:
 src/vnsw/agent/oper/vm_interface.cc
Change-Id: Idb9c5eab91ed20c6119d21bae05462bc5c7744c9

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.