Puppet Class: neutron::plugins::nsx
- Defined in:
- manifests/plugins/nsx.pp
Overview
Configure the VMware NSX plugin for neutron.
Parameters
- default_overlay_tz
-
Name or UUID of the default overlay Transport Zone to be used for creating tunneled isolated “Neutron” networks. This option MUST be specified.
- default_vlan_tz
-
(optional) Name or UUID of the default VLAN Transport Zone to be used for creating VLAN networks.
- default_bridge_cluster
-
(optional) Name or UUID of the default NSX bridge cluster that will be used to perform L2 gateway bridging between VXLAN and VLAN networks.
- default_tier0_router
-
Name or UUID of the pre-created default tier0 (provider) router on NSX backend. This option is used to create external networks and MUST be specified.
- nsx_api_managers
-
Comma separated NSX manager IP addresses. This option MUST be specified.
- nsx_api_user
-
The username for NSX manager.
- nsx_api_password
-
The password for NSX manager.
- dhcp_profile
-
Name or UUID of the pre-created DHCP profile on NSX backend to support native DHCP. This option MUST be specified if native_dhcp_metadata is True.
- dhcp_relay_service
-
(optional) This is the name or UUID of the NSX relay service that will be used to enable DHCP relay on router ports.
- metadata_proxy
-
Name or UUID of the pre-created Metadata Proxy on NSX backend. This option MUST be specified if native_dhcp_metadata is True.
- native_dhcp_metadata
-
Flag to enable native DHCP and Metadata.
- package_ensure
-
(optional) Ensure state for package. Defaults to ‘present’.
- purge_config
-
(optional) Whether to set only the specified config options in the nvp config. Defaults to false.
DEPRECATED
- dhcp_profile_uuid
-
(DEPRECATED) UUID of the pre-created DHCP profile on NSX backend to support native DHCP.
- metadata_proxy_uuid
-
(DEPRECATED) UUID of the pre-created Metadata Proxy on NSX backend.
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 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 |
# File 'manifests/plugins/nsx.pp', line 65
class neutron::plugins::nsx (
$default_overlay_tz = $::os_service_default,
$default_vlan_tz = $::os_service_default,
$default_bridge_cluster = $::os_service_default,
$default_tier0_router = $::os_service_default,
$nsx_api_managers = $::os_service_default,
$nsx_api_user = $::os_service_default,
$nsx_api_password = $::os_service_default,
$dhcp_profile = $::os_service_default,
$dhcp_relay_service = $::os_service_default,
$metadata_proxy = $::os_service_default,
$native_dhcp_metadata = $::os_service_default,
$package_ensure = 'present',
$purge_config = false,
# DEPRECATED
$dhcp_profile_uuid = undef,
$metadata_proxy_uuid = undef,
) {
include neutron::deps
include neutron::params
package { 'vmware-nsx':
ensure => $package_ensure,
name => $::neutron::params::nsx_plugin_package,
tag => ['openstack', 'neutron-package'],
}
file { '/etc/neutron/plugins/vmware':
ensure => directory,
tag => 'neutron-config-file',
}
file { $::neutron::params::nsx_config_file:
ensure => file,
owner => 'root',
group => $::neutron::params::group,
require => File['/etc/neutron/plugins/vmware'],
mode => '0640',
tag => 'neutron-config-file',
}
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::nsx_config_file}",
tag => 'neutron-file-line',
}
}
if $::osfamily == 'Redhat' {
file { '/etc/neutron/plugin.ini':
ensure => link,
require => File[$::neutron::params::nsx_config_file],
target => $::neutron::params::nsx_config_file,
tag => 'neutron-config-file',
}
}
if $dhcp_profile_uuid or $metadata_proxy_uuid {
warning('dhcp_profile_uuid and $metadata_proxy_uuid are deprecated and will be removed in the future')
}
resources { 'neutron_plugin_nsx':
purge => $purge_config,
}
neutron_plugin_nsx {
'nsx_v3/default_overlay_tz': value => $default_overlay_tz;
'nsx_v3/default_vlan_tz': value => $default_vlan_tz;
'nsx_v3/default_bridge_cluster': value => $default_bridge_cluster;
'nsx_v3/default_tier0_router': value => $default_tier0_router;
'nsx_v3/nsx_api_managers': value => $nsx_api_managers;
'nsx_v3/nsx_api_user': value => $nsx_api_user;
'nsx_v3/nsx_api_password': value => $nsx_api_password;
'nsx_v3/dhcp_profile': value => pick($dhcp_profile_uuid, $dhcp_profile);
'nsx_v3/dhcp_relay_service': value => $dhcp_relay_service;
'nsx_v3/metadata_proxy': value => pick($metadata_proxy_uuid, $metadata_proxy);
'nsx_v3/native_dhcp_metadata': value => $native_dhcp_metadata;
}
if ($::neutron::core_plugin != 'vmware_nsx.plugin.NsxV3Plugin') and
($::neutron::core_plugin != 'nsx') {
fail('VMware NSX plugin should be the core_plugin in neutron.conf')
}
}
|