Add Support for Quantum OVS VLAN Networking
Previously, only the OVS GRE networking model was supported. This patch exposes the necessary parameters to allow users to configure OVS VLAN networking. The module continues to use GRE networking as the default OVS networking mode for backwards compatibility. Change-Id: Ib57dfe122b179e586a486e5607f0e0cb6af1324d
This commit is contained in:
@@ -51,10 +51,31 @@
|
||||
# The next is an array of arrays, that can be used to add call-out links to the dashboard for other apps.
|
||||
# There is no specific requirement for these apps to be for monitoring, that's just the defacto purpose.
|
||||
# Each app is defined in two parts, the display name, and the URI
|
||||
#
|
||||
# [ovs_enable_tunneling]
|
||||
# Enable/disable the Quantum OVS GRE tunneling networking mode.
|
||||
# Optional. Defaults to true.
|
||||
#
|
||||
# [metadata_shared_secret]
|
||||
# Shared secret used by nova and quantum to authenticate metadata.
|
||||
# (optional) Defaults to false.
|
||||
#
|
||||
# [physical_network]
|
||||
# Unique name of the physical network used by the Quantum OVS Agent.
|
||||
# All physical networks listed are available for flat and VLAN
|
||||
# provider network creation.
|
||||
#
|
||||
# [tenant_network_type]
|
||||
# Type of network to allocate for tenant networks
|
||||
# Optional. Defualts to 'gre'.
|
||||
#
|
||||
# [network_vlan_ranges]
|
||||
# Comma-separated list of <physical_network>[:<vlan_min>:<vlan_max>]
|
||||
# tuples enumerating ranges of VLAN IDs on named physical networks
|
||||
# that are available for allocation. Only applicable when tenant_network_type
|
||||
# parameter is set to 'vlan'.
|
||||
# Optional. Defaults to 'physnet1:
|
||||
#
|
||||
# [firewall_driver]
|
||||
# Driver used to implement firewall rules.
|
||||
# (optional) Defaults to 'quantum.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver'.
|
||||
@@ -182,6 +203,11 @@ class openstack::controller (
|
||||
$cinder_bind_address = '0.0.0.0',
|
||||
# Quantum
|
||||
$quantum = true,
|
||||
$physical_network = 'default',
|
||||
$tenant_network_type = 'gre',
|
||||
$ovs_enable_tunneling = true,
|
||||
$ovs_local_ip = false,
|
||||
$network_vlan_ranges = 'physnet1:1000:2000',
|
||||
$bridge_interface = undef,
|
||||
$external_bridge_name = 'br-ex',
|
||||
$enable_ovs_agent = true,
|
||||
@@ -194,7 +220,6 @@ class openstack::controller (
|
||||
$quantum_db_name = 'quantum',
|
||||
$quantum_auth_url = 'http://127.0.0.1:35357/v2.0',
|
||||
$enable_quantum_server = true,
|
||||
$ovs_local_ip = false,
|
||||
# swift
|
||||
$swift = false,
|
||||
$swift_public_address = false,
|
||||
@@ -393,9 +418,12 @@ class openstack::controller (
|
||||
rabbit_password => $rabbit_password,
|
||||
rabbit_virtual_host => $rabbit_virtual_host,
|
||||
# Quantum OVS
|
||||
tenant_network_type => $tenant_network_type,
|
||||
network_vlan_ranges => $network_vlan_ranges,
|
||||
ovs_enable_tunneling => $ovs_enable_tunneling,
|
||||
ovs_local_ip => $ovs_local_ip_real,
|
||||
bridge_uplinks => ["${external_bridge_name}:${bridge_interface}"],
|
||||
bridge_mappings => ["default:${external_bridge_name}"],
|
||||
bridge_mappings => ["${physical_network}:${external_bridge_name}"],
|
||||
enable_ovs_agent => $enable_ovs_agent,
|
||||
firewall_driver => $firewall_driver,
|
||||
# Database
|
||||
|
@@ -74,6 +74,16 @@
|
||||
# Whether ovs tunnels should be enabled.
|
||||
# (optional) Defaults to true.
|
||||
#
|
||||
# [tenant_network_type]
|
||||
# Type of network to allocate for tenant networks
|
||||
# Optional. Defualts to 'gre'.
|
||||
#
|
||||
# [network_vlan_ranges]
|
||||
# Comma-separated list of <physical_network>[:<vlan_min>:<vlan_max>]
|
||||
# tuples enumerating ranges of VLAN IDs on named physical networks
|
||||
# that are available for allocation.
|
||||
# Optional. Defaults to 'physnet1:1000:2000'.
|
||||
#
|
||||
# [firewall_driver]
|
||||
# Firewall driver to use.
|
||||
# (optional) Defaults to undef.
|
||||
@@ -153,6 +163,8 @@ class openstack::quantum (
|
||||
$enable_metadata_agent = false,
|
||||
$enable_ovs_agent = false,
|
||||
# OVS settings
|
||||
$tenant_network_type = 'gre',
|
||||
$network_vlan_ranges = 'physnet1:1000:2000',
|
||||
$ovs_local_ip = false,
|
||||
$ovs_enable_tunneling = true,
|
||||
$bridge_uplinks = [],
|
||||
@@ -212,7 +224,8 @@ class openstack::quantum (
|
||||
class { 'quantum::plugins::ovs':
|
||||
sql_connection => $sql_connection,
|
||||
sql_idle_timeout => $sql_idle_timeout,
|
||||
tenant_network_type => 'gre',
|
||||
tenant_network_type => $tenant_network_type,
|
||||
network_vlan_ranges => $network_vlan_ranges,
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -551,6 +551,9 @@ describe 'openstack::controller' do
|
||||
:rabbit_user => 'openstack',
|
||||
:rabbit_password => 'rabbit_pw',
|
||||
:rabbit_virtual_host => '/',
|
||||
:tenant_network_type => 'gre',
|
||||
:network_vlan_ranges => 'physnet1:1000:2000',
|
||||
:ovs_enable_tunneling => true,
|
||||
:ovs_local_ip => '10.0.0.3',
|
||||
:bridge_uplinks => ["br-ex:eth_27"],
|
||||
:bridge_mappings => ["default:br-ex"],
|
||||
|
@@ -44,7 +44,8 @@ describe 'openstack::quantum' do
|
||||
)
|
||||
should contain_class('quantum::plugins::ovs').with(
|
||||
:sql_connection => "mysql://quantum:bar@127.0.0.1/quantum?charset=utf8",
|
||||
:tenant_network_type => 'gre'
|
||||
:tenant_network_type => 'gre',
|
||||
:network_vlan_ranges => 'physnet1:1000:2000'
|
||||
)
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user