Parameterize network type and tunnel types
authorJames Slagle <jslagle@redhat.com>
Tue, 5 Aug 2014 00:04:18 +0000 (20:04 -0400)
committerJames Slagle <jslagle@redhat.com>
Mon, 15 Sep 2014 12:16:48 +0000 (08:16 -0400)
Remove the hardcoding of gre as the Neutron tenant network type for the
Overcloud. This will enable the ability to deploy an Overcloud that uses
vxlan instead of gre tunnels. A new parameter, NeutronTunnelTypes, is
added to allow configuring the tunnel_types parameter in the Neutron ML2
configuration.

This change is required by https://review.openstack.org/#/c/92913

Change-Id: I2c2e2153a61349e58ada28c87aa2338c9f00e7bd

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

index 5dc8f20..48cb81e 100644 (file)
@@ -38,6 +38,7 @@ resources:
           ovs:
             local_ip: {get_input: neutron_local_ip}
             tenant_network_type: {get_input: neutron_tenant_network_type}
+            tunnel_types: {get_input: neutron_tunnel_types}
             network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
             bridge_mappings: {get_input: neutron_bridge_mappings}
             enable_tunneling: {get_input: neutron_enable_tunneling}
index d368f14..5b54a54 100644 (file)
@@ -84,6 +84,16 @@ parameters:
     default: ''
     description: A port to add to the NeutronPhysicalBridge.
     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
   RabbitHost:
     type: string
   RabbitUserName:
@@ -227,6 +237,7 @@ resources:
         neutron_dsn: {get_param: NeutronDSN}
         neutron_local_ip: {get_attr: [NovaCompute0, networks, ctlplane, 0]}
         neutron_tenant_network_type: {get_param: NeutronNetworkType}
+        neutron_tunnel_types: {get_param: NeutronTunnelTypes}
         neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
         neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
         neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
index 3dbd571..6cceff2 100644 (file)
@@ -235,7 +235,17 @@ parameters:
     description: Neutron ID for ctlplane network.
   NeutronDnsmasqOptions:
     default: 'dhcp-option-force=26,1400'
-    description: Dnsmasq options for neutron-dhcp-agent. The default value here forces MTU to be set to 1400 to account for the gre tunnel overhead.
+    description: Dnsmasq options for neutron-dhcp-agent. The default value here forces MTU to be set to 1400 to account for the tunnel overhead.
+    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
   controllerImage:
     type: string
@@ -393,7 +403,10 @@ resources:
             - - mysql://neutron:unset@
               - *compute_database_host
               - /ovs_neutron
-        NeutronNetworkType: "gre"
+        NeutronNetworkType:
+            get_param: NeutronNetworkType
+        NeutronTunnelTypes:
+            get_param: NeutronTunnelTypes
         NeutronEnableTunnelling: "True"
         NeutronFlatNetworks:
             get_param: NeutronFlatNetworks
@@ -580,7 +593,10 @@ resources:
             public_interface_tag:
               get_param: NeutronPublicInterfaceTag
             physical_bridge: br-ex
-            tenant_network_type: gre
+            tenant_network_type:
+              get_param: NeutronNetworkType
+            tunnel_types:
+              get_param: NeutronTunnelTypes
           ovs_db:
             Fn::Join:
               - ''