Enable Neutron DVR support in TripleO installation

This change adds the necessary elements to the overcloud-source.yaml,
nova-compute-config.yaml and nova-compute-instance.yaml to allow Neutron
Distributed Virtual Routers (DVR) to be enabled.  The added elements are
set to default to values such that DVR is not enabled in keeping with
backwards compatibility.

Change-Id: I422c65e7d941593083d52ad7fdf0dfd1d2fb3155
blueprint: support-neutron-dvr
This commit is contained in:
Erik Colnick 2014-10-08 07:04:07 -06:00
parent 7b48754b98
commit 23d85de69b
4 changed files with 80 additions and 1 deletions

View File

@ -34,7 +34,12 @@ resources:
debug: {get_param: Debug}
flat-networks: {get_input: neutron_flat_networks}
host: {get_input: neutron_host}
router_distributed: {get_input: neutron_router_distributed}
agent_mode: {get_input: neutron_agent_mode}
ovs_db: {get_input: neutron_dsn}
metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
mechanism_drivers: {get_input: neutron_mechanism_drivers}
allow_automatic_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
ovs:
local_ip: {get_input: neutron_local_ip}
tenant_network_type: {get_input: neutron_tenant_network_type}
@ -44,6 +49,7 @@ resources:
enable_tunneling: {get_input: neutron_enable_tunneling}
physical_bridge: {get_input: neutron_physical_bridge}
public_interface: {get_input: neutron_public_interface}
public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
service-password: {get_input: neutron_password}
admin-password: {get_input: admin_password}
rabbit:

View File

@ -144,6 +144,22 @@ parameters:
The tunnel types for the Neutron tenant network. To specify multiple
values, use a comma separated string, like so: 'gre,vxlan'
type: string
NeutronPublicInterfaceRawDevice:
default: ''
type: string
NeutronDVR:
default: 'False'
type: string
NeutronMechanismDrivers:
default: 'openvswitch'
description: |
The mechanism drivers for the Neutron tenant network. To specify multiple
values, use a comma separated string, like so: 'openvswitch,l2_population'
type: string
NeutronAllowL3AgentFailover:
default: 'True'
description: Allow automatic l3-agent failover
type: string
NovaApiHost:
type: string
NovaComputeDriver:
@ -240,7 +256,13 @@ resources:
neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
neutron_physical_bridge: {get_param: NeutronPhysicalBridge}
neutron_public_interface: {get_param: NeutronPublicInterface}
neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
neutron_password: {get_param: NeutronPassword}
neutron_agent_mode: {get_param: NeutronComputeAgentMode}
neutron_router_distributed: {get_param: NeutronDVR}
neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
admin_password: {get_param: AdminPassword}
rabbit_host: {get_param: RabbitHost}
rabbit_username: {get_param: RabbitUserName}

View File

@ -267,12 +267,46 @@ parameters:
overcloud.yaml to include the deployment of VLAN ports to the control
plane.
type: string
NeutronPublicInterfaceRawDevice:
default: ''
description: If set, the public interface is a vlan with this device as the raw device.
type: string
NeutronComputeAgentMode:
default: 'dvr'
description: Agent mode for the neutron-l3-agent on the compute hosts
type: string
NeutronAgentMode:
default: 'dvr_snat'
description: Agent mode for the neutron-l3-agent on the controller hosts
type: string
NeutronDVR:
default: 'False'
description: Whether to configure Neutron Distributed Virtual Routers
type: string
NeutronMetadataProxySharedSecret:
default: 'unset'
description: Shared secret to prevent spoofing
type: string
NeutronNetworkType:
default: 'gre'
description: The tenant network type for Neutron, either gre or vxlan.
type: string
NeutronTunnelTypes:
default: 'gre'
description: |
The tunnel types for the Neutron tenant network. To specify multiple
values, use a comma separated string, like so: 'gre,vxlan'
type: string
NeutronMechanismDrivers:
default: 'openvswitch'
description: |
The mechanism drivers for the Neutron tenant network. To specify multiple
values, use a comma separated string, like so: 'openvswitch,l2_population'
type: string
NeutronAllowL3AgentFailover:
default: 'True'
description: Allow automatic l3-agent failover
type: string
NovaComputeDriver:
default: libvirt.LibvirtDriver
type: string
@ -418,6 +452,16 @@ resources:
get_param: HypervisorNeutronPublicInterface
NeutronBridgeMappings:
get_param: NeutronBridgeMappings
NeutronDVR:
get_param: NeutronDVR
NeutronAgentMode:
get_param: NeutronComputeAgentMode
NeutronPublicInterfaceRawDevice:
get_param: NeutronPublicInterfaceRawDevice
NeutronMechanismDrivers:
get_param: NeutronMechanismDrivers
NeutronAllowL3AgentFailover:
get_param: NeutronAllowL3AgentFailover
NovaCompute0AllNodesDeployment:
type: FileInclude
Path: nova-compute-instance.yaml
@ -575,7 +619,11 @@ resources:
debug: {get_param: Debug}
flat-networks: {get_param: NeutronFlatNetworks}
host: {get_input: controller_virtual_ip}
metadata_proxy_shared_secret: unset
metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
agent_mode: {get_param: NeutronAgentMode}
router_distributed: {get_param: NeutronDVR}
mechanism_drivers: {get_param: NeutronMechanismDrivers}
allow_automatic_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
ovs:
enable_tunneling: 'True'
local_ip:

View File

@ -170,6 +170,9 @@ parameters:
description: The password for the nova service account, used by nova-api.
type: string
hidden: true
NeutronDVR:
default: 'False'
type: string
NtpServer:
type: string
default: ''