aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErik Colnick <erik.colnick@hp.com>2014-10-08 07:04:07 -0600
committerErik Colnick <erik.colnick@hp.com>2014-10-23 03:22:58 -0600
commit23d85de69b7921e76dce7ce8080eefaf06b094ff (patch)
treed75358583e2b6534916fd31c66894ff9f8ded621
parent7b48754b98ca1890aa7608d19425913a7c79f5ca (diff)
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
-rw-r--r--nova-compute-config.yaml6
-rw-r--r--nova-compute-instance.yaml22
-rw-r--r--overcloud-source.yaml50
-rw-r--r--undercloud-source.yaml3
4 files changed, 80 insertions, 1 deletions
diff --git a/nova-compute-config.yaml b/nova-compute-config.yaml
index 63685df6..8ba778bc 100644
--- a/nova-compute-config.yaml
+++ b/nova-compute-config.yaml
@@ -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:
diff --git a/nova-compute-instance.yaml b/nova-compute-instance.yaml
index ab958b77..180657a6 100644
--- a/nova-compute-instance.yaml
+++ b/nova-compute-instance.yaml
@@ -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}
diff --git a/overcloud-source.yaml b/overcloud-source.yaml
index 55300062..fdabde97 100644
--- a/overcloud-source.yaml
+++ b/overcloud-source.yaml
@@ -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:
diff --git a/undercloud-source.yaml b/undercloud-source.yaml
index 94795934..b7e230db 100644
--- a/undercloud-source.yaml
+++ b/undercloud-source.yaml
@@ -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: ''