Preparing for 3.0.0 Havana release

Updated Modulefile with current version.
Updated README.md release notes.
Updated fixtures.yml to point to stable/havana branch.

Change-Id: I3394bae36d3fa8ca858f0e5922cc257e9900f47f
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
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
Cherry-picked from https://review.openstack.org/#/c/48289/

Change-Id: I9a4224f899e95411c509f583bf04dfc4dd0de25b
Signed-off-by: Emilien Macchi <emilien.macchi@enovance.com>
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>
(cherry picked from commit 37d1c5b81087d241a26a6ee84278fb0b9bf1eabe)
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
(cherry picked from commit bf34f8631cfae0550dbe082740668df82f0cdfd4)
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>
(cherry picked from commit 64c452b4fb8b955639bc57b483f619224a23be83)
Backport to havana: https://review.openstack.org/#/c/60082/
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.

Backport of I32f29bcac3cf67a2644b3e5eb50621f8e27b1cb1

Change-Id: Id7c66c20b62890df51c37f608087234a5b470eae
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).

Cherry-pick from review.openstack.org/#/c/61737/

Change-Id: I4fb081f822596f2f025f952525d5333c5a5b1364
Update for 3.0.0-rc2

Updated .gitreview to point to stable/havana. Updated changelog
in README.md. Updated modulefile release number.

Change-Id: I3084bd66000ae8d69ac2d1f861c3dd983e2581f0
Release 3.0.0

Updated Modulefile for release 3.0.0

Change-Id: Ie064b8d1de327b68592e1ac443d7259772df47f6
VXLAN support

This patch is implementing support for VXLAN tunnel
type for OVS plugin.

Refactored neutron::plugins::ml2::validate_* to functions
so they can be used in other manifests in module.

Change-Id: Ic51ed794b27069809a151dc365ca108c8300c277
(cherry picked from commit 766561df83ea414ccf82423414863f30c6ce0761)
Configure security group when using ML2 plugin

Since the ML2 plugin can concurrently support different L2 agents (or
other mechanisms) with different configurations, Neutron developpers recommend
setting firewall_driver flag in ml2 configuration.

Change-Id: I62d0d1b2aac88a11e5f3e80e98953c71cfc98629
Closes-bug: #1262678
Signed-off-by: Emilien Macchi <emilien.macchi@enovance.com>
(cherry picked from commit 59cf3eb0a22c220509ec80c345bbf064f85374ad)
Ensure ML2 plugin package is installed

Some platforms have a package for ML2 plugin.

This change makes sure is it installed for those platforms when
ML2 plugin is used and configured.

Change-Id: I24c8eb7d17a462b63d2023027c90da7f876f7503
Closes-bug: #1264205
(cherry picked from commit b68158470abaeeb4431fc683994f2b7f8c71ea38)
Fixing neutron::server deprecated warnings

Clearing default values for deprecated reconnect_interval,
sql_idle_timeout, and sql_max_retries parameters.

Change-Id: I4b34e47dc9a814c0fbcc0fd6d8fe6033081a51d0
Closes-Bug: #1269623
(cherry picked from commit b14cee10c155c30dbf7b1645dfa095c4d5b0aa73)
lbaas: use stdlib to manage haproxy package

Instead of using Package resource to ensure HAproxy is installed, using
stdlib with ensure_packages would allow to declare haproxy class (from
another puppet module) without dupplication.

Closes-bug #1273285

Change-Id: I57c5dc8096c846b102dc8ef6451400bc025af056
(cherry picked from commit 5fa487643e90f78dede103a2c8dfef4f2954a647)
Revert "Fixing neutron::server deprecated warnings"

This reverts commit b799640d219b42955165bd81acde5b32ee0f99f9.

Change-Id: I978cd75b8264e1b5234fc930d4488fff513fe53e
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
(cherry picked from commit af1fd0b6042c76fc48bae81d36a74b7a51d00fb7)
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>
(cherry picked from commit 30885efc1f7ee1b8490474399014f1f5c931097f)
Remove check for correct core_plugin when using ml2.

This checks fails, because $::neutron::core_plugin
is not available in the context of ml2.pp.

Change-Id: I96c11c5a57c530f72e0e71447831b8219c12a685
(cherry picked from commit 2cc78fb7850c913afb5e79aa0eef24f7f6a92ba0)
Add support for neutron nvp plugin

This patch adds support for NVP plugin configuration.

implement blueprint nvp-plugin-support
Change-Id: I8aff4fc6895ed5a3342e2e93d306014ec0982af8
(cherry picked from commit 25abac3c93442898203a42526cb4fb3d41fa140d)