params.pp: Rename client_package_name to client_package, and correctly define it

Leaving this unset leads to problematic consequences if another
module does the same, as both would alias the package to nil.

node bob {
  include heat::client
  include neutron::client
}

Error: Could not retrieve catalog from remote server: Error 400 on
SERVER: Puppet::Parser::AST::Resource failed with error ArgumentError:
Cannot alias Package[python-neutronclient] to [nil] at
/etc/puppet/modules/neutron/manifests/client.pp:20; resource
["Package", nil] already declared at
/etc/puppet/modules/heat/manifests/client.pp:17 at
/etc/puppet/modules/neutron/manifests/client.pp:20 on node bob
Warning: Not using cache on failed catalog Error: Could not retrieve
catalog; skipping run

Companion change in puppet-heat: Ib0ae86d7ff406039f4b361a65c2e092d2a321a77

Change-Id: I63266ca8faa807b8aef051b319a06fa323757ceb
Merge "params.pp: Rename client_package_name to client_package, and correctly define it"
Ensure keystone endpoint set before service starts

As neutron-server is mostly useless without having the keystone
service+endpoint set, in the case where both keystone and
neutron-server are on the same machine, this patch adds a soft
dependency to ensure that the keystone catalog includes neutron

This has a knock on effect of fixing openstack::provisioner, which
would sometimes try to create neutron networks, the type for which
soft depends on neutron-server, without there being an endpoint
set in the keystone catalog

Change-Id: I658e1b3e2c448b9a7da9e013c4e105b9ec824893
Adds Database Configuration Support for Havana

Previously, database configuration information was stored in the
plugin .ini file.  As of Havana, a [database] section has been
created in neutron.conf to manage the database configuation for
all Neutron plugins:

https://github.com/openstack/neutron/blob/stable/havana/etc/neutron.conf#L315

Additionaly, several database flags have changed from Grizzly to
Havana.  For backwards compatibility, the previously supported
database flags are contained in neutron::server with a default
of false.

Change-Id: I300fc12092bca1abdd105e0c0c272f7fd49258ac
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