tripleo-image-elements/elements/neutron-openvswitch-agent
Julia Kreger 3625ab254c Network init order fixes for VIP
These changes revise the boot order for network intialization such
that the configuration, VIP, HAProxy, and MySQL are available
and running prior to openstack-init starting.

These changes are necessary in order to prevent services in the boot
sequence from failing once the MySQL database URLs and bind-address
are changed to utilize the VIP address.

Service startup changes:

haproxy-nonlocal-bind in configure.d was moved from step 75 to step
20 to execute before haproxy was started so it could could perform
the non-local bind.

haproxy was moved from post-configure.d/ to configure.d/21-haproxy
to allow for HAProxy to bind to the VIP address that keepalived will
need to initalize and support passing connections to MySQL.

neutron-openvswitch-agent in configure.d was moved from starting at
step 80 to starting at step 21 as it creates the bridge interface
that keepalived utilizes, and thus is required for the vip to come
online.

os-apply-config in configure.d was moved from 50 to 20 as the
configuration files must be written out for haproxy and keepalived
to function properly.

This change is depends on I29613bf314fd054d0c82492692d95de2303c64ae

Change-Id: Ia6f26305f8e744e4ff938dff85de1193183ecd8f
2014-08-11 11:37:01 +10:00
..
bin indent using 4 spaces (2/3) 2014-05-23 00:30:26 +02:00
install.d Use ml2_conf.ini in neutron-openvswitch-agent 2014-08-04 19:51:20 -04:00
os-refresh-config Network init order fixes for VIP 2014-08-11 11:37:01 +10:00
README.md Support working with neutron host-routes. 2013-10-14 23:17:13 +13:00
element-deps Make neutron-openvswitch-agent run cleanup. 2014-01-21 15:40:41 -05:00

README.md

Install and configure OpenStack Networking Openvswitch agent.

Configuration

The physical interface and bridges to use to bridge traffic onto can be configured via Heat Metadata. For example:

neutron:
  ovs:
    public_interface: vlan25
    public_interface_raw_device: eth2
    public_interface_route: 12.34.56.78
    physical_bridge: br-ctlplane
    physical_network: ctlplane
    network_vlan_ranges: ctlplane
    bridge_mappings: ctlplane:br-ctlplane

If public_interface and physical_bridge are not set, no bridges will be connected directly. This is normal for neutron hosting virtual machines when using an overlay network (e.g. GRE tunnelling). Some of the other fields will be ignored in this case. Most of them map 1:1 with their counterparts in the OVS section of ovs_neutron_plugin.ini If public_interface_raw_device is set, public_interface must be a vlan device, and the vlan device will be created using the raw device during os-collect-config configuration.

Once the public interface is configured, public_interface_route (if set) will replace the default route's next hop. The hop this replaces will be added as the next hop for 169.254.169.254/32 (unless one already exists). This permits routing default traffic out through a hardware router without breaking the ability to contact a bare metal metadata server.