Improve multi DHCP agent support

Since Grizzly release, a specific number of DHCP agents can be scheduled to host a
network.
This enables redundant DHCP agents for configured networks.

Change-Id: I3388282c0a46eafa2b4e0e6d2d0293fa91e46cc3
Signed-off-by: Emilien Macchi <emilien.macchi@enovance.com>
Rename device_driver in neutron::agents::lbaas

Since the havana release, the device_driver parameter for the HAProxy reference
implementation has been changed to
'neutron.services.loadbalancer.drivers.haproxy.namespace_driver.HaproxyNSDriver'.

Upstream reference:

https://github.com/openstack/neutron/commit/358975281f7d9ef43f16febaf27f8f5d1d568426

Do not backport this change into grizzly.

Change-Id: I22369e4875377fe7ac2aa6dd8ea80e04758acbed
Merge "Improve multi DHCP agent support"
Update remote url for puppet-vswitch

Change-Id: Ieffc717df0c796dbd90ab5c8bc38426ed0d9bc17
Add ML2 plugin support

This patch aims to support:
- ml2 configuration for Open-vSwitch & Linux Bridge plugins
- mechanism drivers: flat, gre, vlan vxlan
- l2 population support for OVS & linux bridge plugins

implement blueprint ml2-support
Change-Id: I9a4224f899e95411c509f583bf04dfc4dd0de25b
Signed-off-by: Emilien Macchi <emilien.macchi@enovance.com>
Merge "Update remote url for puppet-vswitch"
Add missing vpnaas class in example manifest

examples/neutron was missing neutron::agents::vpnaas which is useful
for people wanting to write manifests based on puppet-neutron module.

Change-Id: I374c4315472d46397c1cc2152bd35e1cdfd7336a
Signed-off-by: Emilien Macchi <emilien.macchi@enovance.com>
Add metering agent support

The Ceilometer project is able to get meters from Neutron via the
notifications system on how much bandwidth the projects are using.
The idea is to meter this as the L3 routers levels.

The feature exists since Havana.

Signed-off-by: Emilien Macchi <emilien.macchi@enovance.com>
implement blueprint metering-agent

Change-Id: I62ad9b7455e5f2bc3455b55a346f2515ca1040a3
Ensure ml2 is set in core_plugin

When using ML2 plugin, we need to ensure that core_plugin flag
is set to the right class in neutron.conf.
This patch add documentaiton in init.pp and testing in the manifest to
ensure that the right plugin is configured.

Change-Id: I706db60dc07f468b920a9c3b233a5665df5a3a73
Signed-off-by: Emilien Macchi <emilien.macchi@enovance.com>
Add multi-worker support

Since https://review.openstack.org/#/c/37131/ got merged, Neutron
supports now multiple worker processes for API server.

Change-Id: Ib01240c39de21306892f4f92e0ba3ecb56837a7c
Signed-off-by: Emilien Macchi <emilien.macchi@enovance.com>
Merge "Ensure ml2 is set in core_plugin"
Merge "Add metering agent support"
Fixing neutron::server connection parameter

Previously, neutron::server's (deprecated) sql_connection parameter
had a default value, preventing the new/preferred connection
parameter from ever being used.

This change removes that default, permitting the connection
parameter to work properly, and extends unit tests to confirm.

bug introduced at commit 82552e79316a4ffc1c879dd3aaa1f4735a4a35a0,
change I300fc12092bca1abdd105e0c0c272f7fd49258ac

Change-Id: I116b482c620b5c44b88c1b801438a100343f6f9f
Ensure_resource on dnsmasq package

As dnsmasq is sometimes required by other modules,
in particular ones that are not in puppet-openstack,
this can cause duplicate declaration issues. By
using ensure_resource, we can avoid these problems
and both modules can declare the package.

Change-Id: I32f29bcac3cf67a2644b3e5eb50621f8e27b1cb1
Merge "Fixing neutron::server connection parameter"
Use ensure_packages with dnsmasq package resource

Use ensure_packages with the dnsmasq package resource to allow
coexistance with other modules which define the same resource
name (puppet-cobbler, for example).

Change-Id: Id4cb8b4fdf291f3a62682ab5655ac4eaf2a5370b
Using contain_class instead of include_class

Per rspec-puppet-1.0.1 warning:

DEPRECATION: include_class is deprecated. Use contain_class instead.
Called from .../vendor/gems/rspec-puppet-1.0.1/lib/rspec-puppet/
matchers/include_class.rb:7

Change-Id: I6bc63343597f1b574f9da5beaae187dcc2b3485d
Support MTU configuration of L3 managed interfaces

network_device_mtu configure the MTU for L3 managed network interfaces.
By default no specific network_device_mtu configuration is set. The
interface defaults will be used as they got created.

This options allows configuration of Jumbo Frame usage.

Change-Id: Ic5de813532b744fcd5ee289f10fb28e587b3699f
Tune up report and downtime intervals for l2 agent

If the neutron server erroneously thinks than the l2 agent is down
it will fail to bind a port, which can lead to VM's spawn errors.

This patch aims to add support for agent checks flags.

Change-Id: If047c5d52d10a8ca9b1b765400bdd99a29550b1e
Signed-off-by: Emilien Macchi <emilien.macchi@enovance.com>
Add new haproxy section

Since https://github.com/openstack/neutron/commit/bf8949defc24af3636da417442469e7d7194c7b3
got merged, we have now a new section in
LBaaS configuration file: [haproxy].

This patch aims to add this section and also to fix user_group flag to
be part of this new section.

Change-Id: I6c13e550a7033daa8ae6164b0437dfbc16a07666
Closes-bug: #1263952
Signed-off-by: Emilien Macchi <emilien.macchi@enovance.com>