OpenStack Networking (Neutron)
Go to file
Assaf Muller 9bae3b1832 Replace keepalived notifier bash script with Python ip monitor
Previously L3 HA generated a bash script and copied it to a per-router
configuration directory that was visible to that router's keepalived
instance. This patch changes the in-line generated Bash script to a
Python script that can be maintained in the repository.
The bash script was used as a keepalived notifier script, that was invoked
by keepalived whenever a state transition occured. These notifier scripts
may be invoked by keepalived out of order in case it transitions quickly
twice. For example, if the master failed and two slaves fight for the new
master role. One will transition to master, and the other will often
transition to master and then immidiately back to standby. In this case,
the transition scripts were often fired out of order, resulting in the
wrong state being reported.

The proposed approach is to get rid of the keepalived notifier scripts
entirely. Instead, monitor IP changes on the HA device. If the omnipresent
IP address was configured on the HA device, it means that we're looking
at a master instance. If it was deleted, the router transition to standby
or fault.

In order to keep the L3 agent CPU usage down, it will spawn a process
per HA router. That process will start the ip address monitor.
Whenever it gets an IP address change event, it will notify the L3 agent
via a unix domain socket.

Partially-Implements: blueprint report-ha-router-master
Change-Id: I2022bced330d5f108fbedd40548a901225d7ea1c
Closes-Bug: #1402010
Closes-Bug: #1367705
2015-03-18 18:59:33 -04:00
bin adopt namespace-less oslo imports 2015-02-20 17:36:47 -08:00
doc Brocade vendor code decomposition from neutron repo. 2015-03-13 07:32:42 -07:00
etc Replace keepalived notifier bash script with Python ip monitor 2015-03-18 18:59:33 -04:00
neutron Replace keepalived notifier bash script with Python ip monitor 2015-03-18 18:59:33 -04:00
rally-jobs Update rally-jobs files 2014-11-24 23:21:11 +04:00
tools Add rootwrap daemon mode support 2015-03-12 21:12:07 -05:00
.coveragerc fix some missing change from quantum to neutron 2013-07-08 12:11:04 +08:00
.gitignore Add support for retargetable functional api testing 2015-01-06 02:37:59 +00:00
.gitreview Rename quantum to neutron in .gitreview. 2013-07-06 12:25:09 -04:00
.mailmap Add mailmap entry 2014-05-16 13:40:04 -04:00
.pylintrc Remove 'free' exclusions from pylint 2015-03-06 09:37:00 -05:00
.testr.conf Add an explicit tox job for functional tests 2014-02-05 17:11:52 +00:00
CONTRIBUTING.rst Workflow documentation is now in infra-manual 2014-12-05 03:30:37 +00:00
HACKING.rst oslo: migrate to namespace-less import paths 2015-02-05 15:09:32 +01: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 Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00
README.rst Updated the README.rst 2014-12-02 14:33:30 -06:00
TESTING.rst Add script to copy neutron api tests from tempest 2015-03-06 19:57:27 +00:00
babel.cfg Use babel to generate translation file 2013-01-24 00:20:32 +08:00
openstack-common.conf Migrate to oslo.log 2015-03-12 11:22:56 +01:00
requirements.txt Added oslo.log dependency 2015-03-10 22:57:58 +01:00
run_tests.sh Revert "monkey patch stdlib before importing other modules" 2015-02-11 17:26:33 -08:00
setup.cfg Replace keepalived notifier bash script with Python ip monitor 2015-03-18 18:59:33 -04:00
setup.py Updated from global requirements 2014-04-30 02:41:29 +00:00
test-requirements.txt Updated from global requirements 2015-03-07 00:16:29 +00:00
tox.ini Merge "Add rootwrap daemon mode support" 2015-03-13 23:30:35 +00: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/content/ch_networking.html

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.