Add ML2 support

Two new class groups have been added that enable the ml2
folder structure, and include extra classes on compute nodes
that were not previously required. Scenarios should swap over
to these class groups when they are ready.

core_plugin for neutron was previously set by plugin
choice, it is now set to ml2 in user.common.yaml. To use
the deprecated plugins this will need to be overridden
manually by the user. Mechanisms are set by plugin choice,
but there is currently only support for a single mechanism
at a time.

This patch focuses solely on gre support. VXLAN and others can
be added in future patches.

The service_plugins format has been changed to a curated list of
strings, and has been reduced to only include the router plugin
while support for other plugins is tested.

Change-Id: I258074d70bf136ac4d8eaf08abc06e8676db3829
This commit is contained in:
Michael Chapman 2014-07-21 14:29:57 +10:00
parent 75ead64890
commit 69f28a6b72
6 changed files with 50 additions and 6 deletions

View File

@ -0,0 +1,12 @@
classes:
- "%{network_service}"
- "%{network_service}::server"
- "%{network_service}::server::notifications"
- "%{network_service}::agents::metadata"
- "%{network_service}::agents::l3"
- "%{network_service}::agents::lbaas"
- "%{network_service}::agents::vpnaas"
- "%{network_service}::agents::dhcp"
- "%{network_service}::agents::ml2::%{network_plugin}"
- "%{network_service}::services::fwaas"
- "%{network_service}::plugins::ml2"

View File

@ -0,0 +1,10 @@
classes:
- "nova"
- "nova::compute"
- "nova::config"
- "nova::compute::%{compute_type}"
- "nova::network::%{network_service}"
- "nova::compute::%{network_service}"
- "%{network_service}::agents::ml2::%{network_plugin}"
- "%{network_service}"
- "%{network_service}::plugins::ml2"

View File

@ -293,8 +293,6 @@ enable_vpnaas:
- neutron::agents::vpnaas::enabled
enable_fwaas:
- neutron::services::fwaas::enabled
service_plugins:
- neutron::service_plugins
horizon_neutron_options:
- horizon::neutron_options
interface_driver:

View File

@ -1,6 +1,8 @@
"%{external_network_bridge}:%{external_interface}":
- quantum::agents::ovs::bridge_uplinks
- neutron::agents::ovs::bridge_uplinks
- neutron::agents::ml2::ovs::bridge_uplinks
internal_ip:
- quantum::agents::ovs::local_ip
- neutron::agents::ovs::local_ip
- neutron::agents::ml2::ovs::local_ip

View File

@ -2,7 +2,24 @@ quantum::agents::ovs::bridge_mappings:
- "default:br-ex"
neutron::agents::ovs::bridge_mappings:
- "default:br-ex"
quantum::agents::ovs::enable_tunneling: true
neutron::agents::ovs::enable_tunneling: true
quantum::plugins::ovs::tenant_network_type: gre
neutron::plugins::ovs::tenant_network_type: gre
# ML2 Agent
neutron::agents::ml2::ovs::bridge_mappings:
- "default:br-ex"
neutron::agents::ml2::ovs::enable_tunneling: true
neutron::agents::ml2::ovs::tunnel_types:
- gre
# ML2 Plugin
neutron::plugins::ml2::type_drivers:
- gre
neutron::plugins::ml2::tenant_network_types:
- gre
neutron::plugins::ml2::mechanism_drivers:
- openvswitch

View File

@ -356,11 +356,16 @@ enable_fwaas: true
# Service feature.
enable_vpnaas: true
# Neutron core plugin to use. This should always be
# ML2 from Juno onwards
neutron::core_plugin: ml2
# An array of Neutron service plugins to enable.
service_plugins:
- 'neutron.services.loadbalancer.plugin.LoadBalancerPlugin'
- 'neutron.services.firewall.fwaas_plugin.FirewallPlugin'
- 'neutron.services.vpn.plugin.VPNDriverPlugin'
neutron::service_plugins:
- router
- lbaas
- vpnaas
- firewall
# Set the interface driver
interface_driver: 'neutron.agent.linux.interface.OVSInterfaceDriver'