Files
puppet-neutron/manifests/plugins/opencontrail.pp
Yanis Guenane d84daa3543 Remove unecessary constraint between Package and Config resource
Remove an unecessary contraint between the opencontrail neutron plugin
package and the neutron plugin config type as this constraint has been
moved directly within the type[1]

[1]
2c21af85da

Change-Id: I8d81dc48011c4cce869bbbeabf8e4c2d8ba8871e
2015-09-18 10:28:57 +02:00

121 lines
3.6 KiB
Puppet

# This class installs and configures Opencontrail Neutron Plugin.
#
# === Parameters
#
# [*api_server_ip*]
# IP address of the API Server
# Defaults to undef
#
# [*api_server_port*]
# Port of the API Server.
# Defaults to undef
#
# [*multi_tenancy*]
# Whether to enable multi-tenancy
# Default to undef
#
# [*contrail_extensions*]
# Array of OpenContrail extensions to be supported
# Defaults to undef
# Example:
#
# class {'neutron::plugins::opencontrail' :
# contrail_extensions => ['ipam:neutron_plugin_contrail.plugins.opencontrail.contrail_plugin_ipam.NeutronPluginContrailIpam']
# }
#
# [*keystone_auth_url*]
# Url of the keystone auth server
# Defaults to undef
#
# [*keystone_admin_user*]
# Admin user name
# Defaults to undef
#
# [*keystone_admin_tenant_name*]
# Admin_tenant_name
# Defaults to undef
#
# [*keystone_admin_password*]
# Admin password
# Defaults to undef
#
# [*keystone_admin_token*]
# Admin token
# Defaults to undef
#
# [*package_ensure*]
# (optional) Ensure state for package.
# Defaults to 'present'.
#
class neutron::plugins::opencontrail (
$api_server_ip = undef,
$api_server_port = undef,
$multi_tenancy = undef,
$contrail_extensions = undef,
$keystone_auth_url = undef,
$keystone_admin_user = undef,
$keystone_admin_tenant_name = undef,
$keystone_admin_password = undef,
$keystone_admin_token = undef,
$package_ensure = 'present',
) {
include ::neutron::params
validate_array($contrail_extensions)
package { 'neutron-plugin-contrail':
ensure => $package_ensure,
name => $::neutron::params::opencontrail_plugin_package,
tag => 'openstack',
}
Neutron_plugin_opencontrail<||> ~> Service['neutron-server']
ensure_resource('file', '/etc/neutron/plugins/opencontrail', {
ensure => directory,
owner => 'root',
group => 'neutron',
mode => '0640'}
)
# Ensure the neutron package is installed before config is set
# under both RHEL and Ubuntu
if ($::neutron::params::server_package) {
Package['neutron-server'] -> Neutron_plugin_opencontrail<||>
} else {
Package['neutron'] -> Neutron_plugin_opencontrail<||>
}
if $::osfamily == 'Debian' {
file_line { '/etc/default/neutron-server:NEUTRON_PLUGIN_CONFIG':
path => '/etc/default/neutron-server',
match => '^NEUTRON_PLUGIN_CONFIG=(.*)$',
line => "NEUTRON_PLUGIN_CONFIG=${::neutron::params::opencontrail_config_file}",
require => [ Package['neutron-server'], Package[$::neutron::params::opencontrail_plugin_package] ],
notify => Service['neutron-server'],
}
}
if $::osfamily == 'Redhat' {
file { '/etc/neutron/plugin.ini':
ensure => link,
target => $::neutron::params::opencontrail_config_file,
require => Package[$::neutron::params::opencontrail_plugin_package],
}
}
neutron_plugin_opencontrail {
'APISERVER/api_server_ip': value => $api_server_ip;
'APISERVER/api_server_port': value => $api_server_port;
'APISERVER/multi_tenancy': value => $multi_tenancy;
'APISERVER/contrail_extensions': value => join($contrail_extensions, ',');
'KEYSTONE/auth_url': value => $keystone_auth_url;
'KEYSTONE/admin_user' : value => $keystone_admin_user;
'KEYSTONE/admin_tenant_name': value => $keystone_admin_tenant_name;
'KEYSTONE/admin_password': value => $keystone_admin_password, secret =>true;
'KEYSTONE/admin_token': value => $keystone_admin_token, secret =>true;
}
}