Reviewed: https://review.openstack.org/275420 Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=f0bdb798fa14b7bd5649d98789e71803127dd9f7 Submitter: Jenkins Branch: master
commit f0bdb798fa14b7bd5649d98789e71803127dd9f7 Author: Swaminathan Vasudevan <swaminathan.vasude...@hpe.com> Date: Tue Feb 2 12:44:16 2016 -0800 DVR:Pro-active router creation with live migration Today DVR routers are created after a dvr service port is seen on a given node. But in the case of instance live migration, the creation of l3 routed networks on the destination node is delayed since we react to the event. This patch tries to proactively create routers on the destination node based on the portbinding profile info updated by the nova when the instance is on a pre-migration state. Nova calls setup_network_on_host during the pre-migration phase and we update the portbinding profile dict with an attribute 'migrating_to' as shown below port:{'binding:profile':{'migrating_to': 'host'}} where 'host' points to the 'destination' of the port. L3 plugin will verify the migration profile for the port on any port update and then take action to create routers in the respective agents if routers have not been created. If the live migration fails or if reverted, then the port binding profile attribute 'migrating_to' will be cleared from the port profile. In this case, the router and the fip namespace may be created on the destination node, but since the VM did not land on the destination node, it would not cause any issues, since the traffic will still be flowing out from the origination node, except for the existence of the router and fip namespace. For some reason if the creation of the router namespace and fip namespace fails, then the live migration may still proceed as it is now and the agent will create the router namespace and fip namespace reactively. The case were we report status back to Nova and Nova reacting to the setup_networks_on_host status will be handled in the upcoming release. This patch should not affect any upgrades with respect to the agent or server. Change-Id: Ibb62f012333cfdfd468bafdc0b4501aa46b4b54d Related-Bug: #1456073 ** Changed in: neutron Status: In Progress => Fix Released -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/1456073 Title: Connection to an instance with floating IP breaks during block migration when using DVR Status in neutron: Fix Released Status in OpenStack Compute (nova): In Progress Bug description: During migration of an instance, using block migration with a floating IP when the router is DVR the connection to the instance breaks (e.g. Having an SSH connection to the instance). Reconnect to the instance is successful. Version ====== RHEL 7.1 python-nova-2015.1.0-3.el7ost.noarch python-neutron-2015.1.0-1.el7ost.noarch How to reproduce ============== 1. Create a distributed router and attach an internal and an external network to it. # neutron router-create --distributed True router1 # neutron router-interface-add router1 <subnet1 id> # neutron router-gateway-set <external network id> 2. Launch an instance and associate it with a floating IP. # nova boot --flavor m1.small --image fedora --nic net-id=<internal network id> vm1 3. SSH into the instance which will be migrated and run a command "while true; do echo "Hello"; sleep 1; done" 4. Migrate the instance using block migration # nova live-migration --block-migrate <instance id> 5. Verify that the connection to the instance is lost. To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1456073/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp