Use the server name attribute
[apex-tripleo-heat-templates.git] / overcloud-source.yaml
index 75b87f2..a9f3986 100644 (file)
@@ -25,6 +25,10 @@ parameters:
     default: 5000
     description: The size of the loopback file used by the cinder LVM driver.
     type: number
+  Debug:
+    default: ''
+    description: Set to True to enable debugging on all services.
+    type: string
   ExtraConfig:
     default: {}
     description: |
@@ -47,8 +51,8 @@ parameters:
           {"config":
             [{"section": "default",
               "values":
-                [{"option": "compute_manager",
-                  "value": "ironic.nova.compute.manager.ClusterComputeManager"
+                [{"option": "force_config_drive",
+                  "value": "always"
                  }
                 ]
              },
@@ -63,6 +67,18 @@ parameters:
           }
         }
     type: json
+  controllerExtraConfig:
+    default: {}
+    description: |
+      Controller specific configuration to inject into the cluster. Same
+      structure as ExtraConfig.
+    type: json
+  NovaComputeExtraConfig:
+    default: {}
+    description: |
+      NovaCompute specific configuration to inject into the cluster. Same
+      structure as ExtraConfig.
+    type: json
   OvercloudControlFlavor:
     default: baremetal
     description: Flavor for control nodes to request when deploying.
@@ -106,7 +122,7 @@ parameters:
     description: Name of an existing EC2 KeyPair to enable SSH access to the instances
     type: string
   NeutronBridgeMappings:
-    description: |
+    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
@@ -117,7 +133,7 @@ parameters:
     default: "datacentre:br-ex"
   NeutronNetworkVLANRanges:
     default: 'datacentre'
-    description: |
+    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).
@@ -173,12 +189,12 @@ parameters:
   NeutronFlatNetworks:
     type: string
     default: 'datacentre'
-    description: |
+    description: >
       If set, flat networks to configure in neutron plugins. Defaults to
       'datacentre' to permit external network creation.
   HypervisorNeutronPhysicalBridge:
     default: 'br-ex'
-    description: |
+    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.
@@ -201,7 +217,7 @@ parameters:
     type: string
   NeutronPublicInterfaceTag:
     default: ''
-    description: |
+    description: >
       VLAN tag for creating a public VLAN. The tag will be used to
       create an access port on the exterior bridge for each control plane node,
       and that port will be given the IP address returned by neutron from the
@@ -283,7 +299,7 @@ parameters:
     type: json
   PublicVirtualFixedIPs:
     default: []
-    description: |
+    description: >
         Control the IP allocation for the PublicVirtualInterface port. E.g.
         [{'ip_address':'1.2.3.4'}]
     type: json
@@ -395,16 +411,22 @@ resources:
     SubKey: resources.NovaCompute0AllNodesDeployment
     parameters:
         AllNodesConfig: {get_resource: allNodesConfig}
+  NovaCompute0:
+    type: FileInclude
+    Path: nova-compute-instance.yaml
+    SubKey: resources.NovaCompute0
   NovaCompute0Passthrough:
     type: FileInclude
     Path: nova-compute-instance.yaml
     SubKey: resources.NovaCompute0Passthrough
     parameters:
         passthrough_config: {get_param: ExtraConfig}
-  NovaCompute0:
+  NovaCompute0PassthroughSpecific:
     type: FileInclude
     Path: nova-compute-instance.yaml
-    SubKey: resources.NovaCompute0
+    SubKey: resources.NovaCompute0PassthroughSpecific
+    parameters:
+        passthrough_config_specific: {get_param: NovaComputeExtraConfig}
   controllerConfig:
     type: OS::Heat::StructuredConfig
     properties:
@@ -425,11 +447,9 @@ resources:
               - 0
               - Merge::Map:
                   controller0:
-                  - Fn::Select:
+                  - get_attr:
+                    - controller0
                     - name
-                    - get_attr:
-                      - controller0
-                      - show
           nodeid: {get_input: bootstack_nodeid}
         database:
           host: &database_host
@@ -441,6 +461,7 @@ resources:
               - - mysql://cinder:unset@
                 - *database_host
                 - /cinder
+          debug: {get_param: Debug}
           volume_size_mb:
             get_param: CinderLVMLoopDeviceSize
           service-password:
@@ -471,6 +492,7 @@ resources:
               - - mysql://glance:unset@
                 - *database_host
                 - /glance
+          debug: {get_param: Debug}
           host:
             get_input: controller_virtual_ip
           port:
@@ -498,6 +520,7 @@ resources:
               - - mysql://heat:unset@
                 - *database_host
                 - /heat
+          debug: {get_param: Debug}
           stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
           watch_server_url: {get_input: heat.watch_server_url}
           metadata_server_url: {get_input: heat.metadata_server_url}
@@ -508,7 +531,7 @@ resources:
               nodes:
                 Merge::Map:
                   controller0:
-                    {get_attr: [controller0, show, name]}
+                    {get_attr: [controller0, name]}
         keystone:
           db:
             Fn::Join:
@@ -516,6 +539,7 @@ resources:
               - - mysql://keystone:unset@
                 - *database_host
                 - /keystone
+          debug: {get_param: Debug}
           host:
             get_input: controller_virtual_ip
           ca_certificate: {get_param: KeystoneCACertificate}
@@ -535,6 +559,7 @@ resources:
               - - 'tripleo'
                 - {get_resource: MysqlClusterUniquePart}
         neutron:
+          debug: {get_param: Debug}
           flat-networks: {get_param: NeutronFlatNetworks}
           host: {get_input: controller_virtual_ip}
           metadata_proxy_shared_secret: unset
@@ -571,6 +596,7 @@ resources:
               - - mysql://ceilometer:unset@
                 - *database_host
                 - /ceilometer
+          debug: {get_param: Debug}
           metering_secret: {get_param: CeilometerMeteringSecret}
           service-password:
             get_param: CeilometerPassword
@@ -650,7 +676,7 @@ resources:
             Merge::Map:
               controller0:
                 ip: {get_attr: [controller0, networks, ctlplane, 0]}
-                name: {get_attr: [controller0, show, name]}
+                name: {get_attr: [controller0, name]}
           net_binds:
             - ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
           services:
@@ -717,6 +743,11 @@ resources:
     properties:
       group: os-apply-config
       config: {get_input: passthrough_config}
+  controllerPassthroughSpecific:
+    type: OS::Heat::StructuredConfig
+    properties:
+      group: os-apply-config
+      config: {get_input: passthrough_config_specific}
   controller0:
     type: OS::Nova::Server
     properties:
@@ -732,7 +763,7 @@ resources:
         - network: ctlplane
       user_data_format: SOFTWARE_CONFIG
   controller0AllNodesDeployment:
-    depends_on: [controller0Deployment,controller0SSLDeployment,controller0Swift,controller0Passthrough]
+    depends_on: [controller0Deployment,controller0SSLDeployment,controller0Swift,controller0PassthroughSpecific]
     type: OS::Heat::StructuredDeployment
     properties:
       signal_transport: {get_param: DefaultSignalTransport}
@@ -745,7 +776,7 @@ resources:
       config: {get_resource: controllerConfig}
       server: {get_resource: controller0}
       input_values:
-        bootstack_nodeid: {get_attr: [controller0, show, name]}
+        bootstack_nodeid: {get_attr: [controller0, name]}
         controller_host: {get_attr: [controller0, networks, ctlplane, 0]}
         controller_virtual_ip:
           {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
@@ -782,10 +813,10 @@ resources:
                     Fn::Join:
                     - ' '
                     - - {get_attr: [NovaCompute0, networks, ctlplane, 0]}
-                      - {get_attr: [NovaCompute0, show, name]}
+                      - {get_attr: [NovaCompute0, name]}
                       - Fn::Join:
                         - '.'
-                        - - {get_attr: [NovaCompute0, show, name]}
+                        - - {get_attr: [NovaCompute0, name]}
                           - 'novalocal'
             - Fn::Join:
               - "\n"
@@ -794,10 +825,10 @@ resources:
                     Fn::Join:
                     - ' '
                     - - {get_attr: [BlockStorage0, networks, ctlplane, 0]}
-                      - {get_attr: [BlockStorage0, show, name]}
+                      - {get_attr: [BlockStorage0, name]}
                       - Fn::Join:
                         - '.'
-                        - - {get_attr: [BlockStorage0, show, name]}
+                        - - {get_attr: [BlockStorage0, name]}
                           - 'novalocal'
             - Fn::Join:
               - "\n"
@@ -806,10 +837,10 @@ resources:
                     Fn::Join:
                     - ' '
                     - - {get_attr: [SwiftStorage0, networks, ctlplane, 0]}
-                      - {get_attr: [SwiftStorage0, show, name]}
+                      - {get_attr: [SwiftStorage0, name]}
                       - Fn::Join:
                         - '.'
-                        - - {get_attr: [SwiftStorage0, show, name]}
+                        - - {get_attr: [SwiftStorage0, name]}
                           - 'novalocal'
             - Fn::Join:
               - "\n"
@@ -818,10 +849,10 @@ resources:
                     Fn::Join:
                     - ' '
                     - - {get_attr: [controller0, networks, ctlplane, 0]}
-                      - {get_attr: [controller0, show, name]}
+                      - {get_attr: [controller0, name]}
                       - Fn::Join:
                         - '.'
-                        - - {get_attr: [controller0, show, name]}
+                        - - {get_attr: [controller0, name]}
                           - 'novalocal'
                       - {get_param: CloudName}
         rabbit:
@@ -830,7 +861,7 @@ resources:
               - ','
               - Merge::Map:
                   controller0:
-                    {get_attr: [controller0, show, name]}
+                    {get_attr: [controller0, name]}
   controller0SSLDeployment:
     type: OS::Heat::StructuredDeployment
     properties:
@@ -850,6 +881,15 @@ resources:
       signal_transport: NO_SIGNAL
       input_values:
         passthrough_config: {get_param: ExtraConfig}
+  controller0PassthroughSpecific:
+    depends_on: [controller0Passthrough]
+    type: OS::Heat::StructuredDeployment
+    properties:
+      config: {get_resource: controllerPassthroughSpecific}
+      server: {get_resource: controller0}
+      signal_transport: NO_SIGNAL
+      input_values:
+        passthrough_config_specific: {get_param: controllerExtraConfig}
 outputs:
   KeystoneURL:
     description: URL for the Overcloud Keystone service