Puppet Class: neutron::plugins::opencontrail

Defined in:
manifests/plugins/opencontrail.pp

Overview

DEPRECATED !!! This class installs and configures Opencontrail Neutron Plugin.

Parameters

api_server_ip

(Optional) IP address of the API Server Defaults to $facts

api_server_port

(Optional) Port of the API Server. Defaults to $facts

contrail_extensions

(Optional) Array of OpenContrail extensions to be supported Defaults to $facts Example:

class {'neutron::plugins::opencontrail' :
  contrail_extensions => ['ipam:neutron_plugin_contrail.plugins.opencontrail.contrail_plugin_ipam.NeutronPluginContrailIpam']
}
timeout

(Optional) VNC API Server request timeout in seconds. Defaults to $facts

connection_timeout

(Optional) VNC API Server connection timeout in seconds. Defaults to $facts

package_ensure

(Optional) Ensure state for package. Defaults to ‘present’.

purge_config

(Optional) Whether to set only the specified config options in the opencontrail config. Defaults to false.

Parameters:

  • api_server_ip (Any) (defaults to: $facts['os_service_default'])
  • api_server_port (Any) (defaults to: $facts['os_service_default'])
  • contrail_extensions (Any) (defaults to: $facts['os_service_default'])
  • timeout (Any) (defaults to: $facts['os_service_default'])
  • connection_timeout (Any) (defaults to: $facts['os_service_default'])
  • package_ensure (Any) (defaults to: 'present')
  • purge_config (Any) (defaults to: false)


40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# File 'manifests/plugins/opencontrail.pp', line 40

class neutron::plugins::opencontrail (
  $api_server_ip       = $facts['os_service_default'],
  $api_server_port     = $facts['os_service_default'],
  $contrail_extensions = $facts['os_service_default'],
  $timeout             = $facts['os_service_default'],
  $connection_timeout  = $facts['os_service_default'],
  $package_ensure      = 'present',
  $purge_config        = false,
) {

  include neutron::deps
  include neutron::params

  warning('Support for contrail plugin has been deprecated.')

  $contrail_extensions_real = $contrail_extensions ? {
    Hash    => join(join_keys_to_values($contrail_extensions, ':'), ','),
    default => join(any2array($contrail_extensions), ','),
  }

  package { 'neutron-plugin-contrail':
    ensure => $package_ensure,
    name   => $::neutron::params::opencontrail_plugin_package,
    tag    => ['openstack', 'neutron-package'],
  }

  ensure_resource('file', '/etc/neutron/plugins/opencontrail', {
    ensure => directory,
    owner  => 'root',
    group  => $::neutron::params::group,
    mode   => '0640'}
  )

  if $facts['os']['family'] == '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}",
      tag   => 'neutron-file-line',
    }
  }

  if $facts['os']['family'] == 'Redhat' {
    file { '/etc/neutron/plugin.ini':
      ensure  => link,
      target  => $::neutron::params::opencontrail_config_file,
      require => Package[$::neutron::params::opencontrail_plugin_package],
      tag     => 'neutron-config-file',
    }
  }

  resources { 'neutron_plugin_opencontrail':
    purge => $purge_config,
  }

  neutron_plugin_opencontrail {
    'APISERVER/api_server_ip':       value => $api_server_ip;
    'APISERVER/api_server_port':     value => $api_server_port;
    'APISERVER/contrail_extensions': value => $contrail_extensions_real;
    'APISERVER/timeout':             value => $timeout;
    'APISERVER/connection_timeout':  value => $connection_timeout;
  }
}