Add Quantum L3 agent support

This commit is contained in:
Florian Haas 2013-07-08 20:54:09 +00:00
parent 142046d386
commit 8302bd9972
4 changed files with 32 additions and 1 deletions

View File

@ -45,7 +45,9 @@ class kickstack (
$quantum_tunnel_id_ranges = $kickstack::params::quantum_tunnel_id_ranges,
$nic_management = $kickstack::params::nic_management,
$nic_data = $kickstack::params::nic_data,
$nic_external = $kickstack::params::nic_external
$nic_external = $kickstack::params::nic_external,
$quantum_router_id = $kickstack::params::quantum_router_id,
$quantum_gateway_external_network_id = $kickstack::params::quantum_gateway_external_network_id
) inherits kickstack::params {
include exportfact

View File

@ -1,4 +1,5 @@
class kickstack::node::network inherits kickstack {
include kickstack::quantum::agent::l2
include kickstack::quantum::agent::dhcp
include kickstack::quantum::agent::l3
}

View File

@ -127,4 +127,8 @@ class kickstack::params {
# This interface would only be present on your network nodes, and possibly also
# on your API nodes if you wish to expose the API services publicly.
$nic_external = pick(getvar("::${variable_prefix}nic_external"),"eth2")
$quantum_router_id = getvar("::${variable_prefix}quantum_router_id")
$quantum_gateway_external_network_id = getvar("::${variable_prefix}gateway_external_network_id")
}

View File

@ -0,0 +1,24 @@
class kickstack::quantum::agent::l3 inherits kickstack {
include kickstack::quantum::config
class { "::quantum::agents::l3":
debug => $::kickstack::debug,
interface_driver => $::kickstack::quantum_plugin ? {
'ovs' => 'quantum.agent.linux.interface.OVSInterfaceDriver',
'linuxbridge' => 'quantum.agent.linux.interface.BridgeInterfaceDriver'
},
use_namespaces => $::kickstack::quantum_network_type ? {
'per-tenant-router' => true,
default => false
},
router_id => $::kickstack::quantum_network_type ? {
'provider-router' => "$::kickstack::quantum_router_id",
default => undef
},
gateway_external_network_id => $::kickstack::quantum_network_type ? {
'provider-router' => "$::kickstack::quantum_gateway_external_network_id",
default => undef
}
}
}