Enable Neutron DVR support in TripleO installation
authorErik Colnick <erik.colnick@hp.com>
Wed, 8 Oct 2014 13:04:07 +0000 (07:04 -0600)
committerErik Colnick <erik.colnick@hp.com>
Thu, 23 Oct 2014 09:22:58 +0000 (03:22 -0600)
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

nova-compute-config.yaml
nova-compute-instance.yaml
overcloud-source.yaml
undercloud-source.yaml

index 63685df..8ba778b 100644 (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:
index ab958b7..180657a 100644 (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}
index 5530006..fdabde9 100644 (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:
index 9479593..b7e230d 100644 (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: ''