40 lines
1.3 KiB
Puppet
40 lines
1.3 KiB
Puppet
class kickstack::neutron::plugin inherits kickstack {
|
|
|
|
include kickstack::neutron::config
|
|
|
|
$sql_conn = getvar("${fact_prefix}neutron_sql_connection")
|
|
$tenant_network_type = "$::kickstack::neutron_tenant_network_type"
|
|
$network_vlan_ranges = $tenant_network_type ? {
|
|
'gre' => '',
|
|
default => "${::kickstack::neutron_physnet}:${::kickstack::neutron_network_vlan_ranges}",
|
|
}
|
|
$tunnel_id_ranges = $tenant_network_type ? {
|
|
'gre' => $::kickstack::neutron_tunnel_id_ranges,
|
|
default => '',
|
|
}
|
|
|
|
case "$::kickstack::neutron_plugin" {
|
|
'ovs': {
|
|
class { "neutron::plugins::ovs":
|
|
sql_connection => $sql_conn,
|
|
tenant_network_type => $tenant_network_type,
|
|
network_vlan_ranges => $network_vlan_ranges,
|
|
tunnel_id_ranges => $tunnel_id_ranges
|
|
}
|
|
# This needs to be set for the plugin, not the agent
|
|
# (the latter is what the Neutron module assumes)
|
|
neutron_plugin_ovs { 'SECURITYGROUP/firewall_driver':
|
|
value => 'neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver',
|
|
require => Class['neutron::plugins::ovs']
|
|
}
|
|
}
|
|
'linuxbridge': {
|
|
class { "neutron::plugins::linuxbridge":
|
|
sql_connection => $sql_conn,
|
|
tenant_network_type => $tenant_network_type,
|
|
network_vlan_ranges => $network_vlan_ranges,
|
|
}
|
|
}
|
|
}
|
|
}
|