Merge "Support for Open vSwitch Distributed Virtual Routing"
This commit is contained in:
commit
2a65a07056
@ -99,6 +99,7 @@ neutron_plugins:
|
|||||||
drivers_type: "{{ neutron_ml2_drivers_type }}"
|
drivers_type: "{{ neutron_ml2_drivers_type }}"
|
||||||
l2_population: "{{ neutron_l2_population }}"
|
l2_population: "{{ neutron_l2_population }}"
|
||||||
mechanisms: "linuxbridge{% if neutron_l2_population | bool %},l2population{% endif %}"
|
mechanisms: "linuxbridge{% if neutron_l2_population | bool %},l2population{% endif %}"
|
||||||
|
l3_agent_mode: "legacy"
|
||||||
plugin_conf_ini_overrides: "{{ neutron_ml2_conf_ini_overrides }}"
|
plugin_conf_ini_overrides: "{{ neutron_ml2_conf_ini_overrides }}"
|
||||||
plugin_core: neutron.plugins.ml2.plugin.Ml2Plugin
|
plugin_core: neutron.plugins.ml2.plugin.Ml2Plugin
|
||||||
plugin_ini: plugins/ml2/ml2_conf.ini
|
plugin_ini: plugins/ml2/ml2_conf.ini
|
||||||
@ -108,6 +109,18 @@ neutron_plugins:
|
|||||||
drivers_type: "{{ neutron_ml2_drivers_type }}"
|
drivers_type: "{{ neutron_ml2_drivers_type }}"
|
||||||
l2_population: "{{ neutron_l2_population }}"
|
l2_population: "{{ neutron_l2_population }}"
|
||||||
mechanisms: "openvswitch{% if neutron_l2_population | bool %},l2population{% endif %}"
|
mechanisms: "openvswitch{% if neutron_l2_population | bool %},l2population{% endif %}"
|
||||||
|
l3_agent_mode: "legacy"
|
||||||
|
plugin_conf_ini_overrides: "{{ neutron_ml2_conf_ini_overrides }}"
|
||||||
|
plugin_core: neutron.plugins.ml2.plugin.Ml2Plugin
|
||||||
|
plugin_ini: plugins/ml2/ml2_conf.ini
|
||||||
|
ml2.ovs.dvr:
|
||||||
|
driver_firewall: neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
|
||||||
|
driver_interface: neutron.agent.linux.interface.OVSInterfaceDriver
|
||||||
|
drivers_type: "{{ neutron_ml2_drivers_type }}"
|
||||||
|
l2_population: "{{ neutron_l2_population }}"
|
||||||
|
mechanisms: "openvswitch{% if neutron_l2_population | bool %},l2population{% endif %}"
|
||||||
|
l3_agent_mode: "{% if 'nova_compute' in group_names %}dvr{% else %}dvr_snat{% endif %}"
|
||||||
|
router_distributed: True
|
||||||
plugin_conf_ini_overrides: "{{ neutron_ml2_conf_ini_overrides }}"
|
plugin_conf_ini_overrides: "{{ neutron_ml2_conf_ini_overrides }}"
|
||||||
plugin_core: neutron.plugins.ml2.plugin.Ml2Plugin
|
plugin_core: neutron.plugins.ml2.plugin.Ml2Plugin
|
||||||
plugin_ini: plugins/ml2/ml2_conf.ini
|
plugin_ini: plugins/ml2/ml2_conf.ini
|
||||||
@ -133,7 +146,7 @@ neutron_services:
|
|||||||
neutron-openvswitch-agent:
|
neutron-openvswitch-agent:
|
||||||
group: neutron_openvswitch_agent
|
group: neutron_openvswitch_agent
|
||||||
service_name: neutron-openvswitch-agent
|
service_name: neutron-openvswitch-agent
|
||||||
service_en: "{{ neutron_plugin_type == 'ml2.ovs' }}"
|
service_en: "{{ 'ml2.ovs' in neutron_plugin_type }}"
|
||||||
service_conf: plugins/ml2/openvswitch_agent.ini
|
service_conf: plugins/ml2/openvswitch_agent.ini
|
||||||
service_rootwrap: rootwrap.d/openvswitch-plugin.filters
|
service_rootwrap: rootwrap.d/openvswitch-plugin.filters
|
||||||
config_options: --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini --config-file /etc/neutron/plugins/ml2/openvswitch_agent.ini --log-file=/var/log/neutron/neutron-openvswitch-agent.log
|
config_options: --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini --config-file /etc/neutron/plugins/ml2/openvswitch_agent.ini --log-file=/var/log/neutron/neutron-openvswitch-agent.log
|
||||||
@ -210,7 +223,7 @@ neutron_services:
|
|||||||
neutron_dhcp: "{% if neutron_plugin_type.split('.')[0] == 'ml2' %}True{% else %}False{% endif %}"
|
neutron_dhcp: "{% if neutron_plugin_type.split('.')[0] == 'ml2' %}True{% else %}False{% endif %}"
|
||||||
|
|
||||||
## Neutron Metadata Agent
|
## Neutron Metadata Agent
|
||||||
neutron_metadata: "{% if neutron_plugin_type.split('.')[0] == 'ml2' %}True{% else %}False{% endif %}"
|
neutron_metadata: "{% if neutron_plugin_type.split('.')[0] == 'ml2' and (neutron_plugin_type == 'ml2.ovs.dvr' or 'nova_compute' not in group_names) %}True{% else %}False{% endif %}"
|
||||||
|
|
||||||
## Neutron LBaaS
|
## Neutron LBaaS
|
||||||
# See documentation section titled "Configuring the Network Load Balacing
|
# See documentation section titled "Configuring the Network Load Balacing
|
||||||
@ -225,7 +238,8 @@ neutron_lbaasv2: "{% if 'lbaasv2' in neutron_plugin_base or 'neutron_lbaas.servi
|
|||||||
## Neutron L3
|
## Neutron L3
|
||||||
## Please add 'router' to the neutron_plugin_base list
|
## Please add 'router' to the neutron_plugin_base list
|
||||||
#TODO(odyssey4me): Remove the class path from this conditional in the Newton cycle
|
#TODO(odyssey4me): Remove the class path from this conditional in the Newton cycle
|
||||||
neutron_l3: "{% if 'router' in neutron_plugin_base or 'neutron.services.l3_router.l3_router_plugin.L3RouterPlugin' in neutron_plugin_base %}True{% else %}False{% endif %}"
|
# Should the neutron-l3-agent service should be enabled on the host
|
||||||
|
neutron_l3: "{% if ('router' in neutron_plugin_base or 'neutron.services.l3_router.l3_router_plugin.L3RouterPlugin' in neutron_plugin_base) and (neutron_plugin_type == 'ml2.ovs.dvr' or 'nova_compute' not in group_names) %}True{% else %}False{% endif %}"
|
||||||
|
|
||||||
# Set this option to "true" to enable legacy neutron L3HA tool support
|
# Set this option to "true" to enable legacy neutron L3HA tool support
|
||||||
# TODO(cloudnull): Remove this in the Ocata cycle
|
# TODO(cloudnull): Remove this in the Ocata cycle
|
||||||
@ -309,7 +323,6 @@ neutron_keystone_auth_plugin: password
|
|||||||
neutron_external_network_bridge: ""
|
neutron_external_network_bridge: ""
|
||||||
neutron_gateway_external_network_id: ""
|
neutron_gateway_external_network_id: ""
|
||||||
|
|
||||||
neutron_agent_mode: legacy
|
|
||||||
neutron_agent_down_time: 120
|
neutron_agent_down_time: 120
|
||||||
neutron_agent_polling_interval: 5
|
neutron_agent_polling_interval: 5
|
||||||
neutron_report_interval: "{{ neutron_agent_down_time | int / 2 | int }}"
|
neutron_report_interval: "{{ neutron_agent_down_time | int / 2 | int }}"
|
||||||
|
11
releasenotes/notes/neutron_ovs_dvr-7fca77cac0545441.yaml
Normal file
11
releasenotes/notes/neutron_ovs_dvr-7fca77cac0545441.yaml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
Support for Neutron distributed virtual routing has been added to the
|
||||||
|
``os_neutron`` role. This includes the implementation of Networking
|
||||||
|
Guide's suggested agent configuration. This feature may be activated
|
||||||
|
by setting ``neutron_plugin_type: ml2.ovs.dvr`` in ``/etc/openstack_deploy/user_variables.yml``.
|
||||||
|
upgrade:
|
||||||
|
- The variable ``neutron_agent_mode`` has been removed from the
|
||||||
|
``os_neutron`` role. The appropriate value for ``l3_agent.ini`` is now
|
||||||
|
determined based on the ``neutron_plugin_type`` and host group membership.
|
@ -13,8 +13,7 @@ gateway_external_network_id = {{ neutron_gateway_external_network_id }}
|
|||||||
# Drivers
|
# Drivers
|
||||||
interface_driver = {{ neutron_plugins[neutron_plugin_type].driver_interface }}
|
interface_driver = {{ neutron_plugins[neutron_plugin_type].driver_interface }}
|
||||||
|
|
||||||
# Agent mode (legacy only)
|
agent_mode = {{ neutron_plugins[neutron_plugin_type].l3_agent_mode }}
|
||||||
agent_mode = {{ neutron_agent_mode }}
|
|
||||||
|
|
||||||
# Conventional failover
|
# Conventional failover
|
||||||
allow_automatic_l3agent_failover = True
|
allow_automatic_l3agent_failover = True
|
||||||
|
@ -40,8 +40,8 @@ notification_driver = messagingv2
|
|||||||
network_auto_schedule = True
|
network_auto_schedule = True
|
||||||
router_auto_schedule = True
|
router_auto_schedule = True
|
||||||
|
|
||||||
# Distributed virtual routing (disable by default)
|
# Distributed virtual routing
|
||||||
router_distributed = False
|
router_distributed = {{ neutron_plugins[neutron_plugin_type].router_distributed | default('False') }}
|
||||||
|
|
||||||
# Agents
|
# Agents
|
||||||
agent_down_time = {{ neutron_agent_down_time }}
|
agent_down_time = {{ neutron_agent_down_time }}
|
||||||
|
@ -12,6 +12,7 @@ bridge_mappings = {{ neutron_provider_networks.network_mappings }}
|
|||||||
[agent]
|
[agent]
|
||||||
l2_population = {{ neutron_plugins[neutron_plugin_type].l2_population }}
|
l2_population = {{ neutron_plugins[neutron_plugin_type].l2_population }}
|
||||||
tunnel_types = {{ neutron_tunnel_types }}
|
tunnel_types = {{ neutron_tunnel_types }}
|
||||||
|
enable_distributed_routing = {{ neutron_plugins[neutron_plugin_type].router_distributed | default('False') }}
|
||||||
|
|
||||||
# Security groups
|
# Security groups
|
||||||
[securitygroup]
|
[securitygroup]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user