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
Fix puppet-neutron rspec test for RSpec >= 3.0.0

Since rspec 3.0.0.beta1 (2013-11-07) be_true and be_false
are now renamed to be_truthy and be_falsey.

Closes-bug #1326034
Change-Id: I6ca0d3f7529c6d4596ab10dd9e55157bad9ace86
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>

Conflicts:
	spec/classes/neutron_agents_metadata_spec.rb
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

Conflicts:
	manifests/plugins/ml2.pp
	spec/classes/neutron_plugins_ml2_spec.rb
stop puppet from breaking neutron

The neutron-ovs-cleanup service is meant to run at boot to tear down ovs
interfaces created by Neutron.  The service runs and then exits, which
means that from Puppet's perspective it is always "stopped".

By setting `ensure => started` on the neutron-ovs-cleanup service,
puppet was starting this service every time it runs, which would
completely disable Neutron networking.

This patch removes the `ensure` setting, such that the service will be
enabled and will run at boot but will not be erroneously started by
Puppet.

Change-Id: I5445fcd05f7cf5c48ded209a2895ea7d8732f40f
Pin tests to rspec < 2.99

Pin to rspec < 2.99 until rspec-puppet officially supports rspec 3.x.
This is to avoid warnings due to deprecated matchers in the
rspec-puppet gem.

This patch also reverts the change of be_false to be_falsey that was
temporarily required for rspec 3 compability.

Partial-Bug: #1326034
Change-Id: I1f7a754cf285c598169059e757c1a905762e2ce0
Normalize Gemfile & pin tests to rspec < 2.99

Pin to rspec < 2.99 until rspec-puppet officially supports rspec 3.x.
This is to avoid warnings due to deprecated matchers in the
rspec-puppet gem.

This change is also intended to normalize the Gemfile for all stackforge
puppet modules.  This should facilitate pinning gem versions when
releasing new stable branches, since the same diff can be used for all
repos.

Change-Id: Id8595fc2fd8b4e4bec4ba60d85696983fb632a18
Partial-Bug: #1326034
Refresh Neutron server

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

Change-Id: Ie838dacce8c553cf656333005d66b398c23f4bcc
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
nova-notifs: allow to use secure keystone endpoint

When getting the nova_admin_tenant_id, the provider is now able to
connect to Keystone by using a SSL endpoint.

Closes-bug #1334250

Change-Id: Ifa3399ec6721c99e4610d75dfb46e570d015d112
Signed-off-by: Emilien Macchi <emilien.macchi@enovance.com>
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
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
Make Modulefile summary and description consistent

Improve consistency of Modulefile across puppet modules for OpenStack.

Change-Id: I84bf469455098849128ecfb95f1ad4bdd7ea9e72

Conflicts:
	Modulefile
Add vpnaas_agent_package parameter to FWaaS

On debian platforms, when using both VPNaaS and FWaaS, puppet will
remove neutron-vpn-agent and install neutron-l3-agent instead.
This behavior brokes VPNaaS.

As neutron-vpn-agent package is a superset of neutron-l3-agent, we
should install neutron-vpn-agent instead of neutron-l3-agent when
needed.

This patch will add a boolean parameter called vpnaas_agent_package
to neutron::services::fwaas in order to give the choice to install
neutron-vpn-agent package instead of neutron-l3-agent package on
debian platforms.

Change-Id: I812dc1b53c77fe2e01ccd8a4e3f718c9a990f77c
Closes-Bug: 1328534
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
Support for Cisco ML2 Mech Driver

Partially Implements: blueprint support-ml2-nexus-driver

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

Change-Id: If74658dbdb0fc1961a664df7484ebc2d1b0a118b
Add network_device_mtu to neutron.conf

Already a parameter for L3_agent, but that isn't
exactly the right configuration, due to the fact
that this parameter is specifically a L2 feature.

Added in neutron.conf to set the default MTU for all
created networks. Discussion available here:

http://lists.openstack.org/pipermail/openstack-dev/2013-October/017033.html
https://bugs.launchpad.net/openstack-manuals/+bug/1242534

Added test to validate parameter
Fixed mis-spelled parameter in test
Added deprecation warninigs to agents/l3.pp

Closes-Bug: #1329643
Change-Id: Id8544799855c500f0c871681695db502ab4dc87c