Merge "Make Swift replica count configurable."
[apex-tripleo-heat-templates.git] / overcloud-source.yaml
index 6432baa..63ebb20 100644 (file)
@@ -106,9 +106,22 @@ parameters:
     description: Name of an existing EC2 KeyPair to enable SSH access to the instances
     type: string
   NeutronBridgeMappings:
-    description: The OVS logical->physical bridge mappings to use.
+    description: |
+      The OVS logical->physical bridge mappings to use. See the Neutron
+      documentation for details. Defaults to mapping br-ex - the external
+      bridge on hosts - to a physical name 'datacentre' which can be used
+      to create provider networks (and we use this for the default floating
+      network) - if changing this either use different post-install network
+      scripts or be sure to keep 'datacentre' as a mapping network name.
+    type: string
+    default: "datacentre:br-ex"
+  NeutronNetworkVLANRanges:
+    default: 'datacentre'
+    description: |
+      The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
+      Neutron documentation for permitted values. Defaults to permitting any
+      VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
     type: string
-    default: ''
   NeutronPassword:
     default: unset
     description: The password for the neutron service account, used by neutron agents.
@@ -159,14 +172,19 @@ parameters:
     hidden: true
   NeutronFlatNetworks:
     type: string
-    default: ''
-    description: If set, flat networks to configure in neutron plugins.
+    default: 'datacentre'
+    description: |
+      If set, flat networks to configure in neutron plugins. Defaults to
+      'datacentre' to permit external network creation.
   HypervisorNeutronPhysicalBridge:
-    default: ''
-    description: An OVS bridge to create on each hypervisor.
+    default: 'br-ex'
+    description: |
+      An OVS bridge to create on each hypervisor. This defaults to br-ex the
+      same as the control plane nodes, as we have a uniform configuration of
+      the openvswitch agent. Typically should not need to be changed.
     type: string
   HypervisorNeutronPublicInterface:
-    default: ''
+    default: 'eth0'
     description: What interface to add to the HypervisorNeutronPhysicalBridge.
     type: string
   NeutronPublicInterface:
@@ -283,6 +301,12 @@ parameters:
     description: Keystone key for signing tokens.
     type: string
     hidden: true
+  DefaultSignalTransport:
+    default: CFN_SIGNAL
+    description: Transport to use for software-config signals.
+    type: string
+    constraints:
+      - allowed_values: [ CFN_SIGNAL, HEAT_SIGNAL, NO_SIGNAL ]
 resources:
   ControlVirtualIP:
     type: OS::Neutron::Port
@@ -295,6 +319,10 @@ resources:
     type: OS::Heat::RandomString
     properties:
       length: 10
+  MysqlRootPassword:
+    type: OS::Heat::RandomString
+    properties:
+      length: 10
   PublicVirtualIP:
     type: OS::Neutron::Port
     properties:
@@ -308,11 +336,13 @@ resources:
       length: 20
       salt:
         get_param: RabbitCookieSalt
-  NovaCompute0Deploy:
+  NovaCompute0Deployment:
     type: FileInclude
     Path: nova-compute-instance.yaml
-    SubKey: resources.NovaCompute0Deploy
+    SubKey: resources.NovaCompute0Deployment
     parameters:
+        DefaultSignalTransport:
+            get_param: DefaultSignalTransport
         NovaApiHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
         KeystoneHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
         NeutronHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
@@ -324,6 +354,7 @@ resources:
             - - mysql://nova:unset@
               - &compute_database_host {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
               - /nova
+        NovaPublicIP: {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]}
         CeilometerDSN:
           Fn::Join:
             - ''
@@ -340,17 +371,18 @@ resources:
         NeutronEnableTunnelling: "True"
         NeutronFlatNetworks:
             get_param: NeutronFlatNetworks
-        NeutronNetworkVLANRanges: ""
+        NeutronNetworkVLANRanges:
+            get_param: NeutronNetworkVLANRanges
         NeutronPhysicalBridge:
             get_param: HypervisorNeutronPhysicalBridge
         NeutronPublicInterface:
             get_param: HypervisorNeutronPublicInterface
         NeutronBridgeMappings:
             get_param: NeutronBridgeMappings
-  NovaCompute0AllNodes:
+  NovaCompute0AllNodesDeployment:
     type: FileInclude
     Path: nova-compute-instance.yaml
-    SubKey: resources.NovaCompute0AllNodesDeploy
+    SubKey: resources.NovaCompute0AllNodesDeployment
     parameters:
         AllNodesConfig: {get_resource: allNodesConfig}
   NovaCompute0Passthrough:
@@ -482,6 +514,7 @@ resources:
         mysql:
           innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
           local_bind: true
+          root-password: {get_resource: MysqlRootPassword}
           nodes:
             Merge::Map:
               controller0:
@@ -499,6 +532,7 @@ resources:
             enable_tunneling: 'True'
             local_ip:
               get_input: controller_host
+            network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
             bridge_mappings: {get_param: NeutronBridgeMappings}
             public_interface:
               get_param: NeutronPublicInterface
@@ -644,6 +678,9 @@ resources:
               port: 3306
               extra_server_params:
                 - backup
+              options:
+                - timeout client 0
+                - timeout server 0
             - name: nova_ec2
               port: 8773
             - name: nova_osapi
@@ -682,10 +719,11 @@ resources:
       networks:
         - network: ctlplane
       user_data_format: SOFTWARE_CONFIG
-  controller0AllNodes:
+  controller0AllNodesDeployment:
     depends_on: [controller0Deployment,controller0SSLDeployment,controller0Swift,controller0Passthrough]
     type: OS::Heat::StructuredDeployment
     properties:
+      signal_transport: {get_param: DefaultSignalTransport}
       config: {get_resource: allNodesConfig}
       server: {get_resource: controller0}
   controller0Deployment:
@@ -737,6 +775,30 @@ resources:
                         - '.'
                         - - {get_attr: [NovaCompute0, show, name]}
                           - 'novalocal'
+            - Fn::Join:
+              - "\n"
+              - Merge::Map:
+                  BlockStorage0:
+                    Fn::Join:
+                    - ' '
+                    - - {get_attr: [BlockStorage0, networks, ctlplane, 0]}
+                      - {get_attr: [BlockStorage0, show, name]}
+                      - Fn::Join:
+                        - '.'
+                        - - {get_attr: [BlockStorage0, show, name]}
+                          - 'novalocal'
+            - Fn::Join:
+              - "\n"
+              - Merge::Map:
+                  SwiftStorage0:
+                    Fn::Join:
+                    - ' '
+                    - - {get_attr: [SwiftStorage0, networks, ctlplane, 0]}
+                      - {get_attr: [SwiftStorage0, show, name]}
+                      - Fn::Join:
+                        - '.'
+                        - - {get_attr: [SwiftStorage0, show, name]}
+                          - 'novalocal'
             - Fn::Join:
               - "\n"
               - Merge::Map: