Add parameter to set veth MTU

In many applications (including in particular NFV), it is useful
to use jumbo frames on veth pairs.  The OVS agent has a setting
enabling the user to set the MTU on veth interfaces, but it is
currently not exposed as a parameter.  This patch exposes the
veth_mtu setting and adds rspec tests accordingly.

Change-Id: I7b211be29a5630874b1c56e79ca80667f96ce425
(cherry picked from commit 3b6abf010a2c14f296044291cd381a6a7a4f92d9)
Pin neutron gem versions for stable branch

This intends to pin all the major gems to the version they were during
development cycle.  This should isolate the existing tests from changes in
rspec, etc.

Partial-Bug: 1326034
Change-Id: I17ffd9255de6e04d0b036fa9466bf59171b1a762
SSL for communication between neutron and rabbitmq

Currently, Neutron can not be configured via Puppet to communicate with
rabbitmq using SSL. Most other puppet component already have this feature.
This commit enable this feature for Neutron.

Change-Id: Ie7a6218733562c4e89302ced169db6c53efadcf0
(cherry picked from commit f1ae25ae70c91ca509eea30b00b2a83f9ff0d6d8)
Enable neutron server to be run in SSL mode

This commit allows one to specify ca, cert and key file
to run neutron server in SSL mode.

Change-Id: I90f36e7c465924105e6b8032909988286f3e5374
(cherry picked from commit f48ce942390c0f63cb1f26d3c80aec4e4c126236)
Added '' as a valid value for gateway_ip

If the gateway_ip attribute on neutron_subnet is set to an empty string
('') then it will trigger removing the DHCP gateway setting from the
subnet.  This is equivalent to the --no-gateway flag in the CLI.

Change-Id: Id4b74062d5b5b2fb335167af4e7cfcc32c4db703
(cherry picked from commit d202e4bbf70be6d7e70a87e5be334c0b69f3516c)
Merge "Added '' as a valid value for gateway_ip" into stable/icehouse
Release 4.1.0

Bug fixes and API additions.

Change-Id: Iace6f3248a682b090227a6a7cec44c1f6e811fff
Add multi-region support

If only one region is available then the Neutron CLI will just pick the
only one available.  However, if more than one is available, then it
will error out about ambiguous region.  This patch extends the base
provider code to parse out the nova_region_name when it's parsing out
the keystone credentials and define the OS_REGION_NAME environment
variable when calling neutron, if the nova_region_name variable exists
in the config file.

Closes-Bug: #1329552
Change-Id: Ic0d59dcb02a11e93e8fad1e0e2ea830fb0dcccc7
(cherry picked from commit d1235d762b96e36b67180ee06929e36c81efd617)
Refresh Neutron server

After ML2 configuration is changed Neutron server should be restarted.
This patch adds appropriate notification.

Change-Id: Ie838dacce8c553cf656333005d66b398c23f4bcc
(cherry picked from commit b3203f698f66fd4422916808e4a55b0957c5aaa3)
Set default metadata backlog to 4096

We already optimize the metadata agent by running it in multi-workers,
we need by default to set the metadata backlog value.
Inspired from 19:34: https://www.youtube.com/watch?v=AF9r_VQrcJ0
and https://review.openstack.org/#/c/95372

Change-Id: I68f3414ef56290ca27d11f8cf26febc100741d46
Signed-off-by: Emilien Macchi <emilien.macchi@enovance.com>
(cherry picked from commit 1055a125eb767d08028ab9818e4bbc2fb0009303)
Merge "Add multi-region support" into stable/icehouse
Merge "Set default metadata backlog to 4096" into stable/icehouse
Configure OVS Agent when using ML2 plugin

When running ML2 plugin, Neutron does not read the OVS plugin
configuration file, so the Agents can't work (mount tunnels, configure
L2, etc).
To make it work, you need to move the configuration in ML2 configuration
file.

Signed-off-by: Emilien Macchi <emilien.macchi@enovance.com>
Change-Id: Id70420a871edc352f80c0446e89dbcde94e5c490
(cherry picked from commit 069d086b0d636fe6432a11ea97af28c1f2b38582)
Merge "Configure OVS Agent when using ML2 plugin" into stable/icehouse
Link from ovs config file to plugin.ini on RedHat

All init scripts for neutron-openvswitch-agent from RedHat
packages use the non-ml2 config file path. When using ML2
this causes problems since all config is set under the ML2
plugin directory.

Since this is only a bug when using ML2, but not when using
the monolithic plugin, it may not be fixed in packages.

https://bugzilla.redhat.com/show_bug.cgi?id=1087647

This patch creates a symlink from the old plugin config
path to the new one to mitigate the issue.

Change-Id: I5feb8fc39fa4d67aebb4209d7b44bea38d1a9d5f
(cherry picked from commit a28f7340b72000a6ed4fdb65f85c62a4079a834b)
Release 4.2.0

Neutron release 4.2.0 addls ml2/ovs support.

Change-Id: I96d23f97eba9e22ed240ed14faa034436d890367
Simplify ml2_config.ini symlink resource management

Move file resource outside conditional so it's managed once and
manage dependencies in conditional instead.

Change-Id: I56b30173db4a56cf3ad211a9656c628977eec99b
(cherry picked from commit 763ec3527e0985358828cf8b9fe2d47fbaa29a75)
Undeprecate enable_security_group parameter

Introduced by commit f87e7d964c19cc2be33226df66f0c823af993d49
in Neutron 2014.1.rc1, this config is far from deprecated.

Restore it with proper default value.

Conflicts:
	manifests/plugins/ml2.pp

Change-Id: If74658dbdb0fc1961a664df7484ebc2d1b0a118b
(cherry picked from commit 5b3abcff91f6d9ec152761848727501ac288d62f)
ml2: fix neutron-server restart

Only restart neutron-server on nodes hosting this service.
The plugin class is not linked to neutron-server so it should not depend
on it in the catalog.

Closes-bug #1334906

Change-Id: I6781a8f60c04d7ef18202d378aa096c794e3fa44
(cherry picked from commit cfd0abbab040fe75144f4e7814de530bfbf4c538)
Add linuxbridge mechanism support for ML2 plugin

Add support for the Linux Bridge mechanism. It includes support
for VXLAN tunneling and L2 population.

Conflicts:
  manifests/plugins/ml2.pp

Change-Id: I0faca3d4603c6eacbbaa61adef7b742b3a262641
(cherry picked from commit bddd060a28b0f303eaee3e5383fa1e34a9eb2aea)