OpenStack Networking (Neutron)
Go to file
Swaminathan Vasudevan f0bdb798fa 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
2016-03-14 16:47:36 -07:00
bin Fixes typos Openstack -> OpenStack 2016-01-18 16:04:56 +00:00
devstack BGP: remove unnecessary configuration setting 2016-03-01 03:15:15 -08:00
doc Merge "Add remote vs local FAQ for callbacks" 2016-03-13 15:10:54 +00:00
etc Merge "Moved CORS middleware configuration into oslo-config-generator" 2016-03-10 09:22:23 +00:00
neutron DVR:Pro-active router creation with live migration 2016-03-14 16:47:36 -07:00
rally-jobs Changes in rally-jobs/README.rst 2015-06-04 10:34:15 -04:00
releasenotes DVR:Pro-active router creation with live migration 2016-03-14 16:47:36 -07:00
tools Merge "Remove unused -constraints tox targets" 2016-03-07 23:12:31 +00:00
.coveragerc Change ignore-errors to ignore_errors 2015-09-21 14:31:29 +00:00
.gitignore Automatically generate neutron core configuration files 2015-11-27 15:22:59 +00:00
.gitreview Fix .gitreview to not point at a branch 2015-08-17 13:51:51 -06:00
.mailmap Add mailmap entry 2014-05-16 13:40:04 -04:00
.pylintrc Start using neutron-lib for shared constants and exceptions 2016-02-10 16:41:18 -07:00
.testr.conf .testr.conf: revert workaround of testtools bug 2016-02-19 14:29:07 +01:00
CONTRIBUTING.rst Workflow documentation is now in infra-manual 2014-12-05 03:30:37 +00:00
HACKING.rst Using LOG.warning replace LOG.warn 2016-03-10 11:02:45 -08:00
LICENSE Adding Apache Version 2.0 license file. This is the official license agreement under which Quantum code is available to 2011-08-08 12:31:04 -07:00
MANIFEST.in Include alembic versions directory to the package 2015-10-21 07:26:24 +00:00
README.rst Update the URLs to the Cloud Admin Guide 2015-08-24 17:24:34 +02:00
TESTING.rst Delete 118~ API tests from Neutron 2016-03-10 15:34:08 -05:00
babel.cfg Use babel to generate translation file 2013-01-24 00:20:32 +08:00
openstack-common.conf remove openstack-common.conf 2016-01-08 12:58:59 +08:00
requirements.txt Updated from global requirements 2016-02-28 22:22:16 +00:00
run_tests.sh Remove check for bash usage 2015-04-07 15:15:33 +00:00
setup.cfg register the config generator default hook with the right name 2016-03-11 15:15:29 -05:00
setup.py Updated from global requirements 2015-09-21 18:56:49 +00:00
test-requirements.txt Switch to using in-tree tempest lib 2016-02-26 14:00:11 +00:00
tox.ini fullstack: increase test timeout 2016-03-11 11:35:01 +09:00

README.rst

Welcome!

You have come across a cloud computing network fabric controller. It has identified itself as "Neutron." It aims to tame your (cloud) networking!

External Resources:

The homepage for Neutron is: http://launchpad.net/neutron. Use this site for asking for help, and filing bugs. Code is available on git.openstack.org at <http://git.openstack.org/cgit/openstack/neutron>.

The latest and most in-depth documentation on how to use Neutron is available at: <http://docs.openstack.org>. This includes:

Neutron Administrator Guide

http://docs.openstack.org/admin-guide-cloud/networking.html

Networking Guide

http://docs.openstack.org/networking-guide/

Neutron API Reference:

http://docs.openstack.org/api/openstack-network/2.0/content/

Current Neutron developer documentation is available at:

http://wiki.openstack.org/NeutronDevelopment

For help on usage and hacking of Neutron, please send mail to <mailto:openstack-dev@lists.openstack.org>.

For information on how to contribute to Neutron, please see the contents of the CONTRIBUTING.rst file.