Port all templates to HOT
authorSteve Baker <sbaker@redhat.com>
Sun, 3 Aug 2014 20:43:34 +0000 (08:43 +1200)
committerSteve Baker <sbaker@redhat.com>
Sun, 3 Aug 2014 20:57:52 +0000 (08:57 +1200)
This change was generated and validated by running the following:

    make hot clean all validate-all

This converts all templates to be valid HOT.

Fn::Select is not converted in this change but this will actually
work with heat_template_version 2013-05-23. Fn::Select is converted
manually in the next change in this series.

This change also sets the heat_template_version to 2014-10-16 which
includes the list_join intrinsic functions used throughout these
templates.

Partial-Blueprint: tripleo-juno-remove-mergepy
Change-Id: Ib3cbb83f6ae94adb7b793ab1b662bd5c55cbb5b3

37 files changed:
Makefile
base.yaml
block-storage-nfs.yaml
block-storage.yaml
controller.yaml
debian-mirror.yaml
examples/launchconfig1_hot.yaml
examples/launchconfig2_hot.yaml
examples/launchconfig_result_hot.yaml
examples/scale1_hot.yaml
examples/scale2_hot.yaml
examples/scale_map2_hot.yaml
examples/scale_map_hot.yaml
examples/scale_map_result_hot.yaml
examples/scale_result_hot.yaml
examples/source2_lib_result_hot.yaml
examples/source_hot.yaml
examples/source_include_subkey_hot.yaml
examples/source_include_subkey_result_hot.yaml
examples/source_lib_result_hot.yaml
nagios3.yaml
nfs-server-source.yaml
nova-compute-config.yaml
nova-compute-instance.yaml
overcloud-source.yaml
ssl-source.yaml
swift-deploy.yaml
swift-source.yaml
swift-storage-source.yaml
tripleo_heat_merge/merge.py
undercloud-bm-nova-config.yaml
undercloud-bm-nova-deploy.yaml
undercloud-source.yaml
undercloud-vm-ironic-config.yaml
undercloud-vm-ironic-deploy.yaml
undercloud-vm-nova-config.yaml
undercloud-vm-nova-deploy.yaml

index 18199ed..295e85c 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -15,25 +15,25 @@ $(VALIDATE):
        heat template-validate -f $(subst validate-,,$@)
 
 overcloud.yaml: overcloud-source.yaml block-storage.yaml swift-deploy.yaml swift-source.yaml swift-storage-source.yaml ssl-source.yaml nova-compute-config.yaml $(overcloud_source_deps)
        heat template-validate -f $(subst validate-,,$@)
 
 overcloud.yaml: overcloud-source.yaml block-storage.yaml swift-deploy.yaml swift-source.yaml swift-storage-source.yaml ssl-source.yaml nova-compute-config.yaml $(overcloud_source_deps)
-       python ./tripleo_heat_merge/merge.py --scale NovaCompute=$${COMPUTESCALE:-'1'} --scale controller=$${CONTROLSCALE:-'1'} --scale SwiftStorage=$${SWIFTSTORAGESCALE='0'} --scale BlockStorage=$${BLOCKSTORAGESCALE='0'} overcloud-source.yaml block-storage.yaml swift-source.yaml swift-storage-source.yaml ssl-source.yaml swift-deploy.yaml nova-compute-config.yaml > $@.tmp
+       python ./tripleo_heat_merge/merge.py --hot --scale NovaCompute=$${COMPUTESCALE:-'1'} --scale controller=$${CONTROLSCALE:-'1'} --scale SwiftStorage=$${SWIFTSTORAGESCALE='0'} --scale BlockStorage=$${BLOCKSTORAGESCALE='0'} overcloud-source.yaml block-storage.yaml swift-source.yaml swift-storage-source.yaml ssl-source.yaml swift-deploy.yaml nova-compute-config.yaml > $@.tmp
        mv $@.tmp $@
 
 overcloud-with-block-storage-nfs.yaml: overcloud-source.yaml block-storage-nfs.yaml nfs-server-source.yaml swift-source.yaml swift-storage-source.yaml ssl-source.yaml $(overcloud_source_deps)
        # $^ won't work here because we want to list nova-compute-instance.yaml as
        # a prerequisite but don't want to pass it into merge.py
        mv $@.tmp $@
 
 overcloud-with-block-storage-nfs.yaml: overcloud-source.yaml block-storage-nfs.yaml nfs-server-source.yaml swift-source.yaml swift-storage-source.yaml ssl-source.yaml $(overcloud_source_deps)
        # $^ won't work here because we want to list nova-compute-instance.yaml as
        # a prerequisite but don't want to pass it into merge.py
-       python ./tripleo_heat_merge/merge.py --scale NovaCompute=$${COMPUTESCALE:-'1'} --scale controller=$${CONTROLSCALE:-'1'} --scale SwiftStorage=$${SWIFTSTORAGESCALE='0'} --scale BlockStorage=$${BLOCKSTORAGESCALE:-'1'} overcloud-source.yaml block-storage-nfs.yaml nfs-server-source.yaml swift-source.yaml swift-storage-source.yaml ssl-source.yaml > $@.tmp
+       python ./tripleo_heat_merge/merge.py --hot --scale NovaCompute=$${COMPUTESCALE:-'1'} --scale controller=$${CONTROLSCALE:-'1'} --scale SwiftStorage=$${SWIFTSTORAGESCALE='0'} --scale BlockStorage=$${BLOCKSTORAGESCALE:-'1'} overcloud-source.yaml block-storage-nfs.yaml nfs-server-source.yaml swift-source.yaml swift-storage-source.yaml ssl-source.yaml > $@.tmp
        mv $@.tmp $@
 
 undercloud-vm.yaml: undercloud-source.yaml undercloud-vm-nova-config.yaml undercloud-vm-nova-deploy.yaml
        mv $@.tmp $@
 
 undercloud-vm.yaml: undercloud-source.yaml undercloud-vm-nova-config.yaml undercloud-vm-nova-deploy.yaml
-       python ./tripleo_heat_merge/merge.py $^ > $@.tmp
+       python ./tripleo_heat_merge/merge.py --hot $^ > $@.tmp
        mv $@.tmp $@
 
 undercloud-bm.yaml: undercloud-source.yaml undercloud-bm-nova-config.yaml undercloud-bm-nova-deploy.yaml
        mv $@.tmp $@
 
 undercloud-bm.yaml: undercloud-source.yaml undercloud-bm-nova-config.yaml undercloud-bm-nova-deploy.yaml
-       python ./tripleo_heat_merge/merge.py $^ > $@.tmp
+       python ./tripleo_heat_merge/merge.py --hot $^ > $@.tmp
        mv $@.tmp $@
 
 undercloud-vm-ironic.yaml: undercloud-source.yaml undercloud-vm-ironic-config.yaml undercloud-vm-ironic-deploy.yaml
        mv $@.tmp $@
 
 undercloud-vm-ironic.yaml: undercloud-source.yaml undercloud-vm-ironic-config.yaml undercloud-vm-ironic-deploy.yaml
-       python ./tripleo_heat_merge/merge.py $^ > $@.tmp
+       python ./tripleo_heat_merge/merge.py --hot $^ > $@.tmp
        mv $@.tmp $@
 
 check: test
        mv $@.tmp $@
 
 check: test
index f1e8967..43ce7e6 100644 (file)
--- a/base.yaml
+++ b/base.yaml
@@ -1,77 +1,77 @@
-HeatTemplateFormatVersion: '2012-12-12'
-Description: 'Tie OpenStack components together'
-Parameters:
+heat_template_version: 2014-10-16
+description: 'Tie OpenStack components together'
+parameters:
   TemplateRoot:
   TemplateRoot:
-    Description: URL Base where all of our templates are available
-    Type: String
+    description: URL Base where all of our templates are available
+    type: string
   KeystoneAdminToken:
   KeystoneAdminToken:
-    Description: Admin Token needed for keystone
-    Type: String
-    NoEcho: true
-Resources:
+    description: Admin Token needed for keystone
+    type: string
+    hidden: true
+resources:
   RabbitMQ:
   RabbitMQ:
-    Type: AWS::CloudFormation::Stack
+    type: AWS::CloudFormation::Stack
     TemplateURL:
     TemplateURL:
-      Fn::Join:
-        - {Ref: TemplateRoot}
+      list_join:
+        - {get_param: TemplateRoot}
         - rabbitmq.yaml
         - rabbitmq.yaml
-    Parameters:
+    parameters:
       InstanceType: m1.small
       KeyName: default
       RabbitMQImage: image-rabbitmq
   MySQL:
       InstanceType: m1.small
       KeyName: default
       RabbitMQImage: image-rabbitmq
   MySQL:
-    Type: AWS::CloudFormation::Stack
+    type: AWS::CloudFormation::Stack
     TemplateURL:
     TemplateURL:
-      Fn::Join:
-        - {Ref: TemplateRoot}
+      list_join:
+        - {get_param: TemplateRoot}
         - mysql.yaml
         - mysql.yaml
-    Parameters:
+    parameters:
       InstanceType: m1.small
       KeyName: default
       MySQLImage: image-mysql
   Keystone:
       InstanceType: m1.small
       KeyName: default
       MySQLImage: image-mysql
   Keystone:
-    Type: AWS::CloudFormation::Stack
+    type: AWS::CloudFormation::Stack
     TemplateURL:
     TemplateURL:
-      Fn::Join:
-        - {Ref: TemplateRoot}
+      list_join:
+        - {get_param: TemplateRoot}
         - keystone.yaml
         - keystone.yaml
-    Parameters:
-      AdminToken: {Ref: KeystoneAdminToken}
+    parameters:
+      AdminToken: {get_param: KeystoneAdminToken}
       KeyName: default
       KeystoneDSN:
       KeyName: default
       KeystoneDSN:
-        Fn::Join:
+        list_join:
           - 'mysql://keystone:'
           - 'mysql://keystone:'
-          - {"Fn::GetAtt": [ MySQL , KeystonePassword ]}
+          - {get_attr: [ MySQL , KeystonePassword ]}
           - '@'
           - '@'
-          - {"Fn::GetAtt": [ MySQL , MySQLHost ]}
+          - {get_attr: [ MySQL , MySQLHost ]}
           - '/keystone'
   Glance:
           - '/keystone'
   Glance:
-    Type: AWS::CloudFormation::Stack
+    type: AWS::CloudFormation::Stack
     TemplateURL:
     TemplateURL:
-      Fn::Join:
-        - {Ref: TemplateRoot}
+      list_join:
+        - {get_param: TemplateRoot}
         - glance.yaml
         - glance.yaml
-    Parameters:
+    parameters:
       KeyName: default
       HeatDSN:
       KeyName: default
       HeatDSN:
-        Fn::Join:
+        list_join:
           - 'mysql://glance:'
           - 'mysql://glance:'
-          - {"Fn::GetAtt": [ MySQL, GlancePassword ] }
+          - {get_attr: [ MySQL, GlancePassword ] }
           - '@'
           - '@'
-          - {"Fn::GetAtt": [ MySQL, MySQLHost ]}
+          - {get_attr: [ MySQL, MySQLHost ]}
           - '/glance'
   Heat:
           - '/glance'
   Heat:
-    Type: AWS::CloudFormation::Stack
+    type: AWS::CloudFormation::Stack
     TemplateURL:
     TemplateURL:
-      Fn::Join:
-        - {Ref: TemplateRoot}
+      list_join:
+        - {get_param: TemplateRoot}
         - heat.yaml
         - heat.yaml
-    Parameters:
+    parameters:
       KeyName: default
       HeatDSN:
       KeyName: default
       HeatDSN:
-        Fn::Join:
+        list_join:
           - 'mysql://heat:'
           - 'mysql://heat:'
-          - {"Fn::GetAtt": [ MySQL, HeatPassword ] }
+          - {get_attr: [ MySQL, HeatPassword ] }
           - '@'
           - '@'
-          - {"Fn::GetAtt": [ MySQL, MySQLHost ]}
+          - {get_attr: [ MySQL, MySQLHost ]}
           - '/heat'
           - '/heat'
index 93ac4f6..9583576 100644 (file)
@@ -1,68 +1,68 @@
-HeatTemplateFormatVersion: '2012-12-12'
-Description: 'Common Block Storage Configuration'
-Parameters:
+heat_template_version: 2014-10-16
+description: 'Common Block Storage Configuration'
+parameters:
   BlockStorageImage:
   BlockStorageImage:
-    Type: String
-    Default: overcloud-cinder-volume
+    type: string
+    default: overcloud-cinder-volume
   OvercloudBlockStorageFlavor:
   OvercloudBlockStorageFlavor:
-    Default: baremetal
-    Description: Flavor for block storage nodes to request when deploying.
-    Type: String
-Resources:
+    default: baremetal
+    description: Flavor for block storage nodes to request when deploying.
+    type: string
+resources:
   BlockStorageAccessPolicy:
   BlockStorageAccessPolicy:
-    Type: OS::Heat::AccessPolicy
-    Properties:
+    type: OS::Heat::AccessPolicy
+    properties:
       AllowedResources:
       - BlockStorage0
   BlockStorageUser:
       AllowedResources:
       - BlockStorage0
   BlockStorageUser:
-    Type: AWS::IAM::User
-    Properties:
-      Policies: [ { Ref: BlockStorageAccessPolicy } ]
+    type: AWS::IAM::User
+    properties:
+      Policies: [ { get_resource: BlockStorageAccessPolicy } ]
   BlockStorageKey:
   BlockStorageKey:
-    Type: AWS::IAM::AccessKey
-    Properties:
+    type: AWS::IAM::AccessKey
+    properties:
       UserName:
       UserName:
-        Ref: BlockStorageUser
+        get_resource: BlockStorageUser
   BlockStorage0CompletionCondition:
   BlockStorage0CompletionCondition:
-    Type: AWS::CloudFormation::WaitCondition
-    DependsOn: controller0Config
-    Properties:
-      Handle: {Ref: BlockStorage0CompletionHandle}
+    type: AWS::CloudFormation::WaitCondition
+    depends_on: controller0Config
+    properties:
+      Handle: {get_resource: BlockStorage0CompletionHandle}
       Count: '1'
       Timeout: '1800'
   BlockStorage0CompletionHandle:
       Count: '1'
       Timeout: '1800'
   BlockStorage0CompletionHandle:
-    Type: AWS::CloudFormation::WaitConditionHandle
+    type: AWS::CloudFormation::WaitConditionHandle
   BlockStorage0:
   BlockStorage0:
-    Type: OS::Nova::Server
-    Properties:
+    type: OS::Nova::Server
+    properties:
       image:
       image:
-        {Ref: BlockStorageImage}
-      flavor: {Ref: OvercloudBlockStorageFlavor}
-      key_name: {Ref: KeyName}
-    Metadata:
+        {get_param: BlockStorageImage}
+      flavor: {get_param: OvercloudBlockStorageFlavor}
+      key_name: {get_param: KeyName}
+    metadata:
       completion-handle:
       completion-handle:
-        Ref: BlockStorage0CompletionHandle
+        get_resource: BlockStorage0CompletionHandle
       os-collect-config:
         cfn:
           access_key_id:
       os-collect-config:
         cfn:
           access_key_id:
-            Ref: BlockStorageKey
+            get_resource: BlockStorageKey
           secret_access_key:
           secret_access_key:
-            Fn::GetAtt: [ BlockStorageKey, SecretAccessKey ]
-          stack_name: {Ref: 'AWS::StackName'}
+            get_attr: [ BlockStorageKey, SecretAccessKey ]
+          stack_name: {get_param: 'AWS::StackName'}
       keystone:
       keystone:
-        host: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
+        host: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {get_attr: [controller0, networks]} ]} ] }
       cinder:
       cinder:
-        db: {"Fn::Join": ['', ['mysql://cinder:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] } , '/cinder']]}
+        db: {list_join: ['', ['mysql://cinder:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {get_attr: [controller0, networks]} ]} ] } , '/cinder']]}
         volume_size_mb: '5000'
         service-password:
         volume_size_mb: '5000'
         service-password:
-          Ref: CinderPassword
+          get_param: CinderPassword
         include_nfs_backend: 'true'
         nfs_shares:
         include_nfs_backend: 'true'
         nfs_shares:
-          - {"Fn::Join": ['', [{"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] } , ':/mnt/state/var/lib/nfs_share']]}
-      admin-password: {Ref: AdminPassword}
+          - {list_join: ['', [{"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {get_attr: [controller0, networks]} ]} ] } , ':/mnt/state/var/lib/nfs_share']]}
+      admin-password: {get_param: AdminPassword}
       rabbit:
       rabbit:
-        host: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
-        username: {Ref: RabbitUserName}
-        password: {Ref: RabbitPassword}
+        host: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {get_attr: [controller0, networks]} ]} ] }
+        username: {get_param: RabbitUserName}
+        password: {get_param: RabbitPassword}
       interfaces:
       interfaces:
-        control: {Ref: NeutronPublicInterface}
+        control: {get_param: NeutronPublicInterface}
index da5f9ed..98f62c4 100644 (file)
@@ -1,90 +1,90 @@
-HeatTemplateFormatVersion: '2012-12-12'
-Description: 'Common Block Storage Configuration'
-Parameters:
+heat_template_version: 2014-10-16
+description: 'Common Block Storage Configuration'
+parameters:
   BlockStorageImage:
   BlockStorageImage:
-    Type: String
-    Default: overcloud-cinder-volume
+    type: string
+    default: overcloud-cinder-volume
   OvercloudBlockStorageFlavor:
   OvercloudBlockStorageFlavor:
-    Default: baremetal
-    Description: Flavor for block storage nodes to request when deploying.
-    Type: String
+    default: baremetal
+    description: Flavor for block storage nodes to request when deploying.
+    type: string
   NeutronNetworkType:
   NeutronNetworkType:
-    Type: String
-    Default: 'gre'
+    type: string
+    default: 'gre'
   NeutronEnableTunnelling:
   NeutronEnableTunnelling:
-    Type: String
-    Default: True
-Resources:
+    type: string
+    default: True
+resources:
   BlockStorage0:
   BlockStorage0:
-    Type: OS::Nova::Server
-    Properties:
+    type: OS::Nova::Server
+    properties:
       image:
       image:
-        {Ref: BlockStorageImage}
-      flavor: {Ref: OvercloudBlockStorageFlavor}
-      key_name: {Ref: KeyName}
+        {get_param: BlockStorageImage}
+      flavor: {get_param: OvercloudBlockStorageFlavor}
+      key_name: {get_param: KeyName}
       user_data_format: SOFTWARE_CONFIG
   BlockStorage0Deployment:
       user_data_format: SOFTWARE_CONFIG
   BlockStorage0Deployment:
-    Type: OS::Heat::StructuredDeployment
-    Properties:
-      server: {Ref: BlockStorage0}
-      config: {Ref: BlockStorageConfig}
+    type: OS::Heat::StructuredDeployment
+    properties:
+      server: {get_resource: BlockStorage0}
+      config: {get_resource: BlockStorageConfig}
       input_values:
       input_values:
-        controller_host: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
-        cinder_dsn: {"Fn::Join": ['', ['mysql://cinder:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] } , '/cinder']]}
-        neutron_local_ip: {"Fn::Select": [0, "Fn::Select": [ctlplane, {"Fn::GetAtt": [BlockStorage0 , networks]}]]}
+        controller_host: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {get_attr: [controller0, networks]} ]} ] }
+        cinder_dsn: {list_join: ['', ['mysql://cinder:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {get_attr: [controller0, networks]} ]} ] } , '/cinder']]}
+        neutron_local_ip: {"Fn::Select": [0, "Fn::Select": [ctlplane, {get_attr: [BlockStorage0 , networks]}]]}
       signal_transport: NO_SIGNAL
   BlockStorageConfig:
       signal_transport: NO_SIGNAL
   BlockStorageConfig:
-    Type: OS::Heat::StructuredConfig
-    Properties:
+    type: OS::Heat::StructuredConfig
+    properties:
       group: os-apply-config
       config:
       group: os-apply-config
       config:
-        admin-password: {Ref: AdminPassword}
+        admin-password: {get_param: AdminPassword}
         keystone:
           host: {get_input: controller_host}
         cinder:
           db: {get_input: cinder_dsn}
           volume_size_mb:
         keystone:
           host: {get_input: controller_host}
         cinder:
           db: {get_input: cinder_dsn}
           volume_size_mb:
-            Ref: CinderLVMLoopDeviceSize
+            get_param: CinderLVMLoopDeviceSize
           service-password:
           service-password:
-            Ref: CinderPassword
+            get_param: CinderPassword
           iscsi-helper:
           iscsi-helper:
-            Ref: CinderISCSIHelper
-        admin-password: {Ref: AdminPassword}
+            get_param: CinderISCSIHelper
+        admin-password: {get_param: AdminPassword}
         rabbit:
           host: {get_input: controller_host}
         rabbit:
           host: {get_input: controller_host}
-          username: {Ref: RabbitUserName}
-          password: {Ref: RabbitPassword}
+          username: {get_param: RabbitUserName}
+          password: {get_param: RabbitPassword}
         interfaces:
         interfaces:
-          control: {Ref: NeutronPublicInterface}
+          control: {get_param: NeutronPublicInterface}
         neutron:
           ovs:
             local_ip: {get_input: neutron_local_ip}
         neutron:
           ovs:
             local_ip: {get_input: neutron_local_ip}
-            tenant_network_type: {Ref: NeutronNetworkType}
-            enable_tunneling: {Ref: NeutronEnableTunnelling}
+            tenant_network_type: {get_param: NeutronNetworkType}
+            enable_tunneling: {get_param: NeutronEnableTunnelling}
           service-password:
           service-password:
-            Ref: NeutronPassword
+            get_param: NeutronPassword
         config:
           keystone:
             host: {get_input: controller_host}
           cinder:
             db: {get_input: cinder_dsn}
             volume_size_mb:
         config:
           keystone:
             host: {get_input: controller_host}
           cinder:
             db: {get_input: cinder_dsn}
             volume_size_mb:
-              Ref: CinderLVMLoopDeviceSize
+              get_param: CinderLVMLoopDeviceSize
             service-password:
             service-password:
-              Ref: CinderPassword
+              get_param: CinderPassword
             iscsi-helper:
             iscsi-helper:
-              Ref: CinderISCSIHelper
-          admin-password: {Ref: AdminPassword}
+              get_param: CinderISCSIHelper
+          admin-password: {get_param: AdminPassword}
           rabbit:
             host: {get_input: controller_host}
           rabbit:
             host: {get_input: controller_host}
-            username: {Ref: RabbitUserName}
-            password: {Ref: RabbitPassword}
+            username: {get_param: RabbitUserName}
+            password: {get_param: RabbitPassword}
           interfaces:
           interfaces:
-            control: {Ref: NeutronPublicInterface}
+            control: {get_param: NeutronPublicInterface}
           neutron:
             ovs:
               local_ip: { get_input: neutron_local_ip }
           neutron:
             ovs:
               local_ip: { get_input: neutron_local_ip }
-              tenant_network_type: {Ref: NeutronNetworkType}
-              enable_tunneling: {Ref: NeutronEnableTunnelling}
+              tenant_network_type: {get_param: NeutronNetworkType}
+              enable_tunneling: {get_param: NeutronEnableTunnelling}
             service-password:
             service-password:
-              Ref: NeutronPassword
+              get_param: NeutronPassword
index f7a8633..1b0cb54 100644 (file)
-Description: Nova API,Keystone,Heat Engine and API,Glance,Neutron,Dedicated MySQL
+description: Nova API,Keystone,Heat Engine and API,Glance,Neutron,Dedicated MySQL
   server,Dedicated RabbitMQ Server
   server,Dedicated RabbitMQ Server
-HeatTemplateFormatVersion: '2012-12-12'
-Parameters:
+heat_template_version: 2014-10-16
+parameters:
   AdminToken:
   AdminToken:
-    Type: String
+    type: string
   BootstrapDumpPassword:
   BootstrapDumpPassword:
-    Default: ''
-    Description: Password to use for mysqldump from Bootstrap Host
-    Type: String
-    NoEcho: true
+    default: ''
+    description: Password to use for mysqldump from Bootstrap Host
+    type: string
+    hidden: true
   BootstrapHost:
   BootstrapHost:
-    Default: ''
-    Description: Load mysqldump from this Host
-    Type: String
+    default: ''
+    description: Load mysqldump from this Host
+    type: string
   BootstrapRootPassword:
   BootstrapRootPassword:
-    Default: ''
-    Description: Root password for localhost access after bootstrap
-    Type: String
-    NoEcho: true
+    default: ''
+    description: Root password for localhost access after bootstrap
+    type: string
+    hidden: true
   BootstrapSlavePassword:
   BootstrapSlavePassword:
-    Default: ''
-    Description: Password to use with BootstrapSlaveUser
-    Type: String
-    NoEcho: true
+    default: ''
+    description: Password to use with BootstrapSlaveUser
+    type: string
+    hidden: true
   BootstrapSlaveUser:
   BootstrapSlaveUser:
-    Default: ''
-    Description: User to use for replication from bootstrap host
-    Type: String
+    default: ''
+    description: User to use for replication from bootstrap host
+    type: string
   GlanceDBPassword:
   GlanceDBPassword:
-    Description: Password for connecting to glance database
-    Type: String
-    NoEcho: true
+    description: Password for connecting to glance database
+    type: string
+    hidden: true
   GlanceNotifierStrategy:
   GlanceNotifierStrategy:
-    Description: Strategy to use for Glance notification queue
-    Type: String
-    Default: noop
+    description: Strategy to use for Glance notification queue
+    type: string
+    default: noop
   GlanceLogFile:
   GlanceLogFile:
-    Description: The filepath of the file to use for logging messages from Glance.
-    Type: String
-    Default: ''
+    description: The filepath of the file to use for logging messages from Glance.
+    type: string
+    default: ''
   HeatDBPassword:
   HeatDBPassword:
-    Description: Password for accessing Heat database.
-    Type: String
-    NoEcho: true
+    description: Password for accessing Heat database.
+    type: string
+    hidden: true
   InstanceType:
   InstanceType:
-    Default: baremetal
-    Description: Use this flavor
-    Type: String
+    default: baremetal
+    description: Use this flavor
+    type: string
   KeyName:
   KeyName:
-    Default: default
-    Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
-    Type: String
+    default: default
+    description: Name of an existing EC2 KeyPair to enable SSH access to the instances
+    type: string
   KeystoneDBPassword:
   KeystoneDBPassword:
-    Description: Password for connecting to keystone
-    Type: String
-    NoEcho: true
+    description: Password for connecting to keystone
+    type: string
+    hidden: true
   NovaDBPassword:
   NovaDBPassword:
-    Description: Password for connecting to nova database
-    Type: String
-    NoEcho: true
+    description: Password for connecting to nova database
+    type: string
+    hidden: true
   NovaInterfaces:
   NovaInterfaces:
-    Default: eth0
-    Type: String
+    default: eth0
+    type: string
   NeutronDBPassword:
   NeutronDBPassword:
-    Description: Password for connecting to neutron database
-    Type: String
-    NoEcho: true
+    description: Password for connecting to neutron database
+    type: string
+    hidden: true
   NeutronInterfaces:
   NeutronInterfaces:
-    Default: eth0
-    Type: String
+    default: eth0
+    type: string
   RabbitMQPassword:
   RabbitMQPassword:
-    Description: Password for RabbitMQ
-    Type: String
-    NoEcho: true
+    description: Password for RabbitMQ
+    type: string
+    hidden: true
   RabbitUserName:
   RabbitUserName:
-    Type: String
+    type: string
   RabbitPassword:
   RabbitPassword:
-    Type: String
-    NoEcho: true
+    type: string
+    hidden: true
   ServicePassword:
   ServicePassword:
-    Description: admin_password for setting up auth in nova.
-    Type: String
-    NoEcho: true
+    description: admin_password for setting up auth in nova.
+    type: string
+    hidden: true
   controllerImage:
   controllerImage:
-    Type: String
+    type: string
   HeatStackDomainAdminPassword:
   HeatStackDomainAdminPassword:
-    Description: Password for heat_domain_admin user.
-    Type: String
-    Default: ''
-    NoEcho: true
-Resources:
+    description: Password for heat_domain_admin user.
+    type: string
+    default: ''
+    hidden: true
+resources:
   AccessPolicy:
   AccessPolicy:
-    Properties:
+    properties:
       AllowedResources:
       - controller0
       AllowedResources:
       - controller0
-    Type: OS::Heat::AccessPolicy
+    type: OS::Heat::AccessPolicy
   controller0Key:
   controller0Key:
-    Properties:
+    properties:
       UserName:
       UserName:
-        Ref: User
-    Type: AWS::IAM::AccessKey
+        get_resource: User
+    type: AWS::IAM::AccessKey
   User:
   User:
-    Properties:
+    properties:
       Policies:
       Policies:
-      - Ref: AccessPolicy
-    Type: AWS::IAM::User
+      - get_resource: AccessPolicy
+    type: AWS::IAM::User
   controller0:
   controller0:
-    Metadata:
+    metadata:
       admin-password:
       admin-password:
-        Ref: ServicePassword
+        get_param: ServicePassword
       admin-token:
       admin-token:
-        Ref: AdminToken
+        get_param: AdminToken
       mysql:
         create-users:
           - database: keystone
             username: keystone
       mysql:
         create-users:
           - database: keystone
             username: keystone
-            password: {Ref: KeystoneDBPassword}
+            password: {get_param: KeystoneDBPassword}
           - database: heat
             username: heat
           - database: heat
             username: heat
-            password: {Ref: HeatDBPassword}
+            password: {get_param: HeatDBPassword}
           - database: glance
             username: glance
           - database: glance
             username: glance
-            password: {Ref: GlanceDBPassword}
+            password: {get_param: GlanceDBPassword}
           - database: nova
             username: nova
           - database: nova
             username: nova
-            password: {Ref: NovaDBPassword}
+            password: {get_param: NovaDBPassword}
           - database: neutron
             username: neutron
           - database: neutron
             username: neutron
-            password: {Ref: NeutronDBPassword}
+            password: {get_param: NeutronDBPassword}
       glance:
         db:
       glance:
         db:
-          Fn::Join:
+          list_join:
             - ''
             - - 'mysql://glance:'
             - ''
             - - 'mysql://glance:'
-              - {Ref: GlanceDBPassword}
+              - {get_param: GlanceDBPassword}
               - '@127.0.0.1/glance'
           notifier-strategy:
               - '@127.0.0.1/glance'
           notifier-strategy:
-            Ref: GlanceNotifierStrategy
+            get_param: GlanceNotifierStrategy
           log-file:
           log-file:
-            Ref: GlanceLogFile
+            get_param: GlanceLogFile
       heat:
         db:
       heat:
         db:
-          Fn::Join:
+          list_join:
             - ''
             - - 'mysql://heat:'
             - ''
             - - 'mysql://heat:'
-              - {Ref: HeatDBPassword}
+              - {get_param: HeatDBPassword}
               - '@127.0.0.1/heat'
         access_key_id:
               - '@127.0.0.1/heat'
         access_key_id:
-          Ref: controller0Key
+          get_resource: controller0Key
         refresh:
         - resource: controller0
         secret_key:
         refresh:
         - resource: controller0
         secret_key:
-          Fn::GetAtt:
+          get_attr:
           - controller0Key
           - SecretAccessKey
         stack:
           name:
           - controller0Key
           - SecretAccessKey
         stack:
           name:
-            Ref: AWS::StackName
+            get_param: AWS::StackName
           region:
           region:
-            Ref: AWS::Region
+            get_param: AWS::Region
         auth_encryption_key: unset
         auth_encryption_key: unset
-        stack_domain_admin_password: {Ref: HeatStackDomainAdminPassword}
+        stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
       interfaces:
         control:
       interfaces:
         control:
-          Ref: NovaInterfaces
+          get_param: NovaInterfaces
       keystone:
         host:
           '127.0.0.1'
         db:
       keystone:
         host:
           '127.0.0.1'
         db:
-          Fn::Join:
+          list_join:
             - ''
             - - 'mysql://keystone:'
             - ''
             - - 'mysql://keystone:'
-              - {Ref: KeystoneDBPassword}
+              - {get_param: KeystoneDBPassword}
               - '@127.0.0.1/keystone'
       nova:
         db:
               - '@127.0.0.1/keystone'
       nova:
         db:
-          Fn::Join:
+          list_join:
             - ''
             - - 'mysql://nova:'
             - ''
             - - 'mysql://nova:'
-              - {Ref: NovaDBPassword}
+              - {get_param: NovaDBPassword}
               - '@127.0.0.1/nova'
       neutron:
         host:
           '127.0.0.1'
         ovs_db:
               - '@127.0.0.1/nova'
       neutron:
         host:
           '127.0.0.1'
         ovs_db:
-          Fn::Join:
+          list_join:
             - ''
             - - 'mysql://neutron:'
             - ''
             - - 'mysql://neutron:'
-              - {Ref: NeutronDBPassword}
+              - {get_param: NeutronDBPassword}
               - '@127.0.0.1/ovs_neutron'
       rabbit:
         host:
           '127.0.0.1'
         username:
               - '@127.0.0.1/ovs_neutron'
       rabbit:
         host:
           '127.0.0.1'
         username:
-          Ref: RabbitUserName
+          get_param: RabbitUserName
         password:
         password:
-          Ref: RabbitPassword
+          get_param: RabbitPassword
         users:
           username:
         users:
           username:
-            Ref: RabbitUserName
+            get_param: RabbitUserName
           password:
           password:
-            Ref: RabbitPassword
+            get_param: RabbitPassword
         cookie:
         cookie:
-          Fn::GetAtt:
+          get_attr:
           - RabbitCookie
           - value
       service-password:
           - RabbitCookie
           - value
       service-password:
-        Ref: ServicePassword
-    Properties:
+        get_param: ServicePassword
+    properties:
       ImageId:
       ImageId:
-        Ref: controllerImage
+        get_param: controllerImage
       InstanceType:
       InstanceType:
-        Ref: InstanceType
+        get_param: InstanceType
       KeyName:
       KeyName:
-        Ref: KeyName
-    Type: AWS::EC2::Instance
+        get_param: KeyName
+    type: AWS::EC2::Instance
index f9e7699..7ae12c1 100644 (file)
@@ -1,31 +1,31 @@
-Description: 'Debian-mirror: A Debian or Ubuntu mirror in the cloud'
-Parameters:
+description: 'Debian-mirror: A Debian or Ubuntu mirror in the cloud'
+parameters:
   DebianMirrorMirror:
   DebianMirrorMirror:
-    Default: http://archive.ubuntu.com/ubuntu
-    Description: The mirror that is to be used as the source
-    Type: String
+    default: http://archive.ubuntu.com/ubuntu
+    description: The mirror that is to be used as the source
+    type: string
   DebianMirrorSuites:
   DebianMirrorSuites:
-    Default: ["saucy", "saucy-updates", "saucy-security"]
-    Description: The suites to be mirrored
-    Type: JSON
+    default: ["saucy", "saucy-updates", "saucy-security"]
+    description: The suites to be mirrored
+    type: JSON
   DebianMirrorArchitectures:
   DebianMirrorArchitectures:
-    Default: [{"arch": "amd64"}]
-    Description: The architectures to be mirrored
-    Type: JSON
+    default: [{"arch": "amd64"}]
+    description: The architectures to be mirrored
+    type: JSON
   DebianMirrorComponents:
   DebianMirrorComponents:
-    Default: ["main", "restricted", "universe", "multiverse"]
-    Description: The components to be mirrored
-    Type: JSON
-Resources:
+    default: ["main", "restricted", "universe", "multiverse"]
+    description: The components to be mirrored
+    type: JSON
+resources:
   debianMirrorConfig:
   debianMirrorConfig:
-    Type: AWS::AutoScaling::LaunchConfiguration
-    Metadata:
+    type: AWS::AutoScaling::LaunchConfiguration
+    metadata:
       debian-mirror:
         mirror:
       debian-mirror:
         mirror:
-          Ref: DebianMirrorMirror
+          get_param: DebianMirrorMirror
         suites:
         suites:
-          Ref: DebianMirrorSuites
+          get_param: DebianMirrorSuites
         architectures:
         architectures:
-          Ref: DebianMirrorArchitectures
+          get_param: DebianMirrorArchitectures
         components:
         components:
-          Ref: DebianMirrorComponents
+          get_param: DebianMirrorComponents
index 1354f46..4c86e76 100644 (file)
@@ -1,4 +1,4 @@
-heat_template_version: 2013-05-23
+heat_template_version: 2014-10-16
 parameters:
   A:
     type: string
 parameters:
   A:
     type: string
index 3bd5549..1586a4d 100644 (file)
@@ -1,4 +1,4 @@
-heat_template_version: 2013-05-23
+heat_template_version: 2014-10-16
 parameters:
   C:
     type: string
 parameters:
   C:
     type: string
index e3019f2..1375bae 100644 (file)
@@ -1,5 +1,5 @@
 description: examples/launchconfig1_hot.yaml,examples/launchconfig2_hot.yaml
 description: examples/launchconfig1_hot.yaml,examples/launchconfig2_hot.yaml
-heat_template_version: '2013-05-23'
+heat_template_version: '2014-10-16'
 parameters:
   A:
     default: test1
 parameters:
   A:
     default: test1
index 5597bbb..6e46a32 100644 (file)
@@ -1,4 +1,4 @@
-heat_template_version: 2013-05-23
+heat_template_version: 2014-10-16
 resources:
   ComputeUser:
     type: AWS::IAM::User
 resources:
   ComputeUser:
     type: AWS::IAM::User
index 8800a6c..0f3989c 100644 (file)
@@ -1,4 +1,4 @@
-heat_template_version: 2013-05-23
+heat_template_version: 2014-10-16
 parameters:
   ComputeImage:
     type: string
 parameters:
   ComputeImage:
     type: string
index b2b6dfb..1d7dc5f 100644 (file)
@@ -1,4 +1,4 @@
-heat_template_version: 2013-05-23
+heat_template_version: 2014-10-16
 parameters:
   AllHosts:
     type: string
 parameters:
   AllHosts:
     type: string
index 282d49b..24c14dc 100644 (file)
@@ -1,4 +1,4 @@
-heat_template_version: 2013-05-23
+heat_template_version: 2014-10-16
 resources:
   ComputeUser:
     type: AWS::IAM::User
 resources:
   ComputeUser:
     type: AWS::IAM::User
index 5976e54..69f0f24 100644 (file)
@@ -1,5 +1,5 @@
 description: examples/scale_map_hot.yaml
 description: examples/scale_map_hot.yaml
-heat_template_version: '2013-05-23'
+heat_template_version: '2014-10-16'
 resources:
   ComputeUser:
     properties:
 resources:
   ComputeUser:
     properties:
index 17c0514..c9f865a 100644 (file)
@@ -1,5 +1,5 @@
 description: examples/scale1_hot.yaml
 description: examples/scale1_hot.yaml
-heat_template_version: '2013-05-23'
+heat_template_version: '2014-10-16'
 resources:
   ComputeUser:
     properties:
 resources:
   ComputeUser:
     properties:
index 3f891e4..294fed8 100644 (file)
@@ -1,5 +1,5 @@
 description: examples/source2_hot.yaml
 description: examples/source2_hot.yaml
-heat_template_version: '2013-05-23'
+heat_template_version: '2014-10-16'
 parameters:
   BImage:
     type: string
 parameters:
   BImage:
     type: string
index e8dd59a..7b47f2b 100644 (file)
@@ -1,4 +1,4 @@
-heat_template_version: 2013-05-23
+heat_template_version: 2014-10-16
 parameters:
   SourceImage:
     type: string
 parameters:
   SourceImage:
     type: string
index b330efe..8970db4 100644 (file)
@@ -1,4 +1,4 @@
-heat_template_version: 2013-05-23
+heat_template_version: 2014-10-16
 parameters:
   Foo:
     type: string
 parameters:
   Foo:
     type: string
index f8853c2..ec3bfb6 100644 (file)
@@ -1,5 +1,5 @@
 description: examples/source_include_subkey_hot.yaml
 description: examples/source_include_subkey_hot.yaml
-heat_template_version: '2013-05-23'
+heat_template_version: '2014-10-16'
 parameters:
   Foo:
     type: string
 parameters:
   Foo:
     type: string
index 4c07da0..0235f20 100644 (file)
@@ -1,5 +1,5 @@
 description: examples/source_hot.yaml
 description: examples/source_hot.yaml
-heat_template_version: '2013-05-23'
+heat_template_version: '2014-10-16'
 parameters:
   SourceImage:
     default: my_image
 parameters:
   SourceImage:
     default: my_image
index 1e0a461..06cbb6a 100644 (file)
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations
 # under the License.
 #
 # License for the specific language governing permissions and limitations
 # under the License.
 #
-heat_template_version: 2013-05-23
+heat_template_version: 2014-10-16
 description: Deploy Nagios
 parameters:
   adm_web_passwd:
 description: Deploy Nagios
 parameters:
   adm_web_passwd:
index 0fed392..bad7cce 100644 (file)
@@ -1,28 +1,28 @@
-Description: 'NFS server share configuration for testing'
-Resources:
+description: 'NFS server share configuration for testing'
+resources:
   controller0Config:
   controller0Config:
-    Type: AWS::AutoScaling::LaunchConfiguration
-    Metadata:
+    type: AWS::AutoScaling::LaunchConfiguration
+    metadata:
       nfs_server:
         shares:
           Merge::Map:
             NovaCompute0:
       nfs_server:
         shares:
           Merge::Map:
             NovaCompute0:
-              Fn::Join:
+              list_join:
               - ' '
               - - Fn::Select:
                   - 0
                   - Fn::Select:
                     - ctlplane
               - ' '
               - - Fn::Select:
                   - 0
                   - Fn::Select:
                     - ctlplane
-                    - Fn::GetAtt:
+                    - get_attr:
                       - NovaCompute0
                       - networks
             BlockStorage0:
                       - NovaCompute0
                       - networks
             BlockStorage0:
-              Fn::Join:
+              list_join:
               - ' '
               - - Fn::Select:
                   - 0
                   - Fn::Select:
                     - ctlplane
               - ' '
               - - Fn::Select:
                   - 0
                   - Fn::Select:
                     - ctlplane
-                    - Fn::GetAtt:
+                    - get_attr:
                       - BlockStorage0
                       - networks
                       - BlockStorage0
                       - networks
index c426443..081ca81 100644 (file)
@@ -1,7 +1,7 @@
-Resources:
+resources:
   NovaComputeConfig:
   NovaComputeConfig:
-    Type: OS::Heat::StructuredConfig
-    Properties:
+    type: OS::Heat::StructuredConfig
+    properties:
       group: os-apply-config
       config:
         nova:
       group: os-apply-config
       config:
         nova:
@@ -54,7 +54,7 @@ Resources:
           servers:
               - {server: {get_input: ntp_server}, fudge: "stratum 0"}
   NovaComputePassthrough:
           servers:
               - {server: {get_input: ntp_server}, fudge: "stratum 0"}
   NovaComputePassthrough:
-    Type: OS::Heat::StructuredConfig
-    Properties:
+    type: OS::Heat::StructuredConfig
+    properties:
       group: os-apply-config
       config: {get_input: passthrough_config}
       group: os-apply-config
       config: {get_input: passthrough_config}
index baf781d..d8b3a71 100644 (file)
@@ -1,13 +1,13 @@
-HeatTemplateFormatVersion: '2012-12-12'
-Description: 'Nova Compute'
-Parameters:
+heat_template_version: 2014-10-16
+description: 'Nova Compute'
+parameters:
   AdminPassword:
   AdminPassword:
-    Default: unset
-    Description: The password for the keystone admin account, used for monitoring, querying neutron etc.
-    Type: String
-    NoEcho: true
+    default: unset
+    description: The password for the keystone admin account, used for monitoring, querying neutron etc.
+    type: string
+    hidden: true
   ExtraConfig:
   ExtraConfig:
-    Description: |
+    description: |
       Additional configuration to inject into the cluster. The JSON should have
       the following structure:
         {"FILEKEY":
       Additional configuration to inject into the cluster. The JSON should have
       the following structure:
         {"FILEKEY":
@@ -42,200 +42,201 @@ Parameters:
             ]
           }
         }
             ]
           }
         }
-    Type: Json
+    type: json
   KeyName:
   KeyName:
-    Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
-    Type: String
-    Default: default
+    description: Name of an existing EC2 KeyPair to enable SSH access to the instances
+    type: string
+    default: default
   OvercloudComputeFlavor:
   OvercloudComputeFlavor:
-    Description: Use this flavor
-    Type: String
-    Default: baremetal
+    description: Use this flavor
+    type: string
+    default: baremetal
   ImageUpdatePolicy:
   ImageUpdatePolicy:
-    Default: 'REBUILD_PRESERVE_EPHEMERAL'
-    Description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
-    Type: String
+    default: 'REBUILD_PRESERVE_EPHEMERAL'
+    description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
+    type: string
   NovaImage:
   NovaImage:
-    Type: String
-    Default: overcloud-compute
+    type: string
+    default: overcloud-compute
   NtpServer:
   NtpServer:
-    Type: String
-    Default: ''
+    type: string
+    default: ''
   KeystoneHost:
   KeystoneHost:
-    Type: String
+    type: string
   NeutronFlatNetworks:
   NeutronFlatNetworks:
-    Type: String
-    Default: ''
-    Description: If set, flat networks to configure in neutron plugins.
+    type: string
+    default: ''
+    description: If set, flat networks to configure in neutron plugins.
   NeutronHost:
   NeutronHost:
-    Type: String
+    type: string
   NeutronPhysicalBridge:
   NeutronPhysicalBridge:
-    Default: ''
-    Description: An OVS bridge to create for accessing external networks.
-    Type: String
+    default: ''
+    description: An OVS bridge to create for accessing external networks.
+    type: string
   NeutronPublicInterface:
   NeutronPublicInterface:
-    Default: ''
-    Description: A port to add to the NeutronPhysicalBridge.
-    Type: String
+    default: ''
+    description: A port to add to the NeutronPhysicalBridge.
+    type: string
   RabbitUserName:
   RabbitUserName:
-    Type: String
+    type: string
   RabbitPassword:
   RabbitPassword:
-    Type: String
-    NoEcho: true
+    type: string
+    hidden: true
   CeilometerComputeAgent:
   CeilometerComputeAgent:
-    Description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly
-    Type: String
-    Default: ''
-    AllowedValues: ['', Present]
+    description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly
+    type: string
+    default: ''
+    constraints:
+    - allowed_values: ['', Present]
   CeilometerMeteringSecret:
   CeilometerMeteringSecret:
-    Default: unset
-    Description: Secret shared by the ceilometer services.
-    Type: String
-    NoEcho: true
+    default: unset
+    description: Secret shared by the ceilometer services.
+    type: string
+    hidden: true
   CeilometerPassword:
   CeilometerPassword:
-    Default: unset
-    Description: The password for the ceilometer service account.
-    Type: String
-    NoEcho: true
+    default: unset
+    description: The password for the ceilometer service account.
+    type: string
+    hidden: true
   SnmpdReadonlyUserName:
   SnmpdReadonlyUserName:
-    Default: ro_snmp_user
-    Description: The user name for SNMPd with readonly rights running on all Overcloud nodes
-    Type: String
+    default: ro_snmp_user
+    description: The user name for SNMPd with readonly rights running on all Overcloud nodes
+    type: string
   SnmpdReadonlyUserPassword:
   SnmpdReadonlyUserPassword:
-    Default: unset
-    Description: The user password for SNMPd with readonly rights running on all Overcloud nodes
-    Type: String
-    NoEcho: true
+    default: unset
+    description: The user password for SNMPd with readonly rights running on all Overcloud nodes
+    type: string
+    hidden: true
   NovaComputeDriver:
   NovaComputeDriver:
-    Type: String
-    Default: libvirt.LibvirtDriver
+    type: string
+    default: libvirt.LibvirtDriver
   NovaComputeLibvirtType:
   NovaComputeLibvirtType:
-    Type: String
-    Default: ''
+    type: string
+    default: ''
   NovaApiHost:
   NovaApiHost:
-    Type: String
+    type: string
   NovaPassword:
   NovaPassword:
-    Default: unset
-    Description: The password for the nova service account, used by nova-api.
-    Type: String
-    NoEcho: true
+    default: unset
+    description: The password for the nova service account, used by nova-api.
+    type: string
+    hidden: true
   GlanceHost:
   GlanceHost:
-    Type: String
+    type: string
   GlancePort:
   GlancePort:
-    Default: 9292
-    Description: Glance port.
-    Type: String
+    default: 9292
+    description: Glance port.
+    type: string
   GlanceProtocol:
   GlanceProtocol:
-    Default: http
-    Description: Protocol to use when connecting to glance, set to https for SSL.
-    Type: String
+    default: http
+    description: Protocol to use when connecting to glance, set to https for SSL.
+    type: string
   CeilometerDSN:
   CeilometerDSN:
-    Type: String
+    type: string
   NovaDSN:
   NovaDSN:
-    Type: String
+    type: string
   NeutronDSN:
   NeutronDSN:
-    Type: String
+    type: string
   NeutronBridgeMappings:
   NeutronBridgeMappings:
-    Type: String
+    type: string
   NeutronNetworkVLANRanges:
   NeutronNetworkVLANRanges:
-    Type: String
+    type: string
   NeutronNetworkType:
   NeutronNetworkType:
-    Type: String
+    type: string
   NeutronEnableTunnelling:
   NeutronEnableTunnelling:
-    Type: String
+    type: string
   AllNodesConfig:
   AllNodesConfig:
-    Type: String
-    Description: OS::Heat::Config to use for all nodes deployment
+    type: string
+    description: OS::Heat::Config to use for all nodes deployment
   LiveUpdateUserName:
   LiveUpdateUserName:
-    Type: String
-    Description: The live-update username for the undercloud Glance API.
-    Default: ''
+    type: string
+    description: The live-update username for the undercloud Glance API.
+    default: ''
   LiveUpdateTenantName:
   LiveUpdateTenantName:
-    Type: String
-    Description: The live-update tenant name for the undercloud Glance API.
-    Default: ''
+    type: string
+    description: The live-update tenant name for the undercloud Glance API.
+    default: ''
   LiveUpdateHost:
   LiveUpdateHost:
-    Type: String
-    Description: The IP address for the undercloud Glance API.
-    Default: ''
+    type: string
+    description: The IP address for the undercloud Glance API.
+    default: ''
   LiveUpdatePassword:
   LiveUpdatePassword:
-    Type: String
-    Default: ''
-    Description: The live-update password for the undercloud Glance API.
-    NoEcho: true
+    type: string
+    default: ''
+    description: The live-update password for the undercloud Glance API.
+    hidden: true
   LiveUpdateComputeImage:
   LiveUpdateComputeImage:
-    Type: String
-    Description: The image ID for live-updates to the overcloud compute nodes.
-    Default: ''
-Resources:
+    type: string
+    description: The image ID for live-updates to the overcloud compute nodes.
+    default: ''
+resources:
   NovaCompute0:
   NovaCompute0:
-    Type: OS::Nova::Server
-    Properties:
+    type: OS::Nova::Server
+    properties:
       image:
       image:
-        {Ref: NovaImage}
+        {get_param: NovaImage}
       image_update_policy:
       image_update_policy:
-        Ref: ImageUpdatePolicy
-      flavor: {Ref: OvercloudComputeFlavor}
-      key_name: {Ref: KeyName}
+        get_param: ImageUpdatePolicy
+      flavor: {get_param: OvercloudComputeFlavor}
+      key_name: {get_param: KeyName}
       networks:
         - network: ctlplane
       user_data_format: SOFTWARE_CONFIG
   NovaCompute0Deploy:
       networks:
         - network: ctlplane
       user_data_format: SOFTWARE_CONFIG
   NovaCompute0Deploy:
-    DependsOn: [controller0AllNodes]
-    Type: OS::Heat::StructuredDeployment
-    Properties:
+    depends_on: [controller0AllNodes]
+    type: OS::Heat::StructuredDeployment
+    properties:
       signal_transport: NO_SIGNAL
       signal_transport: NO_SIGNAL
-      config: {Ref: NovaComputeConfig}
-      server: {Ref: NovaCompute0}
+      config: {get_resource: NovaComputeConfig}
+      server: {get_resource: NovaCompute0}
       input_values:
       input_values:
-        nova_compute_driver: {Ref: NovaComputeDriver}
-        nova_compute_libvirt_type: {Ref: NovaComputeLibvirtType}
-        nova_dsn: {Ref: NovaDSN}
-        nova_api_host: {Ref: NovaApiHost}
-        nova_password: {Ref: NovaPassword}
-        ceilometer_dsn: {Ref: CeilometerDSN}
-        ceilometer_metering_secret: {Ref: CeilometerMeteringSecret}
-        ceilometer_password: {Ref: CeilometerPassword}
-        ceilometer_compute_agent: {Ref: CeilometerComputeAgent}
-        snmpd_readonly_user_name: {Ref: SnmpdReadonlyUserName}
-        snmpd_readonly_user_password: {Ref: SnmpdReadonlyUserPassword}
-        glance_host: {Ref: GlanceHost}
-        glance_port: {Ref: GlancePort}
-        glance_protocol: {Ref: GlanceProtocol}
-        keystone_host: {Ref: KeystoneHost}
-        neutron_flat_networks: {Ref: NeutronFlatNetworks}
-        neutron_host: {Ref: NeutronHost}
-        neutron_dsn: {Ref: NeutronDSN}
-        neutron_local_ip: {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { "Fn::GetAtt": [ NovaCompute0, networks ]}]]}
-        neutron_tenant_network_type: {Ref: NeutronNetworkType}
-        neutron_network_vlan_ranges: {Ref: NeutronNetworkVLANRanges}
-        neutron_bridge_mappings: {Ref: NeutronBridgeMappings}
-        neutron_enable_tunneling: {Ref: NeutronEnableTunnelling}
-        neutron_physical_bridge: {Ref: NeutronPhysicalBridge}
-        neutron_public_interface: {Ref: NeutronPublicInterface}
-        neutron_password: {Ref: NeutronPassword}
-        admin_password: {Ref: AdminPassword}
-        rabbit_username: {Ref: RabbitUserName}
-        rabbit_password: {Ref: RabbitPassword}
-        live_update_host: {Ref: LiveUpdateHost}
-        live_update_username: {Ref: LiveUpdateUserName}
-        live_update_password: {Ref: LiveUpdatePassword}
-        live_update_tenant_name: {Ref: LiveUpdateTenantName}
-        nova_image: {Ref: NovaImage}
-        live_update_image_id: {Ref: LiveUpdateComputeImage}
-        ntp_server: {Ref: NtpServer}
+        nova_compute_driver: {get_param: NovaComputeDriver}
+        nova_compute_libvirt_type: {get_param: NovaComputeLibvirtType}
+        nova_dsn: {get_param: NovaDSN}
+        nova_api_host: {get_param: NovaApiHost}
+        nova_password: {get_param: NovaPassword}
+        ceilometer_dsn: {get_param: CeilometerDSN}
+        ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
+        ceilometer_password: {get_param: CeilometerPassword}
+        ceilometer_compute_agent: {get_param: CeilometerComputeAgent}
+        snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
+        snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
+        glance_host: {get_param: GlanceHost}
+        glance_port: {get_param: GlancePort}
+        glance_protocol: {get_param: GlanceProtocol}
+        keystone_host: {get_param: KeystoneHost}
+        neutron_flat_networks: {get_param: NeutronFlatNetworks}
+        neutron_host: {get_param: NeutronHost}
+        neutron_dsn: {get_param: NeutronDSN}
+        neutron_local_ip: {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { get_attr: [ NovaCompute0, networks ]}]]}
+        neutron_tenant_network_type: {get_param: NeutronNetworkType}
+        neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
+        neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
+        neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
+        neutron_physical_bridge: {get_param: NeutronPhysicalBridge}
+        neutron_public_interface: {get_param: NeutronPublicInterface}
+        neutron_password: {get_param: NeutronPassword}
+        admin_password: {get_param: AdminPassword}
+        rabbit_username: {get_param: RabbitUserName}
+        rabbit_password: {get_param: RabbitPassword}
+        live_update_host: {get_param: LiveUpdateHost}
+        live_update_username: {get_param: LiveUpdateUserName}
+        live_update_password: {get_param: LiveUpdatePassword}
+        live_update_tenant_name: {get_param: LiveUpdateTenantName}
+        nova_image: {get_param: NovaImage}
+        live_update_image_id: {get_param: LiveUpdateComputeImage}
+        ntp_server: {get_param: NtpServer}
   NovaCompute0AllNodesDeploy:
   NovaCompute0AllNodesDeploy:
-    DependsOn: [NovaCompute0Passthrough]
-    Type: OS::Heat::StructuredDeployment
-    Properties:
-      config: {Ref: AllNodesConfig}
-      server: {Ref: NovaCompute0}
+    depends_on: [NovaCompute0Passthrough]
+    type: OS::Heat::StructuredDeployment
+    properties:
+      config: {get_param: AllNodesConfig}
+      server: {get_resource: NovaCompute0}
   NovaCompute0Passthrough:
   NovaCompute0Passthrough:
-    DependsOn: [NovaCompute0Deploy]
-    Type: OS::Heat::StructuredDeployment
-    Properties:
-      config: {Ref: NovaComputePassthrough}
-      server: {Ref: NovaCompute0}
+    depends_on: [NovaCompute0Deploy]
+    type: OS::Heat::StructuredDeployment
+    properties:
+      config: {get_resource: NovaComputePassthrough}
+      server: {get_resource: NovaCompute0}
       signal_transport: NO_SIGNAL
       input_values:
       signal_transport: NO_SIGNAL
       input_values:
-        passthrough_config: {Ref: ExtraConfig}
+        passthrough_config: {get_param: ExtraConfig}
index b8216cd..acca8ea 100644 (file)
@@ -1,33 +1,33 @@
-Description: Nova API,Keystone,Heat Engine and API,Glance,Neutron,Dedicated MySQL
+description: Nova API,Keystone,Heat Engine and API,Glance,Neutron,Dedicated MySQL
   server,Dedicated RabbitMQ Server,Group of Nova Computes
   server,Dedicated RabbitMQ Server,Group of Nova Computes
-HeatTemplateFormatVersion: '2012-12-12'
-Parameters:
+heat_template_version: 2014-10-16
+parameters:
   AdminPassword:
   AdminPassword:
-    Default: unset
-    Description: The password for the keystone admin account, used for monitoring, querying neutron etc.
-    Type: String
-    NoEcho: true
+    default: unset
+    description: The password for the keystone admin account, used for monitoring, querying neutron etc.
+    type: string
+    hidden: true
   AdminToken:
   AdminToken:
-    Default: unset
-    Description: The keystone auth secret.
-    Type: String
-    NoEcho: true
+    default: unset
+    description: The keystone auth secret.
+    type: string
+    hidden: true
   CinderPassword:
   CinderPassword:
-    Default: unset
-    Description: The password for the cinder service account, used by cinder-api.
-    Type: String
-    NoEcho: true
+    default: unset
+    description: The password for the cinder service account, used by cinder-api.
+    type: string
+    hidden: true
   CinderISCSIHelper:
   CinderISCSIHelper:
-    Default: tgtadm
-    Description: The iSCSI helper to use with cinder.
-    Type: String
+    default: tgtadm
+    description: The iSCSI helper to use with cinder.
+    type: string
   CinderLVMLoopDeviceSize:
   CinderLVMLoopDeviceSize:
-    Default: 5000
-    Description: The size of the loopback file used by the cinder LVM driver.
-    Type: Number
+    default: 5000
+    description: The size of the loopback file used by the cinder LVM driver.
+    type: number
   ExtraConfig:
   ExtraConfig:
-    Default: {}
-    Description: |
+    default: {}
+    description: |
       Additional configuration to inject into the cluster. The JSON should have
       the following structure:
         {"FILEKEY":
       Additional configuration to inject into the cluster. The JSON should have
       the following structure:
         {"FILEKEY":
@@ -62,302 +62,303 @@ Parameters:
             ]
           }
         }
             ]
           }
         }
-    Type: Json
+    type: json
   OvercloudControlFlavor:
   OvercloudControlFlavor:
-    Default: baremetal
-    Description: Flavor for control nodes to request when deploying.
-    Type: String
+    default: baremetal
+    description: Flavor for control nodes to request when deploying.
+    type: string
   OvercloudComputeFlavor:
   OvercloudComputeFlavor:
-    Default: baremetal
-    Description: Flavor for compute nodes to request when deploying.
-    Type: String
+    default: baremetal
+    description: Flavor for compute nodes to request when deploying.
+    type: string
   GlancePort:
   GlancePort:
-    Default: 9292
-    Description: Glance port.
-    Type: String
+    default: 9292
+    description: Glance port.
+    type: string
   GlanceProtocol:
   GlanceProtocol:
-    Default: http
-    Description: Protocol to use when connecting to glance, set to https for SSL.
-    Type: String
+    default: http
+    description: Protocol to use when connecting to glance, set to https for SSL.
+    type: string
   GlancePassword:
   GlancePassword:
-    Default: unset
-    Description: The password for the glance service account, used by the glance services.
-    Type: String
-    NoEcho: true
+    default: unset
+    description: The password for the glance service account, used by the glance services.
+    type: string
+    hidden: true
   GlanceNotifierStrategy:
   GlanceNotifierStrategy:
-    Description: Strategy to use for Glance notification queue
-    Type: String
-    Default: noop
+    description: Strategy to use for Glance notification queue
+    type: string
+    default: noop
   GlanceLogFile:
   GlanceLogFile:
-    Description: The filepath of the file to use for logging messages from Glance.
-    Type: String
-    Default: ''
+    description: The filepath of the file to use for logging messages from Glance.
+    type: string
+    default: ''
   HeatPassword:
   HeatPassword:
-    Default: unset
-    Description: The password for the Heat service account, used by the Heat services.
-    Type: String
-    NoEcho: true
+    default: unset
+    description: The password for the Heat service account, used by the Heat services.
+    type: string
+    hidden: true
   ImageUpdatePolicy:
   ImageUpdatePolicy:
-    Default: 'REBUILD_PRESERVE_EPHEMERAL'
-    Description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
-    Type: String
+    default: 'REBUILD_PRESERVE_EPHEMERAL'
+    description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
+    type: string
   KeyName:
   KeyName:
-    Default: default
-    Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
-    Type: String
+    default: default
+    description: Name of an existing EC2 KeyPair to enable SSH access to the instances
+    type: string
   NeutronBridgeMappings:
   NeutronBridgeMappings:
-    Description: The OVS logical->physical bridge mappings to use.
-    Type: String
-    Default: ''
+    description: The OVS logical->physical bridge mappings to use.
+    type: string
+    default: ''
   NeutronPassword:
   NeutronPassword:
-    Default: unset
-    Description: The password for the neutron service account, used by neutron agents.
-    Type: String
-    NoEcho: true
+    default: unset
+    description: The password for the neutron service account, used by neutron agents.
+    type: string
+    hidden: true
   CeilometerComputeAgent:
   CeilometerComputeAgent:
-    Description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly
-    Type: String
-    Default: ''
-    AllowedValues: ['', Present]
+    description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly
+    type: string
+    default: ''
+    constraints:
+    - allowed_values: ['', Present]
   CeilometerMeteringSecret:
   CeilometerMeteringSecret:
-    Default: unset
-    Description: Secret shared by the ceilometer services.
-    Type: String
-    NoEcho: true
+    default: unset
+    description: Secret shared by the ceilometer services.
+    type: string
+    hidden: true
   CeilometerPassword:
   CeilometerPassword:
-    Default: unset
-    Description: The password for the ceilometer service account.
-    Type: String
-    NoEcho: true
+    default: unset
+    description: The password for the ceilometer service account.
+    type: string
+    hidden: true
   SnmpdReadonlyUserName:
   SnmpdReadonlyUserName:
-    Default: ro_snmp_user
-    Description: The user name for SNMPd with readonly rights running on all Overcloud nodes
-    Type: String
+    default: ro_snmp_user
+    description: The user name for SNMPd with readonly rights running on all Overcloud nodes
+    type: string
   SnmpdReadonlyUserPassword:
   SnmpdReadonlyUserPassword:
-    Default: unset
-    Description: The user password for SNMPd with readonly rights running on all Overcloud nodes
-    Type: String
-    NoEcho: true
+    default: unset
+    description: The user password for SNMPd with readonly rights running on all Overcloud nodes
+    type: string
+    hidden: true
   CloudName:
   CloudName:
-    Default: ''
-    Description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
-    Type: String
+    default: ''
+    description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
+    type: string
   NovaComputeDriver:
   NovaComputeDriver:
-    Default: libvirt.LibvirtDriver
-    Type: String
+    default: libvirt.LibvirtDriver
+    type: string
   NovaComputeLibvirtType:
   NovaComputeLibvirtType:
-    Default: ''
-    Type: String
+    default: ''
+    type: string
   NovaImage:
   NovaImage:
-    Type: String
-    Default: overcloud-compute
+    type: string
+    default: overcloud-compute
   NovaPassword:
   NovaPassword:
-    Default: unset
-    Description: The password for the nova service account, used by nova-api.
-    Type: String
-    NoEcho: true
+    default: unset
+    description: The password for the nova service account, used by nova-api.
+    type: string
+    hidden: true
   NeutronFlatNetworks:
   NeutronFlatNetworks:
-    Type: String
-    Default: ''
-    Description: If set, flat networks to configure in neutron plugins.
+    type: string
+    default: ''
+    description: If set, flat networks to configure in neutron plugins.
   HypervisorNeutronPhysicalBridge:
   HypervisorNeutronPhysicalBridge:
-    Default: ''
-    Description: An OVS bridge to create on each hypervisor.
-    Type: String
+    default: ''
+    description: An OVS bridge to create on each hypervisor.
+    type: string
   HypervisorNeutronPublicInterface:
   HypervisorNeutronPublicInterface:
-    Default: ''
-    Description: What interface to add to the HypervisorNeutronPhysicalBridge.
-    Type: String
+    default: ''
+    description: What interface to add to the HypervisorNeutronPhysicalBridge.
+    type: string
   NeutronPublicInterface:
   NeutronPublicInterface:
-    Default: eth0
-    Description: What interface to bridge onto br-ex for network nodes.
-    Type: String
+    default: eth0
+    description: What interface to bridge onto br-ex for network nodes.
+    type: string
   NeutronPublicInterfaceDefaultRoute:
   NeutronPublicInterfaceDefaultRoute:
-    Default: ''
-    Description: A custom default route for the NeutronPublicInterface.
-    Type: String
+    default: ''
+    description: A custom default route for the NeutronPublicInterface.
+    type: string
   NeutronPublicInterfaceIP:
   NeutronPublicInterfaceIP:
-    Default: ''
-    Description: A custom IP address to put onto the NeutronPublicInterface.
-    Type: String
+    default: ''
+    description: A custom IP address to put onto the NeutronPublicInterface.
+    type: string
   NeutronPublicInterfaceRawDevice:
   NeutronPublicInterfaceRawDevice:
-    Default: ''
-    Description: If set, the public interface is a vlan with this device as the raw device.
-    Type: String
+    default: ''
+    description: If set, the public interface is a vlan with this device as the raw device.
+    type: string
   NeutronControlPlaneID:
   NeutronControlPlaneID:
-    Default: ''
-    Type: String
-    Description: Neutron ID for ctlplane network.
+    default: ''
+    type: string
+    description: Neutron ID for ctlplane network.
   NeutronDnsmasqOptions:
   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.
-    Type: String
+    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.
+    type: string
   controllerImage:
   controllerImage:
-    Type: String
-    Default: overcloud-control
+    type: string
+    default: overcloud-control
   NtpServer:
   NtpServer:
-    Type: String
-    Default: ''
+    type: string
+    default: ''
   RabbitUserName:
   RabbitUserName:
-    Default: guest
-    Description: The username for RabbitMQ
-    Type: String
+    default: guest
+    description: The username for RabbitMQ
+    type: string
   RabbitPassword:
   RabbitPassword:
-    Default: guest
-    Description: The password for RabbitMQ
-    Type: String
-    NoEcho: true
+    default: guest
+    description: The password for RabbitMQ
+    type: string
+    hidden: true
   RabbitCookieSalt:
   RabbitCookieSalt:
-    Type: String
-    Default: unset
-    Description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
+    type: string
+    default: unset
+    description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
   HeatStackDomainAdminPassword:
   HeatStackDomainAdminPassword:
-    Description: Password for heat_domain_admin user.
-    Type: String
-    Default: ''
-    NoEcho: true
+    description: Password for heat_domain_admin user.
+    type: string
+    default: ''
+    hidden: true
   LiveUpdateUserName:
   LiveUpdateUserName:
-    Type: String
-    Description: The live-update username for the undercloud Glance API.
-    Default: ''
+    type: string
+    description: The live-update username for the undercloud Glance API.
+    default: ''
   LiveUpdateTenantName:
   LiveUpdateTenantName:
-    Type: String
-    Description: The live-update tenant name for the undercloud Glance API.
-    Default: ''
+    type: string
+    description: The live-update tenant name for the undercloud Glance API.
+    default: ''
   LiveUpdateHost:
   LiveUpdateHost:
-    Type: String
-    Description: The IP address for the undercloud Glance API.
-    Default: ''
+    type: string
+    description: The IP address for the undercloud Glance API.
+    default: ''
   LiveUpdatePassword:
   LiveUpdatePassword:
-    Type: String
-    Default: ''
-    Description: The live-update password for the undercloud Glance API.
-    NoEcho: true
+    type: string
+    default: ''
+    description: The live-update password for the undercloud Glance API.
+    hidden: true
   LiveUpdateComputeImage:
   LiveUpdateComputeImage:
-    Type: String
-    Description: The image ID for live-updates to the overcloud compute nodes.
-    Default: ''
+    type: string
+    description: The image ID for live-updates to the overcloud compute nodes.
+    default: ''
   MysqlInnodbBufferPoolSize:
   MysqlInnodbBufferPoolSize:
-    Description: >
+    description: >
         Specifies the size of the buffer pool in megabytes. Setting to
         zero should be interpreted as "no value" and will defer to the
         lower level default.
         Specifies the size of the buffer pool in megabytes. Setting to
         zero should be interpreted as "no value" and will defer to the
         lower level default.
-    Type: Number
-    Default: 0
+    type: number
+    default: 0
   ControlVirtualInterface:
   ControlVirtualInterface:
-    Default: 'br-ex'
-    Description: Interface where virtual ip will be assigned.
-    Type: String
+    default: 'br-ex'
+    description: Interface where virtual ip will be assigned.
+    type: string
   ControlFixedIPs:
   ControlFixedIPs:
-    Default: []
-    Description: Should be used for arbitrary ips.
-    Type: Json
+    default: []
+    description: Should be used for arbitrary ips.
+    type: json
   PublicVirtualFixedIPs:
   PublicVirtualFixedIPs:
-    Default: []
-    Description: |
+    default: []
+    description: |
         Control the IP allocation for the PublicVirtualInterface port. E.g.
         [{'ip_address':'1.2.3.4'}]
         Control the IP allocation for the PublicVirtualInterface port. E.g.
         [{'ip_address':'1.2.3.4'}]
-    Type: Json
+    type: json
   PublicVirtualInterface:
   PublicVirtualInterface:
-    Default: 'br-ex'
-    Description: >
+    default: 'br-ex'
+    description: >
         Specifies the interface where the public-facing virtual ip will be assigned.
         This should be int_public when a VLAN is being used.
         Specifies the interface where the public-facing virtual ip will be assigned.
         This should be int_public when a VLAN is being used.
-    Type: String
+    type: string
   PublicVirtualNetwork:
   PublicVirtualNetwork:
-    Default: 'ctlplane'
-    Type: String
-    Description: >
+    default: 'ctlplane'
+    type: string
+    description: >
         Neutron network to allocate public virtual IP port on.
   KeystoneCACertificate:
         Neutron network to allocate public virtual IP port on.
   KeystoneCACertificate:
-    Default: ''
-    Description: Keystone self-signed certificate authority certificate.
-    Type: String
+    default: ''
+    description: Keystone self-signed certificate authority certificate.
+    type: string
   KeystoneSigningCertificate:
   KeystoneSigningCertificate:
-    Default: ''
-    Description: Keystone certificate for verifying token validity.
-    Type: String
+    default: ''
+    description: Keystone certificate for verifying token validity.
+    type: string
   KeystoneSigningKey:
   KeystoneSigningKey:
-    Default: ''
-    Description: Keystone key for signing tokens.
-    Type: String
-    NoEcho: true
-Resources:
+    default: ''
+    description: Keystone key for signing tokens.
+    type: string
+    hidden: true
+resources:
   ControlVirtualIP:
   ControlVirtualIP:
-    Type: OS::Neutron::Port
-    Properties:
+    type: OS::Neutron::Port
+    properties:
       name: control_virtual_ip
       name: control_virtual_ip
-      network_id: {Ref: NeutronControlPlaneID}
+      network_id: {get_param: NeutronControlPlaneID}
       fixed_ips:
       fixed_ips:
-        Ref: ControlFixedIPs
+        get_param: ControlFixedIPs
   MysqlClusterUniquePart:
   MysqlClusterUniquePart:
-    Type: OS::Heat::RandomString
-    Properties:
+    type: OS::Heat::RandomString
+    properties:
       length: 10
   PublicVirtualIP:
       length: 10
   PublicVirtualIP:
-    Type: OS::Neutron::Port
-    Properties:
+    type: OS::Neutron::Port
+    properties:
       name: public_virtual_ip
       name: public_virtual_ip
-      network: {Ref: PublicVirtualNetwork}
+      network: {get_param: PublicVirtualNetwork}
       fixed_ips:
       fixed_ips:
-        Ref: PublicVirtualFixedIPs
+        get_param: PublicVirtualFixedIPs
   RabbitCookie:
   RabbitCookie:
-    Type: OS::Heat::RandomString
-    Properties:
+    type: OS::Heat::RandomString
+    properties:
       length: 20
       salt:
       length: 20
       salt:
-        Ref: RabbitCookieSalt
+        get_param: RabbitCookieSalt
   NovaCompute0Deploy:
   NovaCompute0Deploy:
-    Type: FileInclude
+    type: FileInclude
     Path: nova-compute-instance.yaml
     Path: nova-compute-instance.yaml
-    SubKey: Resources.NovaCompute0Deploy
-    Parameters:
-        NovaApiHost: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
-        KeystoneHost: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
-        NeutronHost: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
-        GlanceHost: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
-        NovaDSN: {"Fn::Join": ['', ['mysql://nova:unset@', {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}, '/nova']]}
-        CeilometerDSN: {"Fn::Join": ['', ['mysql://ceilometer:unset@', {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}, '/ceilometer']]}
-        NeutronDSN: {"Fn::Join": ['', ['mysql://neutron:unset@', {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}, '/ovs_neutron']]}
+    SubKey: resources.NovaCompute0Deploy
+    parameters:
+        NovaApiHost: {'Fn::Select': [ip_address, 'Fn::Select': [0, get_attr: [ControlVirtualIP, fixed_ips]]]}
+        KeystoneHost: {'Fn::Select': [ip_address, 'Fn::Select': [0, get_attr: [ControlVirtualIP, fixed_ips]]]}
+        NeutronHost: {'Fn::Select': [ip_address, 'Fn::Select': [0, get_attr: [ControlVirtualIP, fixed_ips]]]}
+        GlanceHost: {'Fn::Select': [ip_address, 'Fn::Select': [0, get_attr: [ControlVirtualIP, fixed_ips]]]}
+        NovaDSN: {list_join: ['', ['mysql://nova:unset@', {'Fn::Select': [ip_address, 'Fn::Select': [0, get_attr: [ControlVirtualIP, fixed_ips]]]}, '/nova']]}
+        CeilometerDSN: {list_join: ['', ['mysql://ceilometer:unset@', {'Fn::Select': [ip_address, 'Fn::Select': [0, get_attr: [ControlVirtualIP, fixed_ips]]]}, '/ceilometer']]}
+        NeutronDSN: {list_join: ['', ['mysql://neutron:unset@', {'Fn::Select': [ip_address, 'Fn::Select': [0, get_attr: [ControlVirtualIP, fixed_ips]]]}, '/ovs_neutron']]}
         NeutronNetworkType: "gre"
         NeutronEnableTunnelling: "True"
         NeutronFlatNetworks:
         NeutronNetworkType: "gre"
         NeutronEnableTunnelling: "True"
         NeutronFlatNetworks:
-            Ref: NeutronFlatNetworks
+            get_param: NeutronFlatNetworks
         NeutronNetworkVLANRanges: ""
         NeutronPhysicalBridge:
         NeutronNetworkVLANRanges: ""
         NeutronPhysicalBridge:
-            Ref: HypervisorNeutronPhysicalBridge
+            get_param: HypervisorNeutronPhysicalBridge
         NeutronPublicInterface:
         NeutronPublicInterface:
-            Ref: HypervisorNeutronPublicInterface
+            get_param: HypervisorNeutronPublicInterface
         NeutronBridgeMappings:
         NeutronBridgeMappings:
-            Ref: NeutronBridgeMappings
+            get_param: NeutronBridgeMappings
   NovaCompute0AllNodes:
   NovaCompute0AllNodes:
-    Type: FileInclude
+    type: FileInclude
     Path: nova-compute-instance.yaml
     Path: nova-compute-instance.yaml
-    SubKey: Resources.NovaCompute0AllNodesDeploy
-    Parameters:
-        AllNodesConfig: {Ref: allNodesConfig}
+    SubKey: resources.NovaCompute0AllNodesDeploy
+    parameters:
+        AllNodesConfig: {get_resource: allNodesConfig}
   NovaCompute0Passthrough:
   NovaCompute0Passthrough:
-    Type: FileInclude
+    type: FileInclude
     Path: nova-compute-instance.yaml
     Path: nova-compute-instance.yaml
-    SubKey: Resources.NovaCompute0Passthrough
-    Parameters:
-        passthrough_config: {Ref: ExtraConfig}
+    SubKey: resources.NovaCompute0Passthrough
+    parameters:
+        passthrough_config: {get_param: ExtraConfig}
   NovaCompute0:
   NovaCompute0:
-    Type: FileInclude
+    type: FileInclude
     Path: nova-compute-instance.yaml
     Path: nova-compute-instance.yaml
-    SubKey: Resources.NovaCompute0
+    SubKey: resources.NovaCompute0
   controllerConfig:
   controllerConfig:
-    Type: OS::Heat::StructuredConfig
-    Properties:
+    type: OS::Heat::StructuredConfig
+    properties:
       group: os-apply-config
       config:
         admin-password:
       group: os-apply-config
       config:
         admin-password:
-          Ref: AdminPassword
+          get_param: AdminPassword
         admin-token:
         admin-token:
-          Ref: AdminToken
+          get_param: AdminToken
         bootstack:
           public_interface_ip:
         bootstack:
           public_interface_ip:
-            Ref: NeutronPublicInterfaceIP
+            get_param: NeutronPublicInterfaceIP
         bootstrap_host:
           bootstrap_nodeid:
             Fn::Select:
         bootstrap_host:
           bootstrap_nodeid:
             Fn::Select:
@@ -368,18 +369,18 @@ Resources:
                   controller0:
                   - Fn::Select:
                     - name
                   controller0:
                   - Fn::Select:
                     - name
-                    - Fn::GetAtt:
+                    - get_attr:
                       - controller0
                       - show
           nodeid: {get_input: bootstack_nodeid}
         cinder:
           db: mysql://cinder:unset@localhost/cinder
           volume_size_mb:
                       - controller0
                       - show
           nodeid: {get_input: bootstack_nodeid}
         cinder:
           db: mysql://cinder:unset@localhost/cinder
           volume_size_mb:
-            Ref: CinderLVMLoopDeviceSize
+            get_param: CinderLVMLoopDeviceSize
           service-password:
           service-password:
-            Ref: CinderPassword
+            get_param: CinderPassword
           iscsi-helper:
           iscsi-helper:
-            Ref: CinderISCSIHelper
+            get_param: CinderISCSIHelper
         controller-address:
           get_input: controller_host
         corosync:
         controller-address:
           get_input: controller_host
         corosync:
@@ -388,7 +389,7 @@ Resources:
           nodes:
             Merge::Map:
               controller0:
           nodes:
             Merge::Map:
               controller0:
-                ip: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
+                ip: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {get_attr: [controller0, networks]} ]} ] }
         pacemaker:
           stonith_enabled : false
           recheck_interval : 5
         pacemaker:
           stonith_enabled : false
           recheck_interval : 5
@@ -402,26 +403,26 @@ Resources:
           host:
             get_input: controller_virtual_ip
           port:
           host:
             get_input: controller_virtual_ip
           port:
-            Ref: GlancePort
+            get_param: GlancePort
           protocol:
           protocol:
-            Ref: GlanceProtocol
+            get_param: GlanceProtocol
           service-password:
           service-password:
-            Ref: GlancePassword
+            get_param: GlancePassword
           swift-store-user: service:glance
           swift-store-key:
           swift-store-user: service:glance
           swift-store-key:
-            Ref: GlancePassword
+            get_param: GlancePassword
           notifier-strategy:
           notifier-strategy:
-            Ref: GlanceNotifierStrategy
+            get_param: GlanceNotifierStrategy
           log-file:
           log-file:
-            Ref: GlanceLogFile
+            get_param: GlanceLogFile
         heat:
           admin_password:
         heat:
           admin_password:
-            Ref: HeatPassword
+            get_param: HeatPassword
           admin_tenant_name: service
           admin_user: heat
           auth_encryption_key: unset___________
           db: mysql://heat:unset@localhost/heat
           admin_tenant_name: service
           admin_user: heat
           auth_encryption_key: unset___________
           db: mysql://heat:unset@localhost/heat
-          stack_domain_admin_password: {Ref: HeatStackDomainAdminPassword}
+          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}
           waitcondition_server_url: {get_input: heat.waitcondition_server_url}
           watch_server_url: {get_input: heat.watch_server_url}
           metadata_server_url: {get_input: heat.metadata_server_url}
           waitcondition_server_url: {get_input: heat.waitcondition_server_url}
@@ -431,58 +432,58 @@ Resources:
               nodes:
                 Merge::Map:
                   controller0:
               nodes:
                 Merge::Map:
                   controller0:
-                    {"Fn::Select": [ name, {"Fn::GetAtt": [controller0, show]} ] }
+                    {"Fn::Select": [ name, {get_attr: [controller0, show]} ] }
         keystone:
           db: mysql://keystone:unset@localhost/keystone
           host:
             get_input: controller_virtual_ip
         keystone:
           db: mysql://keystone:unset@localhost/keystone
           host:
             get_input: controller_virtual_ip
-          ca_certificate: {Ref: KeystoneCACertificate}
-          signing_key: {Ref: KeystoneSigningKey}
-          signing_certificate: {Ref: KeystoneSigningCertificate}
+          ca_certificate: {get_param: KeystoneCACertificate}
+          signing_key: {get_param: KeystoneSigningKey}
+          signing_certificate: {get_param: KeystoneSigningCertificate}
         mysql:
         mysql:
-          innodb_buffer_pool_size: {Ref: MysqlInnodbBufferPoolSize}
+          innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
           nodes:
             Merge::Map:
               controller0:
           nodes:
             Merge::Map:
               controller0:
-                ip: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
+                ip: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {get_attr: [controller0, networks]} ]} ] }
           cluster_name:
           cluster_name:
-            Fn::Join:
+            list_join:
               - '-'
               - - 'tripleo'
               - '-'
               - - 'tripleo'
-                - {Ref: MysqlClusterUniquePart}
+                - {get_resource: MysqlClusterUniquePart}
         neutron:
         neutron:
-          flat-networks: {Ref: NeutronFlatNetworks}
+          flat-networks: {get_param: NeutronFlatNetworks}
           host: {get_input: controller_virtual_ip}
           metadata_proxy_shared_secret: unset
           ovs:
             enable_tunneling: 'True'
             local_ip:
               get_input: controller_host
           host: {get_input: controller_virtual_ip}
           metadata_proxy_shared_secret: unset
           ovs:
             enable_tunneling: 'True'
             local_ip:
               get_input: controller_host
-            bridge_mappings: {Ref: NeutronBridgeMappings}
+            bridge_mappings: {get_param: NeutronBridgeMappings}
             public_interface:
             public_interface:
-              Ref: NeutronPublicInterface
+              get_param: NeutronPublicInterface
             public_interface_raw_device:
             public_interface_raw_device:
-              Ref: NeutronPublicInterfaceRawDevice
+              get_param: NeutronPublicInterfaceRawDevice
             public_interface_route:
             public_interface_route:
-              Ref: NeutronPublicInterfaceDefaultRoute
+              get_param: NeutronPublicInterfaceDefaultRoute
             physical_bridge: br-ex
             tenant_network_type: gre
           ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8
           service-password:
             physical_bridge: br-ex
             tenant_network_type: gre
           ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8
           service-password:
-            Ref: NeutronPassword
+            get_param: NeutronPassword
           dnsmasq-options:
           dnsmasq-options:
-            Ref: NeutronDnsmasqOptions
+            get_param: NeutronDnsmasqOptions
         ceilometer:
           db: mysql://ceilometer:unset@localhost/ceilometer
         ceilometer:
           db: mysql://ceilometer:unset@localhost/ceilometer
-          metering_secret: {Ref: CeilometerMeteringSecret}
+          metering_secret: {get_param: CeilometerMeteringSecret}
           service-password:
           service-password:
-            Ref: CeilometerPassword
+            get_param: CeilometerPassword
         snmpd:
           export_MIB: UCD-SNMP-MIB
           readonly_user_name:
         snmpd:
           export_MIB: UCD-SNMP-MIB
           readonly_user_name:
-            Ref: SnmpdReadonlyUserName
+            get_param: SnmpdReadonlyUserName
           readonly_user_password:
           readonly_user_password:
-            Ref: SnmpdReadonlyUserPassword
+            get_param: SnmpdReadonlyUserPassword
         nova:
           compute_driver: libvirt.LibvirtDriver
           db: mysql://nova:unset@localhost/nova
         nova:
           compute_driver: libvirt.LibvirtDriver
           db: mysql://nova:unset@localhost/nova
@@ -491,39 +492,39 @@ Resources:
           host: {get_input: controller_virtual_ip}
           metadata-proxy: true
           service-password:
           host: {get_input: controller_virtual_ip}
           metadata-proxy: true
           service-password:
-            Ref: NovaPassword
+            get_param: NovaPassword
         rabbit:
           username:
         rabbit:
           username:
-            Ref: RabbitUserName
+            get_param: RabbitUserName
           password:
           password:
-            Ref: RabbitPassword
+            get_param: RabbitPassword
           cookie:
           cookie:
-            Fn::GetAtt:
+            get_attr:
             - RabbitCookie
             - value
         ntp:
           servers:
             - RabbitCookie
             - value
         ntp:
           servers:
-              - {server: {Ref: NtpServer}, fudge: "stratum 0"}
+              - {server: {get_param: NtpServer}, fudge: "stratum 0"}
         virtual_interfaces:
           instances:
             - vrrp_instance_name: VI_CONTROL
               virtual_router_id: 51
               keepalive_interface:
         virtual_interfaces:
           instances:
             - vrrp_instance_name: VI_CONTROL
               virtual_router_id: 51
               keepalive_interface:
-                Ref: ControlVirtualInterface
+                get_param: ControlVirtualInterface
               priority: 101
               virtual_ips:
               priority: 101
               virtual_ips:
-              - ip: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
+              - ip: {'Fn::Select': [ip_address, 'Fn::Select': [0, get_attr: [ControlVirtualIP, fixed_ips]]]}
                 interface:
                 interface:
-                  Ref: ControlVirtualInterface
+                  get_param: ControlVirtualInterface
             - vrrp_instance_name: VI_PUBLIC
               virtual_router_id: 52
               keepalive_interface:
             - vrrp_instance_name: VI_PUBLIC
               virtual_router_id: 52
               keepalive_interface:
-                Ref: PublicVirtualInterface
+                get_param: PublicVirtualInterface
               priority: 101
               virtual_ips:
               priority: 101
               virtual_ips:
-              - ip: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [PublicVirtualIP, fixed_ips]]]}
+              - ip: {'Fn::Select': [ip_address, 'Fn::Select': [0, get_attr: [PublicVirtualIP, fixed_ips]]]}
                 interface:
                 interface:
-                  Ref: PublicVirtualInterface
+                  get_param: PublicVirtualInterface
           vrrp_sync_groups:
             - name: VG1
               members:
           vrrp_sync_groups:
             - name: VG1
               members:
@@ -531,31 +532,31 @@ Resources:
                 - VI_PUBLIC
         keepalived:
           keepalive_interface:
                 - VI_PUBLIC
         keepalived:
           keepalive_interface:
-            Ref: PublicVirtualInterface
+            get_param: PublicVirtualInterface
           priority: 101
         virtual_ips:
             -
           priority: 101
         virtual_ips:
             -
-              ip: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
+              ip: {'Fn::Select': [ip_address, 'Fn::Select': [0, get_attr: [ControlVirtualIP, fixed_ips]]]}
               interface:
               interface:
-                Ref: ControlVirtualInterface
+                get_param: ControlVirtualInterface
             -
             -
-              ip: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [PublicVirtualIP, fixed_ips]]]}
+              ip: {'Fn::Select': [ip_address, 'Fn::Select': [0, get_attr: [PublicVirtualIP, fixed_ips]]]}
               interface:
               interface:
-                Ref: PublicVirtualInterface
+                get_param: PublicVirtualInterface
         haproxy:
           nodes:
             Merge::Map:
               controller0:
         haproxy:
           nodes:
             Merge::Map:
               controller0:
-                ip: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
-                name: {"Fn::Select": [ name, {"Fn::GetAtt": [controller0, show]} ] }
+                ip: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {get_attr: [controller0, networks]} ]} ] }
+                name: {"Fn::Select": [ name, {get_attr: [controller0, show]} ] }
           net_binds:
           net_binds:
-            - ip: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
+            - ip: {'Fn::Select': [ip_address, 'Fn::Select': [0, get_attr: [ControlVirtualIP, fixed_ips]]]}
           services:
             - name: keystone_admin
               port: 35357
               net_binds: &public_binds
           services:
             - name: keystone_admin
               port: 35357
               net_binds: &public_binds
-                - ip: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
-                - ip: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [PublicVirtualIP, fixed_ips]]]}
+                - ip: {'Fn::Select': [ip_address, 'Fn::Select': [0, get_attr: [ControlVirtualIP, fixed_ips]]]}
+                - ip: {'Fn::Select': [ip_address, 'Fn::Select': [0, get_attr: [PublicVirtualIP, fixed_ips]]]}
             - name: keystone_public
               port: 5000
               net_binds: *public_binds
             - name: keystone_public
               port: 5000
               net_binds: *public_binds
@@ -598,41 +599,41 @@ Resources:
               port: 8080
               net_binds: *public_binds
   controllerPassthrough:
               port: 8080
               net_binds: *public_binds
   controllerPassthrough:
-    Type: OS::Heat::StructuredConfig
-    Properties:
+    type: OS::Heat::StructuredConfig
+    properties:
       group: os-apply-config
       config: {get_input: passthrough_config}
   controller0:
       group: os-apply-config
       config: {get_input: passthrough_config}
   controller0:
-    Type: OS::Nova::Server
-    Properties:
+    type: OS::Nova::Server
+    properties:
       image:
       image:
-        Ref: controllerImage
+        get_param: controllerImage
       image_update_policy:
       image_update_policy:
-        Ref: ImageUpdatePolicy
+        get_param: ImageUpdatePolicy
       flavor:
       flavor:
-        Ref: OvercloudControlFlavor
+        get_param: OvercloudControlFlavor
       key_name:
       key_name:
-        Ref: KeyName
+        get_param: KeyName
       networks:
         - network: ctlplane
       user_data_format: SOFTWARE_CONFIG
   controller0AllNodes:
       networks:
         - network: ctlplane
       user_data_format: SOFTWARE_CONFIG
   controller0AllNodes:
-    DependsOn: [controller0Deployment,controller0SSLDeployment,controller0Swift,controller0Passthrough]
-    Type: OS::Heat::StructuredDeployment
-    Properties:
-      config: {Ref: allNodesConfig}
-      server: {Ref: controller0}
+    depends_on: [controller0Deployment,controller0SSLDeployment,controller0Swift,controller0Passthrough]
+    type: OS::Heat::StructuredDeployment
+    properties:
+      config: {get_resource: allNodesConfig}
+      server: {get_resource: controller0}
   controller0Deployment:
   controller0Deployment:
-    Type: OS::Heat::StructuredDeployment
-    Properties:
+    type: OS::Heat::StructuredDeployment
+    properties:
       signal_transport: NO_SIGNAL
       signal_transport: NO_SIGNAL
-      config: {Ref: controllerConfig}
-      server: {Ref: controller0}
+      config: {get_resource: controllerConfig}
+      server: {get_resource: controller0}
       input_values:
         bootstack_nodeid:
           Fn::Select:
           - name
       input_values:
         bootstack_nodeid:
           Fn::Select:
           - name
-          - Fn::GetAtt:
+          - get_attr:
             - controller0
             - show
         controller_host:
             - controller0
             - show
         controller_host:
@@ -640,102 +641,102 @@ Resources:
             - 0
             - Fn::Select:
               - ctlplane
             - 0
             - Fn::Select:
               - ctlplane
-              - Fn::GetAtt:
+              - get_attr:
                 - controller0
                 - networks
         controller_virtual_ip:
                 - controller0
                 - networks
         controller_virtual_ip:
-          {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
+          {'Fn::Select': [ip_address, 'Fn::Select': [0, get_attr: [ControlVirtualIP, fixed_ips]]]}
         heat.watch_server_url:
         heat.watch_server_url:
-          Fn::Join:
+          list_join:
             - ''
             - - 'http://'
             - ''
             - - 'http://'
-              - {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
+              - {'Fn::Select': [ip_address, 'Fn::Select': [0, get_attr: [ControlVirtualIP, fixed_ips]]]}
               - ':8003'
         heat.metadata_server_url:
               - ':8003'
         heat.metadata_server_url:
-          Fn::Join:
+          list_join:
             - ''
             - - 'http://'
             - ''
             - - 'http://'
-              - {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
+              - {'Fn::Select': [ip_address, 'Fn::Select': [0, get_attr: [ControlVirtualIP, fixed_ips]]]}
               - ':8000'
         heat.waitcondition_server_url:
               - ':8000'
         heat.waitcondition_server_url:
-          Fn::Join:
+          list_join:
             - ''
             - - 'http://'
             - ''
             - - 'http://'
-              - {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
+              - {'Fn::Select': [ip_address, 'Fn::Select': [0, get_attr: [ControlVirtualIP, fixed_ips]]]}
               - ':8000/v1/waitcondition'
   allNodesConfig:
               - ':8000/v1/waitcondition'
   allNodesConfig:
-    Type: OS::Heat::StructuredConfig
-    Properties:
+    type: OS::Heat::StructuredConfig
+    properties:
       config:
         completion-signal: {get_input: deploy_signal_id}
         hosts:
       config:
         completion-signal: {get_input: deploy_signal_id}
         hosts:
-          Fn::Join:
+          list_join:
           - "\n"
           - "\n"
-          - - Fn::Join:
+          - - list_join:
               - "\n"
               - Merge::Map:
                   NovaCompute0:
               - "\n"
               - Merge::Map:
                   NovaCompute0:
-                    Fn::Join:
+                    list_join:
                     - ' '
                     - - Fn::Select:
                         - 0
                         - Fn::Select:
                           - ctlplane
                     - ' '
                     - - Fn::Select:
                         - 0
                         - Fn::Select:
                           - ctlplane
-                          - Fn::GetAtt:
+                          - get_attr:
                             - NovaCompute0
                             - networks
                       - Fn::Select:
                         - name
                             - NovaCompute0
                             - networks
                       - Fn::Select:
                         - name
-                        - Fn::GetAtt:
+                        - get_attr:
                           - NovaCompute0
                           - show
                           - NovaCompute0
                           - show
-                      - Fn::Join:
+                      - list_join:
                         - '.'
                         - - Fn::Select:
                             - name
                         - '.'
                         - - Fn::Select:
                             - name
-                            - Fn::GetAtt:
+                            - get_attr:
                               - NovaCompute0
                               - show
                           - 'novalocal'
                               - NovaCompute0
                               - show
                           - 'novalocal'
-            - Fn::Join:
+            - list_join:
               - "\n"
               - Merge::Map:
                   controller0:
               - "\n"
               - Merge::Map:
                   controller0:
-                    Fn::Join:
+                    list_join:
                     - ' '
                     - - Fn::Select:
                         - 0
                         - Fn::Select:
                           - ctlplane
                     - ' '
                     - - Fn::Select:
                         - 0
                         - Fn::Select:
                           - ctlplane
-                          - Fn::GetAtt:
+                          - get_attr:
                             - controller0
                             - networks
                       - Fn::Select:
                         - name
                             - controller0
                             - networks
                       - Fn::Select:
                         - name
-                        - Fn::GetAtt:
+                        - get_attr:
                           - controller0
                           - show
                           - controller0
                           - show
-                      - Fn::Join:
+                      - list_join:
                         - '.'
                         - - Fn::Select:
                             - name
                         - '.'
                         - - Fn::Select:
                             - name
-                            - Fn::GetAtt:
+                            - get_attr:
                               - controller0
                               - show
                           - 'novalocal'
                               - controller0
                               - show
                           - 'novalocal'
-                      - {Ref: CloudName}
+                      - {get_param: CloudName}
         rabbit:
           nodes:
         rabbit:
           nodes:
-            Fn::Join:
+            list_join:
               - ','
               - Merge::Map:
                   controller0:
               - ','
               - Merge::Map:
                   controller0:
-                    {"Fn::Select": [ name, {"Fn::GetAtt": [controller0, show]} ] }
+                    {"Fn::Select": [ name, {get_attr: [controller0, show]} ] }
   controller0SSLDeployment:
   controller0SSLDeployment:
-    Type: OS::Heat::StructuredDeployment
-    Properties:
-      config: {Ref: SSLConfig}
-      server: {Ref: controller0}
+    type: OS::Heat::StructuredDeployment
+    properties:
+      config: {get_resource: SSLConfig}
+      server: {get_resource: controller0}
       signal_transport: NO_SIGNAL
       input_values:
         controller_host:
       signal_transport: NO_SIGNAL
       input_values:
         controller_host:
@@ -743,32 +744,32 @@ Resources:
             - 0
             - Fn::Select:
               - ctlplane
             - 0
             - Fn::Select:
               - ctlplane
-              - Fn::GetAtt:
+              - get_attr:
                 - controller0
                 - networks
                 - controller0
                 - networks
-        ssl_certificate: {Ref: SSLCertificate}
-        ssl_key: {Ref: SSLKey}
-        ssl_ca_certificate: {Ref: SSLCACertificate}
+        ssl_certificate: {get_param: SSLCertificate}
+        ssl_key: {get_param: SSLKey}
+        ssl_ca_certificate: {get_param: SSLCACertificate}
   controller0Passthrough:
   controller0Passthrough:
-    Type: OS::Heat::StructuredDeployment
-    Properties:
-      config: {Ref: controllerPassthrough}
-      server: {Ref: controller0}
+    type: OS::Heat::StructuredDeployment
+    properties:
+      config: {get_resource: controllerPassthrough}
+      server: {get_resource: controller0}
       signal_transport: NO_SIGNAL
       input_values:
       signal_transport: NO_SIGNAL
       input_values:
-        passthrough_config: {Ref: ExtraConfig}
-Outputs:
+        passthrough_config: {get_param: ExtraConfig}
+outputs:
   KeystoneURL:
   KeystoneURL:
-    Description: URL for the Overcloud Keystone service
-    Value:
-      Fn::Join:
+    description: URL for the Overcloud Keystone service
+    value:
+      list_join:
       - ''
       - - http://
         - Fn::Select:
           - ip_address
           - Fn::Select:
             - 0
       - ''
       - - http://
         - Fn::Select:
           - ip_address
           - Fn::Select:
             - 0
-            - Fn::GetAtt:
+            - get_attr:
               - ControlVirtualIP
               - fixed_ips
         - :5000/v2.0/
               - ControlVirtualIP
               - fixed_ips
         - :5000/v2.0/
index e64eca5..09ea52a 100644 (file)
@@ -1,23 +1,23 @@
-Description: 'ssl-source: SSL endpoint metadata for openstack'
-Parameters:
+description: 'ssl-source: SSL endpoint metadata for openstack'
+parameters:
   SSLCertificate:
   SSLCertificate:
-    Default: ''
-    Description: If set, the contents of an SSL certificate .crt file for encrypting SSL endpoints.
-    Type: String
-    NoEcho: true
+    default: ''
+    description: If set, the contents of an SSL certificate .crt file for encrypting SSL endpoints.
+    type: string
+    hidden: true
   SSLKey:
   SSLKey:
-    Default: ''
-    Description: If set, the contents of an SSL certificate .key file for encrypting SSL endpoints.
-    Type: String
-    NoEcho: true
+    default: ''
+    description: If set, the contents of an SSL certificate .key file for encrypting SSL endpoints.
+    type: string
+    hidden: true
   SSLCACertificate:
   SSLCACertificate:
-    Default: ''
-    Description: If set, the contents of an SSL certificate authority file.
-    Type: String
-Resources:
+    default: ''
+    description: If set, the contents of an SSL certificate authority file.
+    type: string
+resources:
   SSLConfig:
   SSLConfig:
-    Type: OS::Heat::StructuredConfig
-    Properties:
+    type: OS::Heat::StructuredConfig
+    properties:
       group: os-apply-config
       config:
         stunnel:
       group: os-apply-config
       config:
         stunnel:
index e5b83de..2da242e 100644 (file)
@@ -1,55 +1,55 @@
-Description: 'Swift-proxy: OpenStack object storage proxy'
-Parameters:
+description: 'Swift-proxy: OpenStack object storage proxy'
+parameters:
   SwiftHashSuffix:
   SwiftHashSuffix:
-    Default: unset
-    Description: A random string to be used as a salt when hashing to determine mappings in the ring.
-    Type: String
-    NoEcho: true
+    default: unset
+    description: A random string to be used as a salt when hashing to determine mappings in the ring.
+    type: string
+    hidden: true
   SwiftPassword:
   SwiftPassword:
-    Default: unset
-    Description: The password for the swift service account, used by the swift proxy services.
-    Type: String
-    NoEcho: true
-Resources:
+    default: unset
+    description: The password for the swift service account, used by the swift proxy services.
+    type: string
+    hidden: true
+resources:
   controller0Swift:
   controller0Swift:
-    Type: OS::Heat::StructuredDeployment
-    Properties:
-      config: {Ref: SwiftConfig}
-      server: {Ref: controller0}
+    type: OS::Heat::StructuredDeployment
+    properties:
+      config: {get_resource: SwiftConfig}
+      server: {get_resource: controller0}
       signal_transport: NO_SIGNAL
       input_values:
       signal_transport: NO_SIGNAL
       input_values:
-        swift_hash_suffix: {Ref: SwiftHashSuffix}
-        swift_password: {Ref: SwiftPassword}
+        swift_hash_suffix: {get_param: SwiftHashSuffix}
+        swift_password: {get_param: SwiftPassword}
         swift_devices:
         swift_devices:
-          Fn::Join:
+          list_join:
           - ', '
           - Merge::Map:
               controller0:
           - ', '
           - Merge::Map:
               controller0:
-                Fn::Join:
+                list_join:
                 - ''
                 - - 'r1z1-'
                 - ''
                 - - 'r1z1-'
-                  - {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
+                  - {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {get_attr: [controller0, networks]} ]} ] }
                   - ':%PORT%/d1'
               SwiftStorage0:
                   - ':%PORT%/d1'
               SwiftStorage0:
-                Fn::Join:
+                list_join:
                 - ''
                 - - 'r1z1-'
                   - Fn::Select:
                     - 0
                     - Fn::Select:
                       - 'ctlplane'
                 - ''
                 - - 'r1z1-'
                   - Fn::Select:
                     - 0
                     - Fn::Select:
                       - 'ctlplane'
-                      - Fn::GetAtt:
+                      - get_attr:
                         - SwiftStorage0
                         - networks
                   - ':%PORT%/d1'
         swift_proxy_memcache:
                         - SwiftStorage0
                         - networks
                   - ':%PORT%/d1'
         swift_proxy_memcache:
-          Fn::Join:
+          list_join:
             - ','
             - Merge::Map:
                 controller0:
             - ','
             - Merge::Map:
                 controller0:
-                  Fn::Join:
+                  list_join:
                     - ', '
                     - ', '
-                    - - Fn::Join:
+                    - - list_join:
                         - ''
                         - ''
-                        - - {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
+                        - - {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {get_attr: [controller0, networks]} ]} ] }
                           - ':11211'
                           - ':11211'
index 3ca2b1a..a033687 100644 (file)
@@ -1,7 +1,7 @@
-Resources:
+resources:
   SwiftConfig:
   SwiftConfig:
-    Type: OS::Heat::StructuredConfig
-    Properties:
+    type: OS::Heat::StructuredConfig
+    properties:
       group: os-apply-config
       config:
         swift:
       group: os-apply-config
       config:
         swift:
@@ -12,7 +12,7 @@ Resources:
           replicas: 1
           service-password: { get_input: swift_password }
         neutron:
           replicas: 1
           service-password: { get_input: swift_password }
         neutron:
-          enable_tunnelling: {Ref: NeutronEnableTunnelling}
-          tenant_network_type: {Ref: NeutronNetworkType}
+          enable_tunnelling: {get_param: NeutronEnableTunnelling}
+          tenant_network_type: {get_param: NeutronNetworkType}
           ovs:
             local_ip: { get_input: neutron_local_ip }
           ovs:
             local_ip: { get_input: neutron_local_ip }
index cbbecf1..92bcf27 100644 (file)
@@ -1,81 +1,81 @@
-HeatTemplateFormatVersion: '2012-12-12'
-Description: 'Common Swift Storage Configuration'
-Parameters:
+heat_template_version: 2014-10-16
+description: 'Common Swift Storage Configuration'
+parameters:
   SwiftStorageImage:
   SwiftStorageImage:
-    Type: String
-    Default: overcloud-swift-storage
+    type: string
+    default: overcloud-swift-storage
   OvercloudSwiftStorageFlavor:
   OvercloudSwiftStorageFlavor:
-    Default: baremetal
-    Description: Flavor for Swift storage nodes to request when deploying.
-    Type: String
+    default: baremetal
+    description: Flavor for Swift storage nodes to request when deploying.
+    type: string
   NeutronNetworkType:
   NeutronNetworkType:
-    Type: String
-    Default: 'gre'
+    type: string
+    default: 'gre'
   NeutronEnableTunnelling:
   NeutronEnableTunnelling:
-    Type: String
-    Default: True
-Resources:
+    type: string
+    default: True
+resources:
   SwiftStorage0:
   SwiftStorage0:
-    Type: OS::Nova::Server
-    Properties:
-      image: {Ref: SwiftStorageImage}
-      flavor: {Ref: OvercloudSwiftStorageFlavor}
-      key_name: {Ref: KeyName}
+    type: OS::Nova::Server
+    properties:
+      image: {get_param: SwiftStorageImage}
+      flavor: {get_param: OvercloudSwiftStorageFlavor}
+      key_name: {get_param: KeyName}
       user_data_format: SOFTWARE_CONFIG
   SwiftKeystoneConfig:
       user_data_format: SOFTWARE_CONFIG
   SwiftKeystoneConfig:
-    Type: OS::Heat::StructuredConfig
-    Properties:
+    type: OS::Heat::StructuredConfig
+    properties:
       config:
         keystone:
           host: {get_input: keystone_host}
   SwiftStorage0Keystone:
       config:
         keystone:
           host: {get_input: keystone_host}
   SwiftStorage0Keystone:
-    Type: OS::Heat::StructuredDeployment
-    Properties:
-      server: {Ref: SwiftStorage0}
-      config: {Ref: SwiftKeystoneConfig}
+    type: OS::Heat::StructuredDeployment
+    properties:
+      server: {get_resource: SwiftStorage0}
+      config: {get_resource: SwiftKeystoneConfig}
       signal_transport: NO_SIGNAL
       input_values:
       signal_transport: NO_SIGNAL
       input_values:
-        keystone_host: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
+        keystone_host: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {get_attr: [controller0, networks]} ]} ] }
   SwiftStorage0Deploy:
   SwiftStorage0Deploy:
-    Type: OS::Heat::StructuredDeployment
-    Properties:
-      server: {Ref: SwiftStorage0}
-      config: {Ref: SwiftConfig}
+    type: OS::Heat::StructuredDeployment
+    properties:
+      server: {get_resource: SwiftStorage0}
+      config: {get_resource: SwiftConfig}
       signal_transport: NO_SIGNAL
       input_values:
       signal_transport: NO_SIGNAL
       input_values:
-        neutron_local_ip: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [SwiftStorage0, networks]} ]} ] }
-        swift_hash_suffix: {Ref: SwiftHashSuffix}
-        swift_password: {Ref: SwiftPassword}
+        neutron_local_ip: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {get_attr: [SwiftStorage0, networks]} ]} ] }
+        swift_hash_suffix: {get_param: SwiftHashSuffix}
+        swift_password: {get_param: SwiftPassword}
         swift_devices:
         swift_devices:
-          Fn::Join:
+          list_join:
           - ', '
           - Merge::Map:
               controller0:
           - ', '
           - Merge::Map:
               controller0:
-                Fn::Join:
+                list_join:
                 - ''
                 - - 'r1z1-'
                 - ''
                 - - 'r1z1-'
-                  - {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
+                  - {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {get_attr: [controller0, networks]} ]} ] }
                   - ':%PORT%/d1'
               SwiftStorage0:
                   - ':%PORT%/d1'
               SwiftStorage0:
-                Fn::Join:
+                list_join:
                 - ''
                 - - 'r1z1-'
                   - Fn::Select:
                     - 0
                     - Fn::Select:
                       - 'ctlplane'
                 - ''
                 - - 'r1z1-'
                   - Fn::Select:
                     - 0
                     - Fn::Select:
                       - 'ctlplane'
-                      - Fn::GetAtt:
+                      - get_attr:
                         - SwiftStorage0
                         - networks
                   - ':%PORT%/d1'
         swift_proxy_memcache:
                         - SwiftStorage0
                         - networks
                   - ':%PORT%/d1'
         swift_proxy_memcache:
-          Fn::Join:
+          list_join:
             - ','
             - Merge::Map:
                 controller0:
             - ','
             - Merge::Map:
                 controller0:
-                  Fn::Join:
+                  list_join:
                     - ', '
                     - ', '
-                    - - Fn::Join:
+                    - - list_join:
                         - ''
                         - ''
-                        - - {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
+                        - - {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {get_attr: [controller0, networks]} ]} ] }
                           - ':11211'
                           - ':11211'
index 077bcb1..3549769 100644 (file)
@@ -26,7 +26,7 @@ class Cfn(object):
 class Hot(object):
 
     base_template = {
 class Hot(object):
 
     base_template = {
-        'heat_template_version': '2013-05-23',
+        'heat_template_version': '2014-10-16',
         'description': []
     }
     get_resource = 'get_resource'
         'description': []
     }
     get_resource = 'get_resource'
index 1d40121..ba39710 100644 (file)
@@ -1,7 +1,7 @@
-Resources:
+resources:
   undercloudNovaConfig:
   undercloudNovaConfig:
-    Type: OS::Heat::StructuredConfig
-    Properties:
+    type: OS::Heat::StructuredConfig
+    properties:
       config:
         nova:
           compute_hostname: undercloud
       config:
         nova:
           compute_hostname: undercloud
index 41cf10a..3df8597 100644 (file)
@@ -1,25 +1,25 @@
-Parameters:
+parameters:
   NeutronPublicInterface:
   NeutronPublicInterface:
-    Default: eth2
-    Description: What interface to bridge onto br-ex for network nodes.
-    Type: String
+    default: eth2
+    description: What interface to bridge onto br-ex for network nodes.
+    type: string
   PowerManager:
   PowerManager:
-    Default: nova.virt.baremetal.ipmi.IPMI
-    Description: Bare metal power manager driver.
-    Type: String
+    default: nova.virt.baremetal.ipmi.IPMI
+    description: Bare metal power manager driver.
+    type: string
   PxeDeployTimeout:
   PxeDeployTimeout:
-    Default: 2400
-    Description: Timeout for PXE deployment of baremetal nodes
-    Type: Number
-Resources:
+    default: 2400
+    description: Timeout for PXE deployment of baremetal nodes
+    type: number
+resources:
   01_undercloudNovaDeployment:
   01_undercloudNovaDeployment:
-    Type: OS::Heat::StructuredDeployment
-    Properties:
-      config: {Ref: undercloudNovaConfig}
-      server: {Ref: undercloud}
+    type: OS::Heat::StructuredDeployment
+    properties:
+      config: {get_resource: undercloudNovaConfig}
+      server: {get_resource: undercloud}
       signal_transport: NO_SIGNAL
       input_values:
       signal_transport: NO_SIGNAL
       input_values:
-        nova_arch: {Ref: BaremetalArch}
-        power_manager: {Ref: PowerManager}
-        pxe_deploy_timeout: {Ref: PxeDeployTimeout}
-        nova_service_password: {Ref: NovaPassword}
+        nova_arch: {get_param: BaremetalArch}
+        power_manager: {get_param: PowerManager}
+        pxe_deploy_timeout: {get_param: PxeDeployTimeout}
+        nova_service_password: {get_param: NovaPassword}
index aa0c9ee..e39eb5e 100644 (file)
@@ -1,46 +1,46 @@
-Description: All-in-one baremetal OpenStack and all dependencies.
-HeatTemplateFormatVersion: '2012-12-12'
-Parameters:
+description: All-in-one baremetal OpenStack and all dependencies.
+heat_template_version: 2014-10-16
+parameters:
   AdminPassword:
   AdminPassword:
-    Default: unset
-    Description: The password for the keystone admin account, used for monitoring, querying neutron etc.
-    Type: String
-    NoEcho: true
+    default: unset
+    description: The password for the keystone admin account, used for monitoring, querying neutron etc.
+    type: string
+    hidden: true
   AdminToken:
   AdminToken:
-    Default: unset
-    Description: The keystone auth secret.
-    Type: String
-    NoEcho: true
+    default: unset
+    description: The keystone auth secret.
+    type: string
+    hidden: true
   CinderLVMLoopDeviceSize:
   CinderLVMLoopDeviceSize:
-    Default: 5000
-    Description: The size of the loopback file used by the cinder LVM driver.
-    Type: Number
+    default: 5000
+    description: The size of the loopback file used by the cinder LVM driver.
+    type: number
   BaremetalArch:
   BaremetalArch:
-    Default: i386
-    Description: The architecture to use in Nova-BM - i386 or amd64.
-    Type: String
+    default: i386
+    description: The architecture to use in Nova-BM - i386 or amd64.
+    type: string
   CeilometerMeteringSecret:
   CeilometerMeteringSecret:
-    Default: unset
-    Description: Secret shared by the ceilometer services.
-    Type: String
-    NoEcho: true
+    default: unset
+    description: Secret shared by the ceilometer services.
+    type: string
+    hidden: true
   CeilometerPassword:
   CeilometerPassword:
-    Default: unset
-    Description: The password for the ceilometer service account.
-    Type: String
-    NoEcho: true
+    default: unset
+    description: The password for the ceilometer service account.
+    type: string
+    hidden: true
   SnmpdReadonlyUserName:
   SnmpdReadonlyUserName:
-    Default: ro_snmp_user
-    Description: The user name for SNMPd with readonly rights running on all Overcloud nodes
-    Type: String
+    default: ro_snmp_user
+    description: The user name for SNMPd with readonly rights running on all Overcloud nodes
+    type: string
   SnmpdReadonlyUserPassword:
   SnmpdReadonlyUserPassword:
-    Default: unset
-    Description: The user password for SNMPd with readonly rights running on all Overcloud nodes
-    Type: String
-    NoEcho: true
+    default: unset
+    description: The user password for SNMPd with readonly rights running on all Overcloud nodes
+    type: string
+    hidden: true
   ExtraConfig:
   ExtraConfig:
-    Default: {}
-    Description: |
+    default: {}
+    description: |
       Additional configuration to inject into the cluster. The JSON should have
       the following structure:
         {"FILEKEY":
       Additional configuration to inject into the cluster. The JSON should have
       the following structure:
         {"FILEKEY":
@@ -75,128 +75,128 @@ Parameters:
             ]
           }
         }
             ]
           }
         }
-    Type: Json
+    type: json
   Flavor:
   Flavor:
-    Default: baremetal
-    Description: Flavor to request when deploying.
-    Type: String
+    default: baremetal
+    description: Flavor to request when deploying.
+    type: string
   GlancePort:
   GlancePort:
-   Default: 9292
-   Description: Glance port.
-   Type: String
+   default: 9292
+   description: Glance port.
+   type: string
   GlanceProtocol:
   GlanceProtocol:
-   Default: http
-   Description: Protocol to use when connecting to glance, set to https for SSL.
-   Type: String
+   default: http
+   description: Protocol to use when connecting to glance, set to https for SSL.
+   type: string
   GlancePassword:
   GlancePassword:
-    Default: unset
-    Description: The password for the glance service account, used by the glance services.
-    Type: String
-    NoEcho: true
+    default: unset
+    description: The password for the glance service account, used by the glance services.
+    type: string
+    hidden: true
   GlanceNotifierStrategy:
   GlanceNotifierStrategy:
-    Description: Strategy to use for Glance notification queue
-    Type: String
-    Default: noop
+    description: Strategy to use for Glance notification queue
+    type: string
+    default: noop
   GlanceLogFile:
   GlanceLogFile:
-    Description: The filepath of the file to use for logging messages from Glance.
-    Type: String
-    Default: ''
+    description: The filepath of the file to use for logging messages from Glance.
+    type: string
+    default: ''
   KeyName:
   KeyName:
-    Default: default
-    Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
-    Type: String
+    default: default
+    description: Name of an existing EC2 KeyPair to enable SSH access to the instances
+    type: string
   HeatPassword:
   HeatPassword:
-    Default: unset
-    Description: The password for the Heat service account, used by the Heat services.
-    Type: String
-    NoEcho: true
+    default: unset
+    description: The password for the Heat service account, used by the Heat services.
+    type: string
+    hidden: true
   ImageUpdatePolicy:
   ImageUpdatePolicy:
-    Default: REBUILD_PRESERVE_EPHEMERAL
-    Description: What policy to use when reconstructing instances. REBUILD for rebuilds,
+    default: REBUILD_PRESERVE_EPHEMERAL
+    description: What policy to use when reconstructing instances. REBUILD for rebuilds,
       REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
       REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
-    Type: String
+    type: string
   undercloudImage:
   undercloudImage:
-    Default: undercloud
-    Type: String
+    default: undercloud
+    type: string
   NeutronPassword:
   NeutronPassword:
-    Default: unset
-    Description: The password for the neutron service account, used by neutron agents.
-    Type: String
-    NoEcho: true
+    default: unset
+    description: The password for the neutron service account, used by neutron agents.
+    type: string
+    hidden: true
   NovaPassword:
   NovaPassword:
-    Default: unset
-    Description: The password for the nova service account, used by nova-api.
-    Type: String
-    NoEcho: true
+    default: unset
+    description: The password for the nova service account, used by nova-api.
+    type: string
+    hidden: true
   NeutronPublicInterfaceDefaultRoute:
   NeutronPublicInterfaceDefaultRoute:
-    Default: ''
-    Description: A custom default route for the NeutronPublicInterface.
-    Type: String
+    default: ''
+    description: A custom default route for the NeutronPublicInterface.
+    type: string
   NeutronPublicInterfaceIP:
   NeutronPublicInterfaceIP:
-    Default: ''
-    Description: A custom IP address to put onto the NeutronPublicInterface.
-    Type: String
+    default: ''
+    description: A custom IP address to put onto the NeutronPublicInterface.
+    type: string
   NeutronPublicInterfaceRawDevice:
   NeutronPublicInterfaceRawDevice:
-    Default: ''
-    Description: If set, the public interface is a vlan with this device as the raw device.
-    Type: String
+    default: ''
+    description: If set, the public interface is a vlan with this device as the raw device.
+    type: string
   NtpServer:
   NtpServer:
-    Type: String
-    Default: ''
+    type: string
+    default: ''
   RabbitUserName:
   RabbitUserName:
-    Default: guest
-    Description: The username for RabbitMQ
-    Type: String
+    default: guest
+    description: The username for RabbitMQ
+    type: string
   RabbitPassword:
   RabbitPassword:
-    Default: guest
-    Description: The password for RabbitMQ
-    Type: String
-    NoEcho: true
+    default: guest
+    description: The password for RabbitMQ
+    type: string
+    hidden: true
   RabbitCookieSalt:
   RabbitCookieSalt:
-    Type: String
-    Default: unset
-    Description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
+    type: string
+    default: unset
+    description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
   HeatStackDomainAdminPassword:
   HeatStackDomainAdminPassword:
-    Description: Password for heat_domain_admin user.
-    Type: String
-    Default: ''
-    NoEcho: true
+    description: Password for heat_domain_admin user.
+    type: string
+    default: ''
+    hidden: true
   MysqlInnodbBufferPoolSize:
   MysqlInnodbBufferPoolSize:
-    Description: >
+    description: >
         Specifies the size of the buffer pool in megabytes. Setting to
         zero should be interpreted as "no value" and will defer to the
         lower level default.
         Specifies the size of the buffer pool in megabytes. Setting to
         zero should be interpreted as "no value" and will defer to the
         lower level default.
-    Type: Number
-    Default: 0
+    type: number
+    default: 0
   KeystoneCACertificate:
   KeystoneCACertificate:
-    Default: ''
-    Description: Keystone self-signed certificate authority certificate.
-    Type: String
+    default: ''
+    description: Keystone self-signed certificate authority certificate.
+    type: string
   KeystoneSigningCertificate:
   KeystoneSigningCertificate:
-    Default: ''
-    Description: Keystone certificate for verifying token validity.
-    Type: String
+    default: ''
+    description: Keystone certificate for verifying token validity.
+    type: string
   KeystoneSigningKey:
   KeystoneSigningKey:
-    Default: ''
-    Description: Keystone key for signing tokens.
-    Type: String
-    NoEcho: true
-Resources:
+    default: ''
+    description: Keystone key for signing tokens.
+    type: string
+    hidden: true
+resources:
   RabbitCookie:
   RabbitCookie:
-    Type: OS::Heat::RandomString
-    Properties:
+    type: OS::Heat::RandomString
+    properties:
       length: 20
       salt:
       length: 20
       salt:
-        Ref: RabbitCookieSalt
+        get_param: RabbitCookieSalt
   undercloudConfig:
   undercloudConfig:
-    Type: OS::Heat::StructuredConfig
-    Properties:
+    type: OS::Heat::StructuredConfig
+    properties:
       config:
         completion-signal: {get_input: deploy_signal_id}
         admin-password:
       config:
         completion-signal: {get_input: deploy_signal_id}
         admin-password:
-          Ref: AdminPassword
+          get_param: AdminPassword
         admin-token:
         admin-token:
-          Ref: AdminToken
+          get_param: AdminToken
         bootstrap_host:
           bootstrap_nodeid:
             Fn::Select:
         bootstrap_host:
           bootstrap_nodeid:
             Fn::Select:
@@ -207,68 +207,68 @@ Resources:
                   undercloud:
                   - Fn::Select:
                     - name
                   undercloud:
                   - Fn::Select:
                     - name
-                    - Fn::GetAtt:
+                    - get_attr:
                       - undercloud
                       - show
           nodeid: {get_input: bootstack_nodeid}
         bootstack:
           public_interface_ip:
                       - undercloud
                       - show
           nodeid: {get_input: bootstack_nodeid}
         bootstack:
           public_interface_ip:
-            Ref: NeutronPublicInterfaceIP
+            get_param: NeutronPublicInterfaceIP
         controller-address:
           get_input: controller_host
         ceilometer:
           db: mysql://ceilometer:unset@localhost/ceilometer
         controller-address:
           get_input: controller_host
         ceilometer:
           db: mysql://ceilometer:unset@localhost/ceilometer
-          metering_secret: {Ref: CeilometerMeteringSecret}
+          metering_secret: {get_param: CeilometerMeteringSecret}
           snmpd_readonly_user_name:
           snmpd_readonly_user_name:
-            Ref: SnmpdReadonlyUserName
+            get_param: SnmpdReadonlyUserName
           snmpd_readonly_user_password:
           snmpd_readonly_user_password:
-            Ref: SnmpdReadonlyUserPassword
+            get_param: SnmpdReadonlyUserPassword
           service-password:
           service-password:
-            Ref: CeilometerPassword
+            get_param: CeilometerPassword
         db-password: unset
         glance:
           backend: file
           db: mysql://glance:unset@localhost/glance
           host: 127.0.0.1
           port:
         db-password: unset
         glance:
           backend: file
           db: mysql://glance:unset@localhost/glance
           host: 127.0.0.1
           port:
-            Ref: GlancePort
+            get_param: GlancePort
           protocol:
           protocol:
-            Ref: GlanceProtocol
+            get_param: GlanceProtocol
           service-password:
           service-password:
-            Ref: GlancePassword
+            get_param: GlancePassword
           notifier-strategy:
           notifier-strategy:
-            Ref: GlanceNotifierStrategy
+            get_param: GlanceNotifierStrategy
           log-file:
           log-file:
-            Ref: GlanceLogFile
+            get_param: GlanceLogFile
         heat:
           admin_password:
         heat:
           admin_password:
-            Ref: HeatPassword
+            get_param: HeatPassword
           admin_tenant_name: service
           admin_user: heat
           auth_encryption_key: unset___________
           db: mysql://heat:unset@localhost/heat
           admin_tenant_name: service
           admin_user: heat
           auth_encryption_key: unset___________
           db: mysql://heat:unset@localhost/heat
-          stack_domain_admin_password: {Ref: HeatStackDomainAdminPassword}
+          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}
           waitcondition_server_url: {get_input: heat.waitcondition_server_url}
         keystone:
           db: mysql://keystone:unset@localhost/keystone
           host: 127.0.0.1
           watch_server_url: {get_input: heat.watch_server_url}
           metadata_server_url: {get_input: heat.metadata_server_url}
           waitcondition_server_url: {get_input: heat.waitcondition_server_url}
         keystone:
           db: mysql://keystone:unset@localhost/keystone
           host: 127.0.0.1
-          ca_certificate: {Ref: KeystoneCACertificate}
-          signing_key: {Ref: KeystoneSigningKey}
-          signing_certificate: {Ref: KeystoneSigningCertificate}
+          ca_certificate: {get_param: KeystoneCACertificate}
+          signing_key: {get_param: KeystoneSigningKey}
+          signing_certificate: {get_param: KeystoneSigningCertificate}
         mysql:
         mysql:
-          innodb_buffer_pool_size: {Ref: MysqlInnodbBufferPoolSize}
+          innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
         neutron:
           host: 127.0.0.1
           ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8
           ovs:
             public_interface:
         neutron:
           host: 127.0.0.1
           ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8
           ovs:
             public_interface:
-              Ref: NeutronPublicInterface
+              get_param: NeutronPublicInterface
             public_interface_raw_device:
             public_interface_raw_device:
-              Ref: NeutronPublicInterfaceRawDevice
+              get_param: NeutronPublicInterfaceRawDevice
             public_interface_route:
             public_interface_route:
-              Ref: NeutronPublicInterfaceDefaultRoute
+              get_param: NeutronPublicInterfaceDefaultRoute
             physical_bridge: br-ctlplane
             physical_network: ctlplane
             network_vlan_ranges: ctlplane
             physical_bridge: br-ctlplane
             physical_network: ctlplane
             network_vlan_ranges: ctlplane
@@ -276,48 +276,48 @@ Resources:
             tenant_network_type: vlan
             enable_tunneling: 'False'
           service-password:
             tenant_network_type: vlan
             enable_tunneling: 'False'
           service-password:
-            Ref: NeutronPassword
+            get_param: NeutronPassword
         rabbit:
           host: 127.0.0.1
           username:
         rabbit:
           host: 127.0.0.1
           username:
-            Ref: RabbitUserName
+            get_param: RabbitUserName
           password:
           password:
-            Ref: RabbitPassword
+            get_param: RabbitPassword
           cookie:
           cookie:
-            Fn::GetAtt:
+            get_attr:
             - RabbitCookie
             - value
         ntp:
           servers:
             - RabbitCookie
             - value
         ntp:
           servers:
-            - {server: {Ref: NtpServer}, fudge: "stratum 0"}
+            - {server: {get_param: NtpServer}, fudge: "stratum 0"}
   undercloudPassthroughConfig:
   undercloudPassthroughConfig:
-    Type: OS::Heat::StructuredConfig
-    Properties:
+    type: OS::Heat::StructuredConfig
+    properties:
       config: {get_input: passthrough_config}
   undercloud:
       config: {get_input: passthrough_config}
   undercloud:
-    Type: OS::Nova::Server
-    Properties:
+    type: OS::Nova::Server
+    properties:
       image:
       image:
-        Ref: undercloudImage
+        get_param: undercloudImage
       flavor:
       flavor:
-        Ref: Flavor
+        get_param: Flavor
       key_name:
       key_name:
-        Ref: KeyName
+        get_param: KeyName
       image_update_policy:
       image_update_policy:
-        Ref: ImageUpdatePolicy
+        get_param: ImageUpdatePolicy
       networks:
         - network: ctlplane
       user_data_format: SOFTWARE_CONFIG
   99_undercloudDeployment:
       networks:
         - network: ctlplane
       user_data_format: SOFTWARE_CONFIG
   99_undercloudDeployment:
-    Type: OS::Heat::StructuredDeployment
-    Properties:
-      config: {Ref: undercloudConfig}
-      server: {Ref: undercloud}
+    type: OS::Heat::StructuredDeployment
+    properties:
+      config: {get_resource: undercloudConfig}
+      server: {get_resource: undercloud}
       input_values:
         bootstack_nodeid:
           Fn::Select:
             - name
       input_values:
         bootstack_nodeid:
           Fn::Select:
             - name
-            - Fn::GetAtt:
+            - get_attr:
               - undercloud
               - show
         controller_host:
               - undercloud
               - show
         controller_host:
@@ -325,32 +325,32 @@ Resources:
             - 0
             - Fn::Select:
               - ctlplane
             - 0
             - Fn::Select:
               - ctlplane
-              - Fn::GetAtt:
+              - get_attr:
                 - undercloud
                 - networks
         heat.watch_server_url:
                 - undercloud
                 - networks
         heat.watch_server_url:
-          Fn::Join:
+          list_join:
             - ''
             - - 'http://'
             - ''
             - - 'http://'
-              - {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { "Fn::GetAtt": [ undercloud, networks ]}]]}
+              - {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { get_attr: [ undercloud, networks ]}]]}
               - ':8003'
         heat.metadata_server_url:
               - ':8003'
         heat.metadata_server_url:
-          Fn::Join:
+          list_join:
             - ''
             - - 'http://'
             - ''
             - - 'http://'
-              - {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { "Fn::GetAtt": [ undercloud, networks ]}]]}
+              - {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { get_attr: [ undercloud, networks ]}]]}
               - ':8000'
         heat.waitcondition_server_url:
               - ':8000'
         heat.waitcondition_server_url:
-          Fn::Join:
+          list_join:
             - ''
             - - 'http://'
             - ''
             - - 'http://'
-              - {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { "Fn::GetAtt": [ undercloud, networks ]}]]}
+              - {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { get_attr: [ undercloud, networks ]}]]}
               - ':8000/v1/waitcondition'
   00_undercloudPassthroughDeployment:
               - ':8000/v1/waitcondition'
   00_undercloudPassthroughDeployment:
-    Type: OS::Heat::StructuredDeployment
-    Properties:
-      config: {Ref: undercloudPassthroughConfig}
-      server: {Ref: undercloud}
+    type: OS::Heat::StructuredDeployment
+    properties:
+      config: {get_resource: undercloudPassthroughConfig}
+      server: {get_resource: undercloud}
       signal_transport: NO_SIGNAL
       input_values:
       signal_transport: NO_SIGNAL
       input_values:
-        passthrough_config: {Ref: ExtraConfig}
+        passthrough_config: {get_param: ExtraConfig}
index 241efa1..1a90504 100644 (file)
@@ -1,7 +1,7 @@
-Resources:
+resources:
   undercloudNovaConfig:
   undercloudNovaConfig:
-    Type: OS::Heat::StructuredConfig
-    Properties:
+    type: OS::Heat::StructuredConfig
+    properties:
       config:
         nova:
           compute_hostname: undercloud
       config:
         nova:
           compute_hostname: undercloud
@@ -16,8 +16,8 @@ Resources:
             reserved_host_memory_mb: 0
           service-password: {get_input: nova_service_password}
   undercloudIronicConfig:
             reserved_host_memory_mb: 0
           service-password: {get_input: nova_service_password}
   undercloudIronicConfig:
-    Type: OS::Heat::StructuredConfig
-    Properties:
+    type: OS::Heat::StructuredConfig
+    properties:
       config:
         ironic:
           db: mysql://ironic:unset@localhost/ironic
       config:
         ironic:
           db: mysql://ironic:unset@localhost/ironic
index 10eb44d..8fff9d5 100644 (file)
@@ -1,31 +1,31 @@
-Parameters:
+parameters:
   IronicPassword:
   IronicPassword:
-    Type: String
-    Description: Ironic password for keystone access
-    NoEcho: true
+    type: string
+    description: Ironic password for keystone access
+    hidden: true
   NeutronPublicInterface:
   NeutronPublicInterface:
-    Default: eth0
-    Description: What interface to bridge onto br-ex for network nodes.
-    Type: String
+    default: eth0
+    description: What interface to bridge onto br-ex for network nodes.
+    type: string
   PowerSSHPrivateKey:
   PowerSSHPrivateKey:
-    Description: Private key for using to ssh to a virtual power host.
-    Type: String
-    NoEcho: true
-Resources:
+    description: Private key for using to ssh to a virtual power host.
+    type: string
+    hidden: true
+resources:
   01_undercloudNovaDeployment:
   01_undercloudNovaDeployment:
-    Type: OS::Heat::StructuredDeployment
-    Properties:
-      config: {Ref: undercloudNovaConfig}
-      server: {Ref: undercloud}
+    type: OS::Heat::StructuredDeployment
+    properties:
+      config: {get_resource: undercloudNovaConfig}
+      server: {get_resource: undercloud}
       signal_transport: NO_SIGNAL
       input_values:
       signal_transport: NO_SIGNAL
       input_values:
-        nova_service_password: {Ref: NovaPassword}
+        nova_service_password: {get_param: NovaPassword}
   02_undercloudIronicDeployment:
   02_undercloudIronicDeployment:
-    Type: OS::Heat::StructuredDeployment
-    Properties:
-      config: {Ref: undercloudIronicConfig}
-      server: {Ref: undercloud}
+    type: OS::Heat::StructuredDeployment
+    properties:
+      config: {get_resource: undercloudIronicConfig}
+      server: {get_resource: undercloud}
       signal_transport: NO_SIGNAL
       input_values:
       signal_transport: NO_SIGNAL
       input_values:
-        ironic_service_password: {Ref: IronicPassword}
-        virtual_power_ssh_key: {Ref: PowerSSHPrivateKey}
+        ironic_service_password: {get_param: IronicPassword}
+        virtual_power_ssh_key: {get_param: PowerSSHPrivateKey}
index 99da805..77d23c1 100644 (file)
@@ -1,7 +1,7 @@
-Resources:
+resources:
   undercloudNovaConfig:
   undercloudNovaConfig:
-    Type: OS::Heat::StructuredConfig
-    Properties:
+    type: OS::Heat::StructuredConfig
+    properties:
       config:
         nova:
           compute_hostname: undercloud
       config:
         nova:
           compute_hostname: undercloud
index 1689036..1480938 100644 (file)
@@ -1,40 +1,40 @@
-Parameters:
+parameters:
   NeutronPublicInterface:
   NeutronPublicInterface:
-    Default: eth0
-    Description: What interface to bridge onto br-ex for network nodes.
-    Type: String
+    default: eth0
+    description: What interface to bridge onto br-ex for network nodes.
+    type: string
   PowerManager:
   PowerManager:
-    Default: nova.virt.baremetal.virtual_power_driver.VirtualPowerManager
-    Description: Bare metal power manager driver.
-    Type: String
+    default: nova.virt.baremetal.virtual_power_driver.VirtualPowerManager
+    description: Bare metal power manager driver.
+    type: string
   PxeDeployTimeout:
   PxeDeployTimeout:
-    Default: 2400
-    Description: Timeout for PXE deployment of baremetal nodes
-    Type: Number
+    default: 2400
+    description: Timeout for PXE deployment of baremetal nodes
+    type: number
   PowerSSHHost:
   PowerSSHHost:
-    Default: 192.168.122.1
-    Description: SSH host to ssh to for power management operations.
-    Type: String
+    default: 192.168.122.1
+    description: SSH host to ssh to for power management operations.
+    type: string
   PowerSSHPrivateKey:
   PowerSSHPrivateKey:
-    Description: Private key for using to ssh to a virtual power host.
-    Type: String
-    NoEcho: true
+    description: Private key for using to ssh to a virtual power host.
+    type: string
+    hidden: true
   PowerUserName:
   PowerUserName:
-    Default: stack
-    Description: What username to ssh to the virtual power host with.
-    Type: String
-Resources:
+    default: stack
+    description: What username to ssh to the virtual power host with.
+    type: string
+resources:
   01_undercloudNovaDeployment:
   01_undercloudNovaDeployment:
-    Type: OS::Heat::StructuredDeployment
-    Properties:
-      config: {Ref: undercloudNovaConfig}
-      server: {Ref: undercloud}
+    type: OS::Heat::StructuredDeployment
+    properties:
+      config: {get_resource: undercloudNovaConfig}
+      server: {get_resource: undercloud}
       signal_transport: NO_SIGNAL
       input_values:
       signal_transport: NO_SIGNAL
       input_values:
-        nova_arch: {Ref: BaremetalArch}
-        power_manager: {Ref: PowerManager}
-        pxe_deploy_timeout: {Ref: PxeDeployTimeout}
-        nova_service_password: {Ref: NovaPassword}
-        user: {Ref: PowerUserName}
-        ssh_host: {Ref: PowerSSHHost}
-        ssh_key: {Ref: PowerSSHPrivateKey}
+        nova_arch: {get_param: BaremetalArch}
+        power_manager: {get_param: PowerManager}
+        pxe_deploy_timeout: {get_param: PxeDeployTimeout}
+        nova_service_password: {get_param: NovaPassword}
+        user: {get_param: PowerUserName}
+        ssh_host: {get_param: PowerSSHHost}
+        ssh_key: {get_param: PowerSSHPrivateKey}