Merge "Add ensure_*aas_package booleans for ::neutron::server"

This commit is contained in:
Jenkins 2016-02-17 13:38:33 +00:00 committed by Gerrit Code Review
commit b6f722c23f
3 changed files with 89 additions and 6 deletions

View File

@ -102,12 +102,12 @@ class neutron::agents::vpnaas (
}
if $::neutron::params::vpnaas_agent_package {
Package['neutron'] -> Package['neutron-vpnaas-agent']
package { 'neutron-vpnaas-agent':
ensure => $package_ensure,
name => $::neutron::params::vpnaas_agent_package,
tag => ['openstack', 'neutron-package'],
}
Package['neutron'] -> Package['neutron-vpnaas-agent']
ensure_resource( 'package', 'neutron-vpnaas-agent', {
'ensure' => $package_ensure,
'name' => $::neutron::params::vpnaas_agent_package,
'tag' => ['openstack', 'neutron-package'],
})
}
if $manage_service {

View File

@ -199,6 +199,26 @@
# (optional) Drivers list to use to send the update notification
# Defaults to $::os_service_default.
#
# [*ensure_vpnaas_package*]
# (optional) Ensures installation of VPNaaS package before starting API service.
# Set to true to ensure installation of the package that is required to start neutron service if service_plugin is enabled.
# Defaults to false.
#
# [*ensure_fwaas_package*]
# (optional) Ensures installation of FWaaS package before starting API service.
# Set to true to ensure installation of the package that is required to start neutron service if service_plugin is enabled.
# Defaults to false.
#
# [*ensure_lbaas_package*]
# (optional) Ensures installation of LBaaS package before starting API service.
# Set to true to ensure installation of the package that is required to start neutron service if service_plugin is enabled.
# Defaults to false.
#
# [*vpnaas_agent_package*]
# (optional) Use VPNaaS agent package instead of L3 agent package on debian platforms
# RedHat platforms won't take care of this parameter
# true/false
# Defaults to false
# === Deprecated Parameters
#
# [*identity_uri*]
@ -262,6 +282,10 @@ class neutron::server (
$min_l3_agents_per_router = 2,
$l3_ha_net_cidr = $::os_service_default,
$qos_notification_drivers = $::os_service_default,
$ensure_vpnaas_package = false,
$ensure_fwaas_package = false,
$ensure_lbaas_package = false,
$vpnaas_agent_package = false,
# DEPRECATED PARAMETERS
$log_dir = undef,
$log_file = undef,
@ -278,6 +302,50 @@ class neutron::server (
include ::neutron::db
include ::neutron::policy
if $ensure_fwaas_package {
if ($::osfamily == 'Debian') {
# Debian platforms
if $vpnaas_agent_package {
ensure_resource( 'package', $::neutron::params::vpnaas_agent_package, {
'ensure' => $neutron::package_ensure,
'tag' => ['openstack', 'neutron-package'],
})
Package[$::neutron::params::vpnaas_agent_package] -> Neutron_fwaas_service_config<||>
} else {
ensure_resource( 'package', 'neutron-fwaas' , {
'name' => $::neutron::params::fwaas_package,
'ensure' => $neutron::package_ensure,
'tag' => ['openstack', 'neutron-package'],
})
}
} elsif($::osfamily == 'Redhat') {
# RH platforms
ensure_resource( 'package', 'neutron-fwaas', {
'name' => $::neutron::params::fwaas_package,
'ensure' => $neutron::package_ensure,
'tag' => ['openstack', 'neutron-package'],
})
}
}
if $ensure_vpnaas_package {
ensure_resource( 'package', 'neutron-vpnaas-agent', {
'ensure' => $package_ensure,
'name' => $::neutron::params::vpnaas_agent_package,
'tag' => ['openstack', 'neutron-package'],
})
}
if $ensure_lbaas_package {
ensure_resource( 'package', 'neutron-lbaas-agent', {
'ensure' => $package_ensure,
'name' => $::neutron::params::lbaas_agent_package,
'tag' => ['openstack', 'neutron-package'],
})
}
Neutron_config<||> ~> Service['neutron-server']
Neutron_api_config<||> ~> Service['neutron-server']
Class['neutron::policy'] ~> Service['neutron-server']

View File

@ -235,6 +235,21 @@ describe 'neutron::server' do
end
end
shared_examples_for 'VPNaaS, FWaaS and LBaaS package installation' do
before do
params.merge!(
:ensure_vpnaas_package => true,
:ensure_fwaas_package => true,
:ensure_lbaas_package => true
)
end
it 'should install *aaS packages' do
is_expected.to contain_package('neutron-lbaas-agent')
is_expected.to contain_package('neutron-fwaas')
is_expected.to contain_package('neutron-vpnaas-agent')
end
end
shared_examples_for 'a neutron server without database synchronization' do
before do
params.merge!(