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)
-       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
-       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
-       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
-       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
-       python ./tripleo_heat_merge/merge.py $^ > $@.tmp
+       python ./tripleo_heat_merge/merge.py --hot $^ > $@.tmp
        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:
-    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:
-    Description: Admin Token needed for keystone
-    Type: String
-    NoEcho: true
-Resources:
+    description: Admin Token needed for keystone
+    type: string
+    hidden: true
+resources:
   RabbitMQ:
-    Type: AWS::CloudFormation::Stack
+    type: AWS::CloudFormation::Stack
     TemplateURL:
-      Fn::Join:
-        - {Ref: TemplateRoot}
+      list_join:
+        - {get_param: TemplateRoot}
         - rabbitmq.yaml
-    Parameters:
+    parameters:
       InstanceType: m1.small
       KeyName: default
       RabbitMQImage: image-rabbitmq
   MySQL:
-    Type: AWS::CloudFormation::Stack
+    type: AWS::CloudFormation::Stack
     TemplateURL:
-      Fn::Join:
-        - {Ref: TemplateRoot}
+      list_join:
+        - {get_param: TemplateRoot}
         - mysql.yaml
-    Parameters:
+    parameters:
       InstanceType: m1.small
       KeyName: default
       MySQLImage: image-mysql
   Keystone:
-    Type: AWS::CloudFormation::Stack
+    type: AWS::CloudFormation::Stack
     TemplateURL:
-      Fn::Join:
-        - {Ref: TemplateRoot}
+      list_join:
+        - {get_param: TemplateRoot}
         - keystone.yaml
-    Parameters:
-      AdminToken: {Ref: KeystoneAdminToken}
+    parameters:
+      AdminToken: {get_param: KeystoneAdminToken}
       KeyName: default
       KeystoneDSN:
-        Fn::Join:
+        list_join:
           - 'mysql://keystone:'
-          - {"Fn::GetAtt": [ MySQL , KeystonePassword ]}
+          - {get_attr: [ MySQL , KeystonePassword ]}
           - '@'
-          - {"Fn::GetAtt": [ MySQL , MySQLHost ]}
+          - {get_attr: [ MySQL , MySQLHost ]}
           - '/keystone'
   Glance:
-    Type: AWS::CloudFormation::Stack
+    type: AWS::CloudFormation::Stack
     TemplateURL:
-      Fn::Join:
-        - {Ref: TemplateRoot}
+      list_join:
+        - {get_param: TemplateRoot}
         - glance.yaml
-    Parameters:
+    parameters:
       KeyName: default
       HeatDSN:
-        Fn::Join:
+        list_join:
           - 'mysql://glance:'
-          - {"Fn::GetAtt": [ MySQL, GlancePassword ] }
+          - {get_attr: [ MySQL, GlancePassword ] }
           - '@'
-          - {"Fn::GetAtt": [ MySQL, MySQLHost ]}
+          - {get_attr: [ MySQL, MySQLHost ]}
           - '/glance'
   Heat:
-    Type: AWS::CloudFormation::Stack
+    type: AWS::CloudFormation::Stack
     TemplateURL:
-      Fn::Join:
-        - {Ref: TemplateRoot}
+      list_join:
+        - {get_param: TemplateRoot}
         - heat.yaml
-    Parameters:
+    parameters:
       KeyName: default
       HeatDSN:
-        Fn::Join:
+        list_join:
           - 'mysql://heat:'
-          - {"Fn::GetAtt": [ MySQL, HeatPassword ] }
+          - {get_attr: [ MySQL, HeatPassword ] }
           - '@'
-          - {"Fn::GetAtt": [ MySQL, MySQLHost ]}
+          - {get_attr: [ MySQL, MySQLHost ]}
           - '/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:
-    Type: String
-    Default: overcloud-cinder-volume
+    type: string
+    default: overcloud-cinder-volume
   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:
-    Type: OS::Heat::AccessPolicy
-    Properties:
+    type: OS::Heat::AccessPolicy
+    properties:
       AllowedResources:
       - BlockStorage0
   BlockStorageUser:
-    Type: AWS::IAM::User
-    Properties:
-      Policies: [ { Ref: BlockStorageAccessPolicy } ]
+    type: AWS::IAM::User
+    properties:
+      Policies: [ { get_resource: BlockStorageAccessPolicy } ]
   BlockStorageKey:
-    Type: AWS::IAM::AccessKey
-    Properties:
+    type: AWS::IAM::AccessKey
+    properties:
       UserName:
-        Ref: BlockStorageUser
+        get_resource: BlockStorageUser
   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:
-    Type: AWS::CloudFormation::WaitConditionHandle
+    type: AWS::CloudFormation::WaitConditionHandle
   BlockStorage0:
-    Type: OS::Nova::Server
-    Properties:
+    type: OS::Nova::Server
+    properties:
       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:
-        Ref: BlockStorage0CompletionHandle
+        get_resource: BlockStorage0CompletionHandle
       os-collect-config:
         cfn:
           access_key_id:
-            Ref: BlockStorageKey
+            get_resource: BlockStorageKey
           secret_access_key:
-            Fn::GetAtt: [ BlockStorageKey, SecretAccessKey ]
-          stack_name: {Ref: 'AWS::StackName'}
+            get_attr: [ BlockStorageKey, SecretAccessKey ]
+          stack_name: {get_param: 'AWS::StackName'}
       keystone:
-        host: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
+        host: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {get_attr: [controller0, networks]} ]} ] }
       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:
-          Ref: CinderPassword
+          get_param: CinderPassword
         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:
-        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:
-        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:
-    Type: String
-    Default: overcloud-cinder-volume
+    type: string
+    default: overcloud-cinder-volume
   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:
-    Type: String
-    Default: 'gre'
+    type: string
+    default: 'gre'
   NeutronEnableTunnelling:
-    Type: String
-    Default: True
-Resources:
+    type: string
+    default: True
+resources:
   BlockStorage0:
-    Type: OS::Nova::Server
-    Properties:
+    type: OS::Nova::Server
+    properties:
       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:
-    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:
-        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:
-    Type: OS::Heat::StructuredConfig
-    Properties:
+    type: OS::Heat::StructuredConfig
+    properties:
       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:
-            Ref: CinderLVMLoopDeviceSize
+            get_param: CinderLVMLoopDeviceSize
           service-password:
-            Ref: CinderPassword
+            get_param: CinderPassword
           iscsi-helper:
-            Ref: CinderISCSIHelper
-        admin-password: {Ref: AdminPassword}
+            get_param: CinderISCSIHelper
+        admin-password: {get_param: AdminPassword}
         rabbit:
           host: {get_input: controller_host}
-          username: {Ref: RabbitUserName}
-          password: {Ref: RabbitPassword}
+          username: {get_param: RabbitUserName}
+          password: {get_param: RabbitPassword}
         interfaces:
-          control: {Ref: NeutronPublicInterface}
+          control: {get_param: NeutronPublicInterface}
         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:
-            Ref: NeutronPassword
+            get_param: NeutronPassword
         config:
           keystone:
             host: {get_input: controller_host}
           cinder:
             db: {get_input: cinder_dsn}
             volume_size_mb:
-              Ref: CinderLVMLoopDeviceSize
+              get_param: CinderLVMLoopDeviceSize
             service-password:
-              Ref: CinderPassword
+              get_param: CinderPassword
             iscsi-helper:
-              Ref: CinderISCSIHelper
-          admin-password: {Ref: AdminPassword}
+              get_param: CinderISCSIHelper
+          admin-password: {get_param: AdminPassword}
           rabbit:
             host: {get_input: controller_host}
-            username: {Ref: RabbitUserName}
-            password: {Ref: RabbitPassword}
+            username: {get_param: RabbitUserName}
+            password: {get_param: RabbitPassword}
           interfaces:
-            control: {Ref: NeutronPublicInterface}
+            control: {get_param: NeutronPublicInterface}
           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:
-              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
-HeatTemplateFormatVersion: '2012-12-12'
-Parameters:
+heat_template_version: 2014-10-16
+parameters:
   AdminToken:
-    Type: String
+    type: string
   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:
-    Default: ''
-    Description: Load mysqldump from this Host
-    Type: String
+    default: ''
+    description: Load mysqldump from this Host
+    type: string
   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:
-    Default: ''
-    Description: Password to use with BootstrapSlaveUser
-    Type: String
-    NoEcho: true
+    default: ''
+    description: Password to use with BootstrapSlaveUser
+    type: string
+    hidden: true
   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:
-    Description: Password for connecting to glance database
-    Type: String
-    NoEcho: true
+    description: Password for connecting to glance database
+    type: string
+    hidden: true
   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:
-    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:
-    Description: Password for accessing Heat database.
-    Type: String
-    NoEcho: true
+    description: Password for accessing Heat database.
+    type: string
+    hidden: true
   InstanceType:
-    Default: baremetal
-    Description: Use this flavor
-    Type: String
+    default: baremetal
+    description: Use this flavor
+    type: string
   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:
-    Description: Password for connecting to keystone
-    Type: String
-    NoEcho: true
+    description: Password for connecting to keystone
+    type: string
+    hidden: true
   NovaDBPassword:
-    Description: Password for connecting to nova database
-    Type: String
-    NoEcho: true
+    description: Password for connecting to nova database
+    type: string
+    hidden: true
   NovaInterfaces:
-    Default: eth0
-    Type: String
+    default: eth0
+    type: string
   NeutronDBPassword:
-    Description: Password for connecting to neutron database
-    Type: String
-    NoEcho: true
+    description: Password for connecting to neutron database
+    type: string
+    hidden: true
   NeutronInterfaces:
-    Default: eth0
-    Type: String
+    default: eth0
+    type: string
   RabbitMQPassword:
-    Description: Password for RabbitMQ
-    Type: String
-    NoEcho: true
+    description: Password for RabbitMQ
+    type: string
+    hidden: true
   RabbitUserName:
-    Type: String
+    type: string
   RabbitPassword:
-    Type: String
-    NoEcho: true
+    type: string
+    hidden: true
   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:
-    Type: String
+    type: string
   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:
-    Properties:
+    properties:
       AllowedResources:
       - controller0
-    Type: OS::Heat::AccessPolicy
+    type: OS::Heat::AccessPolicy
   controller0Key:
-    Properties:
+    properties:
       UserName:
-        Ref: User
-    Type: AWS::IAM::AccessKey
+        get_resource: User
+    type: AWS::IAM::AccessKey
   User:
-    Properties:
+    properties:
       Policies:
-      - Ref: AccessPolicy
-    Type: AWS::IAM::User
+      - get_resource: AccessPolicy
+    type: AWS::IAM::User
   controller0:
-    Metadata:
+    metadata:
       admin-password:
-        Ref: ServicePassword
+        get_param: ServicePassword
       admin-token:
-        Ref: AdminToken
+        get_param: AdminToken
       mysql:
         create-users:
           - database: keystone
             username: keystone
-            password: {Ref: KeystoneDBPassword}
+            password: {get_param: KeystoneDBPassword}
           - database: heat
             username: heat
-            password: {Ref: HeatDBPassword}
+            password: {get_param: HeatDBPassword}
           - database: glance
             username: glance
-            password: {Ref: GlanceDBPassword}
+            password: {get_param: GlanceDBPassword}
           - database: nova
             username: nova
-            password: {Ref: NovaDBPassword}
+            password: {get_param: NovaDBPassword}
           - database: neutron
             username: neutron
-            password: {Ref: NeutronDBPassword}
+            password: {get_param: NeutronDBPassword}
       glance:
         db:
-          Fn::Join:
+          list_join:
             - ''
             - - 'mysql://glance:'
-              - {Ref: GlanceDBPassword}
+              - {get_param: GlanceDBPassword}
               - '@127.0.0.1/glance'
           notifier-strategy:
-            Ref: GlanceNotifierStrategy
+            get_param: GlanceNotifierStrategy
           log-file:
-            Ref: GlanceLogFile
+            get_param: GlanceLogFile
       heat:
         db:
-          Fn::Join:
+          list_join:
             - ''
             - - 'mysql://heat:'
-              - {Ref: HeatDBPassword}
+              - {get_param: HeatDBPassword}
               - '@127.0.0.1/heat'
         access_key_id:
-          Ref: controller0Key
+          get_resource: controller0Key
         refresh:
         - resource: controller0
         secret_key:
-          Fn::GetAtt:
+          get_attr:
           - controller0Key
           - SecretAccessKey
         stack:
           name:
-            Ref: AWS::StackName
+            get_param: AWS::StackName
           region:
-            Ref: AWS::Region
+            get_param: AWS::Region
         auth_encryption_key: unset
-        stack_domain_admin_password: {Ref: HeatStackDomainAdminPassword}
+        stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
       interfaces:
         control:
-          Ref: NovaInterfaces
+          get_param: NovaInterfaces
       keystone:
         host:
           '127.0.0.1'
         db:
-          Fn::Join:
+          list_join:
             - ''
             - - 'mysql://keystone:'
-              - {Ref: KeystoneDBPassword}
+              - {get_param: KeystoneDBPassword}
               - '@127.0.0.1/keystone'
       nova:
         db:
-          Fn::Join:
+          list_join:
             - ''
             - - 'mysql://nova:'
-              - {Ref: NovaDBPassword}
+              - {get_param: NovaDBPassword}
               - '@127.0.0.1/nova'
       neutron:
         host:
           '127.0.0.1'
         ovs_db:
-          Fn::Join:
+          list_join:
             - ''
             - - 'mysql://neutron:'
-              - {Ref: NeutronDBPassword}
+              - {get_param: NeutronDBPassword}
               - '@127.0.0.1/ovs_neutron'
       rabbit:
         host:
           '127.0.0.1'
         username:
-          Ref: RabbitUserName
+          get_param: RabbitUserName
         password:
-          Ref: RabbitPassword
+          get_param: RabbitPassword
         users:
           username:
-            Ref: RabbitUserName
+            get_param: RabbitUserName
           password:
-            Ref: RabbitPassword
+            get_param: RabbitPassword
         cookie:
-          Fn::GetAtt:
+          get_attr:
           - RabbitCookie
           - value
       service-password:
-        Ref: ServicePassword
-    Properties:
+        get_param: ServicePassword
+    properties:
       ImageId:
-        Ref: controllerImage
+        get_param: controllerImage
       InstanceType:
-        Ref: InstanceType
+        get_param: InstanceType
       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:
-    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:
-    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:
-    Default: [{"arch": "amd64"}]
-    Description: The architectures to be mirrored
-    Type: JSON
+    default: [{"arch": "amd64"}]
+    description: The architectures to be mirrored
+    type: JSON
   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:
-    Type: AWS::AutoScaling::LaunchConfiguration
-    Metadata:
+    type: AWS::AutoScaling::LaunchConfiguration
+    metadata:
       debian-mirror:
         mirror:
-          Ref: DebianMirrorMirror
+          get_param: DebianMirrorMirror
         suites:
-          Ref: DebianMirrorSuites
+          get_param: DebianMirrorSuites
         architectures:
-          Ref: DebianMirrorArchitectures
+          get_param: DebianMirrorArchitectures
         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
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
index e3019f2..1375bae 100644 (file)
@@ -1,5 +1,5 @@
 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
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
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
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
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
index 5976e54..69f0f24 100644 (file)
@@ -1,5 +1,5 @@
 description: examples/scale_map_hot.yaml
-heat_template_version: '2013-05-23'
+heat_template_version: '2014-10-16'
 resources:
   ComputeUser:
     properties:
index 17c0514..c9f865a 100644 (file)
@@ -1,5 +1,5 @@
 description: examples/scale1_hot.yaml
-heat_template_version: '2013-05-23'
+heat_template_version: '2014-10-16'
 resources:
   ComputeUser:
     properties:
index 3f891e4..294fed8 100644 (file)
@@ -1,5 +1,5 @@
 description: examples/source2_hot.yaml
-heat_template_version: '2013-05-23'
+heat_template_version: '2014-10-16'
 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
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
index f8853c2..ec3bfb6 100644 (file)
@@ -1,5 +1,5 @@
 description: examples/source_include_subkey_hot.yaml
-heat_template_version: '2013-05-23'
+heat_template_version: '2014-10-16'
 parameters:
   Foo:
     type: string
index 4c07da0..0235f20 100644 (file)
@@ -1,5 +1,5 @@
 description: examples/source_hot.yaml
-heat_template_version: '2013-05-23'
+heat_template_version: '2014-10-16'
 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.
 #
-heat_template_version: 2013-05-23
+heat_template_version: 2014-10-16
 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:
-    Type: AWS::AutoScaling::LaunchConfiguration
-    Metadata:
+    type: AWS::AutoScaling::LaunchConfiguration
+    metadata:
       nfs_server:
         shares:
           Merge::Map:
             NovaCompute0:
-              Fn::Join:
+              list_join:
               - ' '
               - - Fn::Select:
                   - 0
                   - Fn::Select:
                     - ctlplane
-                    - Fn::GetAtt:
+                    - get_attr:
                       - NovaCompute0
                       - networks
             BlockStorage0:
-              Fn::Join:
+              list_join:
               - ' '
               - - Fn::Select:
                   - 0
                   - Fn::Select:
                     - ctlplane
-                    - Fn::GetAtt:
+                    - get_attr:
                       - BlockStorage0
                       - networks
index c426443..081ca81 100644 (file)
@@ -1,7 +1,7 @@
-Resources:
+resources:
   NovaComputeConfig:
-    Type: OS::Heat::StructuredConfig
-    Properties:
+    type: OS::Heat::StructuredConfig
+    properties:
       group: os-apply-config
       config:
         nova:
@@ -54,7 +54,7 @@ Resources:
           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}
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:
-    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:
-    Description: |
+    description: |
       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:
-    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:
-    Description: Use this flavor
-    Type: String
-    Default: baremetal
+    description: Use this flavor
+    type: string
+    default: baremetal
   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:
-    Type: String
-    Default: overcloud-compute
+    type: string
+    default: overcloud-compute
   NtpServer:
-    Type: String
-    Default: ''
+    type: string
+    default: ''
   KeystoneHost:
-    Type: String
+    type: string
   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:
-    Type: String
+    type: string
   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:
-    Default: ''
-    Description: A port to add to the NeutronPhysicalBridge.
-    Type: String
+    default: ''
+    description: A port to add to the NeutronPhysicalBridge.
+    type: string
   RabbitUserName:
-    Type: String
+    type: string
   RabbitPassword:
-    Type: String
-    NoEcho: true
+    type: string
+    hidden: true
   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:
-    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:
-    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:
-    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:
-    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:
-    Type: String
-    Default: libvirt.LibvirtDriver
+    type: string
+    default: libvirt.LibvirtDriver
   NovaComputeLibvirtType:
-    Type: String
-    Default: ''
+    type: string
+    default: ''
   NovaApiHost:
-    Type: String
+    type: string
   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:
-    Type: String
+    type: string
   GlancePort:
-    Default: 9292
-    Description: Glance port.
-    Type: String
+    default: 9292
+    description: Glance port.
+    type: string
   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:
-    Type: String
+    type: string
   NovaDSN:
-    Type: String
+    type: string
   NeutronDSN:
-    Type: String
+    type: string
   NeutronBridgeMappings:
-    Type: String
+    type: string
   NeutronNetworkVLANRanges:
-    Type: String
+    type: string
   NeutronNetworkType:
-    Type: String
+    type: string
   NeutronEnableTunnelling:
-    Type: String
+    type: string
   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:
-    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:
-    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:
-    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:
-    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:
-    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:
-    Type: OS::Nova::Server
-    Properties:
+    type: OS::Nova::Server
+    properties:
       image:
-        {Ref: NovaImage}
+        {get_param: NovaImage}
       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:
-    DependsOn: [controller0AllNodes]
-    Type: OS::Heat::StructuredDeployment
-    Properties:
+    depends_on: [controller0AllNodes]
+    type: OS::Heat::StructuredDeployment
+    properties:
       signal_transport: NO_SIGNAL
-      config: {Ref: NovaComputeConfig}
-      server: {Ref: NovaCompute0}
+      config: {get_resource: NovaComputeConfig}
+      server: {get_resource: NovaCompute0}
       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:
-    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:
-    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:
-        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
-HeatTemplateFormatVersion: '2012-12-12'
-Parameters:
+heat_template_version: 2014-10-16
+parameters:
   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:
-    Default: unset
-    Description: The keystone auth secret.
-    Type: String
-    NoEcho: true
+    default: unset
+    description: The keystone auth secret.
+    type: string
+    hidden: true
   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:
-    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:
-    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:
-    Default: {}
-    Description: |
+    default: {}
+    description: |
       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:
-    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:
-    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:
-    Default: 9292
-    Description: Glance port.
-    Type: String
+    default: 9292
+    description: Glance port.
+    type: string
   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:
-    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:
-    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:
-    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:
-    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:
-    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:
-    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:
-    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:
-    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:
-    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:
-    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:
-    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:
-    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:
-    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:
-    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:
-    Default: libvirt.LibvirtDriver
-    Type: String
+    default: libvirt.LibvirtDriver
+    type: string
   NovaComputeLibvirtType:
-    Default: ''
-    Type: String
+    default: ''
+    type: string
   NovaImage:
-    Type: String
-    Default: overcloud-compute
+    type: string
+    default: overcloud-compute
   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:
-    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:
-    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:
-    Default: ''
-    Description: What interface to add to the HypervisorNeutronPhysicalBridge.
-    Type: String
+    default: ''
+    description: What interface to add to the HypervisorNeutronPhysicalBridge.
+    type: string
   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:
-    Default: ''
-    Description: A custom default route for the NeutronPublicInterface.
-    Type: String
+    default: ''
+    description: A custom default route for the NeutronPublicInterface.
+    type: string
   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:
-    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:
-    Default: ''
-    Type: String
-    Description: Neutron ID for ctlplane network.
+    default: ''
+    type: string
+    description: Neutron ID for ctlplane network.
   NeutronDnsmasqOptions:
-    Default: 'dhcp-option-force=26,1400'
-    Description: Dnsmasq options for neutron-dhcp-agent. The default value here forces MTU to be set to 1400 to account for the gre tunnel overhead.
-    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:
-    Type: String
-    Default: overcloud-control
+    type: string
+    default: overcloud-control
   NtpServer:
-    Type: String
-    Default: ''
+    type: string
+    default: ''
   RabbitUserName:
-    Default: guest
-    Description: The username for RabbitMQ
-    Type: String
+    default: guest
+    description: The username for RabbitMQ
+    type: string
   RabbitPassword:
-    Default: guest
-    Description: The password for RabbitMQ
-    Type: String
-    NoEcho: true
+    default: guest
+    description: The password for RabbitMQ
+    type: string
+    hidden: true
   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:
-    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:
-    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:
-    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:
-    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:
-    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:
-    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:
-    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.
-    Type: Number
-    Default: 0
+    type: number
+    default: 0
   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:
-    Default: []
-    Description: Should be used for arbitrary ips.
-    Type: Json
+    default: []
+    description: Should be used for arbitrary ips.
+    type: json
   PublicVirtualFixedIPs:
-    Default: []
-    Description: |
+    default: []
+    description: |
         Control the IP allocation for the PublicVirtualInterface port. E.g.
         [{'ip_address':'1.2.3.4'}]
-    Type: Json
+    type: json
   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.
-    Type: String
+    type: string
   PublicVirtualNetwork:
-    Default: 'ctlplane'
-    Type: String
-    Description: >
+    default: 'ctlplane'
+    type: string
+    description: >
         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:
-    Default: ''
-    Description: Keystone certificate for verifying token validity.
-    Type: String
+    default: ''
+    description: Keystone certificate for verifying token validity.
+    type: string
   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:
-    Type: OS::Neutron::Port
-    Properties:
+    type: OS::Neutron::Port
+    properties:
       name: control_virtual_ip
-      network_id: {Ref: NeutronControlPlaneID}
+      network_id: {get_param: NeutronControlPlaneID}
       fixed_ips:
-        Ref: ControlFixedIPs
+        get_param: ControlFixedIPs
   MysqlClusterUniquePart:
-    Type: OS::Heat::RandomString
-    Properties:
+    type: OS::Heat::RandomString
+    properties:
       length: 10
   PublicVirtualIP:
-    Type: OS::Neutron::Port
-    Properties:
+    type: OS::Neutron::Port
+    properties:
       name: public_virtual_ip
-      network: {Ref: PublicVirtualNetwork}
+      network: {get_param: PublicVirtualNetwork}
       fixed_ips:
-        Ref: PublicVirtualFixedIPs
+        get_param: PublicVirtualFixedIPs
   RabbitCookie:
-    Type: OS::Heat::RandomString
-    Properties:
+    type: OS::Heat::RandomString
+    properties:
       length: 20
       salt:
-        Ref: RabbitCookieSalt
+        get_param: RabbitCookieSalt
   NovaCompute0Deploy:
-    Type: FileInclude
+    type: FileInclude
     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:
-            Ref: NeutronFlatNetworks
+            get_param: NeutronFlatNetworks
         NeutronNetworkVLANRanges: ""
         NeutronPhysicalBridge:
-            Ref: HypervisorNeutronPhysicalBridge
+            get_param: HypervisorNeutronPhysicalBridge
         NeutronPublicInterface:
-            Ref: HypervisorNeutronPublicInterface
+            get_param: HypervisorNeutronPublicInterface
         NeutronBridgeMappings:
-            Ref: NeutronBridgeMappings
+            get_param: NeutronBridgeMappings
   NovaCompute0AllNodes:
-    Type: FileInclude
+    type: FileInclude
     Path: nova-compute-instance.yaml
-    SubKey: Resources.NovaCompute0AllNodesDeploy
-    Parameters:
-        AllNodesConfig: {Ref: allNodesConfig}
+    SubKey: resources.NovaCompute0AllNodesDeploy
+    parameters:
+        AllNodesConfig: {get_resource: allNodesConfig}
   NovaCompute0Passthrough:
-    Type: FileInclude
+    type: FileInclude
     Path: nova-compute-instance.yaml
-    SubKey: Resources.NovaCompute0Passthrough
-    Parameters:
-        passthrough_config: {Ref: ExtraConfig}
+    SubKey: resources.NovaCompute0Passthrough
+    parameters:
+        passthrough_config: {get_param: ExtraConfig}
   NovaCompute0:
-    Type: FileInclude
+    type: FileInclude
     Path: nova-compute-instance.yaml
-    SubKey: Resources.NovaCompute0
+    SubKey: resources.NovaCompute0
   controllerConfig:
-    Type: OS::Heat::StructuredConfig
-    Properties:
+    type: OS::Heat::StructuredConfig
+    properties:
       group: os-apply-config
       config:
         admin-password:
-          Ref: AdminPassword
+          get_param: AdminPassword
         admin-token:
-          Ref: AdminToken
+          get_param: AdminToken
         bootstack:
           public_interface_ip:
-            Ref: NeutronPublicInterfaceIP
+            get_param: NeutronPublicInterfaceIP
         bootstrap_host:
           bootstrap_nodeid:
             Fn::Select:
@@ -368,18 +369,18 @@ Resources:
                   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:
-            Ref: CinderLVMLoopDeviceSize
+            get_param: CinderLVMLoopDeviceSize
           service-password:
-            Ref: CinderPassword
+            get_param: CinderPassword
           iscsi-helper:
-            Ref: CinderISCSIHelper
+            get_param: CinderISCSIHelper
         controller-address:
           get_input: controller_host
         corosync:
@@ -388,7 +389,7 @@ Resources:
           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
@@ -402,26 +403,26 @@ Resources:
           host:
             get_input: controller_virtual_ip
           port:
-            Ref: GlancePort
+            get_param: GlancePort
           protocol:
-            Ref: GlanceProtocol
+            get_param: GlanceProtocol
           service-password:
-            Ref: GlancePassword
+            get_param: GlancePassword
           swift-store-user: service:glance
           swift-store-key:
-            Ref: GlancePassword
+            get_param: GlancePassword
           notifier-strategy:
-            Ref: GlanceNotifierStrategy
+            get_param: GlanceNotifierStrategy
           log-file:
-            Ref: GlanceLogFile
+            get_param: GlanceLogFile
         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
-          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}
@@ -431,58 +432,58 @@ Resources:
               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
-          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:
-          innodb_buffer_pool_size: {Ref: MysqlInnodbBufferPoolSize}
+          innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
           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:
-            Fn::Join:
+            list_join:
               - '-'
               - - 'tripleo'
-                - {Ref: MysqlClusterUniquePart}
+                - {get_resource: MysqlClusterUniquePart}
         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
-            bridge_mappings: {Ref: NeutronBridgeMappings}
+            bridge_mappings: {get_param: NeutronBridgeMappings}
             public_interface:
-              Ref: NeutronPublicInterface
+              get_param: NeutronPublicInterface
             public_interface_raw_device:
-              Ref: NeutronPublicInterfaceRawDevice
+              get_param: NeutronPublicInterfaceRawDevice
             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:
-            Ref: NeutronPassword
+            get_param: NeutronPassword
           dnsmasq-options:
-            Ref: NeutronDnsmasqOptions
+            get_param: NeutronDnsmasqOptions
         ceilometer:
           db: mysql://ceilometer:unset@localhost/ceilometer
-          metering_secret: {Ref: CeilometerMeteringSecret}
+          metering_secret: {get_param: CeilometerMeteringSecret}
           service-password:
-            Ref: CeilometerPassword
+            get_param: CeilometerPassword
         snmpd:
           export_MIB: UCD-SNMP-MIB
           readonly_user_name:
-            Ref: SnmpdReadonlyUserName
+            get_param: SnmpdReadonlyUserName
           readonly_user_password:
-            Ref: SnmpdReadonlyUserPassword
+            get_param: SnmpdReadonlyUserPassword
         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:
-            Ref: NovaPassword
+            get_param: NovaPassword
         rabbit:
           username:
-            Ref: RabbitUserName
+            get_param: RabbitUserName
           password:
-            Ref: RabbitPassword
+            get_param: RabbitPassword
           cookie:
-            Fn::GetAtt:
+            get_attr:
             - 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:
-                Ref: ControlVirtualInterface
+                get_param: ControlVirtualInterface
               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:
-                  Ref: ControlVirtualInterface
+                  get_param: ControlVirtualInterface
             - vrrp_instance_name: VI_PUBLIC
               virtual_router_id: 52
               keepalive_interface:
-                Ref: PublicVirtualInterface
+                get_param: PublicVirtualInterface
               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:
-                  Ref: PublicVirtualInterface
+                  get_param: PublicVirtualInterface
           vrrp_sync_groups:
             - name: VG1
               members:
@@ -531,31 +532,31 @@ Resources:
                 - VI_PUBLIC
         keepalived:
           keepalive_interface:
-            Ref: PublicVirtualInterface
+            get_param: PublicVirtualInterface
           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:
-                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:
-                Ref: PublicVirtualInterface
+                get_param: PublicVirtualInterface
         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:
-            - 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
-                - 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
@@ -598,41 +599,41 @@ Resources:
               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:
-    Type: OS::Nova::Server
-    Properties:
+    type: OS::Nova::Server
+    properties:
       image:
-        Ref: controllerImage
+        get_param: controllerImage
       image_update_policy:
-        Ref: ImageUpdatePolicy
+        get_param: ImageUpdatePolicy
       flavor:
-        Ref: OvercloudControlFlavor
+        get_param: OvercloudControlFlavor
       key_name:
-        Ref: KeyName
+        get_param: KeyName
       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:
-    Type: OS::Heat::StructuredDeployment
-    Properties:
+    type: OS::Heat::StructuredDeployment
+    properties:
       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
-          - Fn::GetAtt:
+          - get_attr:
             - controller0
             - show
         controller_host:
@@ -640,102 +641,102 @@ Resources:
             - 0
             - Fn::Select:
               - ctlplane
-              - Fn::GetAtt:
+              - get_attr:
                 - 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:
-          Fn::Join:
+          list_join:
             - ''
             - - '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:
-          Fn::Join:
+          list_join:
             - ''
             - - '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:
-          Fn::Join:
+          list_join:
             - ''
             - - '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:
-    Type: OS::Heat::StructuredConfig
-    Properties:
+    type: OS::Heat::StructuredConfig
+    properties:
       config:
         completion-signal: {get_input: deploy_signal_id}
         hosts:
-          Fn::Join:
+          list_join:
           - "\n"
-          - - Fn::Join:
+          - - list_join:
               - "\n"
               - Merge::Map:
                   NovaCompute0:
-                    Fn::Join:
+                    list_join:
                     - ' '
                     - - Fn::Select:
                         - 0
                         - Fn::Select:
                           - ctlplane
-                          - Fn::GetAtt:
+                          - get_attr:
                             - NovaCompute0
                             - networks
                       - Fn::Select:
                         - name
-                        - Fn::GetAtt:
+                        - get_attr:
                           - NovaCompute0
                           - show
-                      - Fn::Join:
+                      - list_join:
                         - '.'
                         - - Fn::Select:
                             - name
-                            - Fn::GetAtt:
+                            - get_attr:
                               - NovaCompute0
                               - show
                           - 'novalocal'
-            - Fn::Join:
+            - list_join:
               - "\n"
               - Merge::Map:
                   controller0:
-                    Fn::Join:
+                    list_join:
                     - ' '
                     - - Fn::Select:
                         - 0
                         - Fn::Select:
                           - ctlplane
-                          - Fn::GetAtt:
+                          - get_attr:
                             - controller0
                             - networks
                       - Fn::Select:
                         - name
-                        - Fn::GetAtt:
+                        - get_attr:
                           - controller0
                           - show
-                      - Fn::Join:
+                      - list_join:
                         - '.'
                         - - Fn::Select:
                             - name
-                            - Fn::GetAtt:
+                            - get_attr:
                               - controller0
                               - show
                           - 'novalocal'
-                      - {Ref: CloudName}
+                      - {get_param: CloudName}
         rabbit:
           nodes:
-            Fn::Join:
+            list_join:
               - ','
               - Merge::Map:
                   controller0:
-                    {"Fn::Select": [ name, {"Fn::GetAtt": [controller0, show]} ] }
+                    {"Fn::Select": [ name, {get_attr: [controller0, show]} ] }
   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:
@@ -743,32 +744,32 @@ Resources:
             - 0
             - Fn::Select:
               - ctlplane
-              - Fn::GetAtt:
+              - get_attr:
                 - 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:
-    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:
-        passthrough_config: {Ref: ExtraConfig}
-Outputs:
+        passthrough_config: {get_param: ExtraConfig}
+outputs:
   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
-            - Fn::GetAtt:
+            - get_attr:
               - 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:
-    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:
-    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:
-    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:
-    Type: OS::Heat::StructuredConfig
-    Properties:
+    type: OS::Heat::StructuredConfig
+    properties:
       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:
-    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:
-    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:
-    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:
-        swift_hash_suffix: {Ref: SwiftHashSuffix}
-        swift_password: {Ref: SwiftPassword}
+        swift_hash_suffix: {get_param: SwiftHashSuffix}
+        swift_password: {get_param: SwiftPassword}
         swift_devices:
-          Fn::Join:
+          list_join:
           - ', '
           - Merge::Map:
               controller0:
-                Fn::Join:
+                list_join:
                 - ''
                 - - 'r1z1-'
-                  - {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
+                  - {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {get_attr: [controller0, networks]} ]} ] }
                   - ':%PORT%/d1'
               SwiftStorage0:
-                Fn::Join:
+                list_join:
                 - ''
                 - - 'r1z1-'
                   - Fn::Select:
                     - 0
                     - Fn::Select:
                       - 'ctlplane'
-                      - Fn::GetAtt:
+                      - get_attr:
                         - SwiftStorage0
                         - networks
                   - ':%PORT%/d1'
         swift_proxy_memcache:
-          Fn::Join:
+          list_join:
             - ','
             - 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'
index 3ca2b1a..a033687 100644 (file)
@@ -1,7 +1,7 @@
-Resources:
+resources:
   SwiftConfig:
-    Type: OS::Heat::StructuredConfig
-    Properties:
+    type: OS::Heat::StructuredConfig
+    properties:
       group: os-apply-config
       config:
         swift:
@@ -12,7 +12,7 @@ Resources:
           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 }
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:
-    Type: String
-    Default: overcloud-swift-storage
+    type: string
+    default: overcloud-swift-storage
   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:
-    Type: String
-    Default: 'gre'
+    type: string
+    default: 'gre'
   NeutronEnableTunnelling:
-    Type: String
-    Default: True
-Resources:
+    type: string
+    default: True
+resources:
   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:
-    Type: OS::Heat::StructuredConfig
-    Properties:
+    type: OS::Heat::StructuredConfig
+    properties:
       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:
-        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:
-    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:
-        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:
-          Fn::Join:
+          list_join:
           - ', '
           - Merge::Map:
               controller0:
-                Fn::Join:
+                list_join:
                 - ''
                 - - 'r1z1-'
-                  - {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
+                  - {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {get_attr: [controller0, networks]} ]} ] }
                   - ':%PORT%/d1'
               SwiftStorage0:
-                Fn::Join:
+                list_join:
                 - ''
                 - - 'r1z1-'
                   - Fn::Select:
                     - 0
                     - Fn::Select:
                       - 'ctlplane'
-                      - Fn::GetAtt:
+                      - get_attr:
                         - SwiftStorage0
                         - networks
                   - ':%PORT%/d1'
         swift_proxy_memcache:
-          Fn::Join:
+          list_join:
             - ','
             - 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'
index 077bcb1..3549769 100644 (file)
@@ -26,7 +26,7 @@ class Cfn(object):
 class Hot(object):
 
     base_template = {
-        'heat_template_version': '2013-05-23',
+        'heat_template_version': '2014-10-16',
         'description': []
     }
     get_resource = 'get_resource'
index 1d40121..ba39710 100644 (file)
@@ -1,7 +1,7 @@
-Resources:
+resources:
   undercloudNovaConfig:
-    Type: OS::Heat::StructuredConfig
-    Properties:
+    type: OS::Heat::StructuredConfig
+    properties:
       config:
         nova:
           compute_hostname: undercloud
index 41cf10a..3df8597 100644 (file)
@@ -1,25 +1,25 @@
-Parameters:
+parameters:
   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:
-    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:
-    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:
-    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:
-        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:
-    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:
-    Default: unset
-    Description: The keystone auth secret.
-    Type: String
-    NoEcho: true
+    default: unset
+    description: The keystone auth secret.
+    type: string
+    hidden: true
   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:
-    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:
-    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:
-    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:
-    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:
-    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:
-    Default: {}
-    Description: |
+    default: {}
+    description: |
       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:
-    Default: baremetal
-    Description: Flavor to request when deploying.
-    Type: String
+    default: baremetal
+    description: Flavor to request when deploying.
+    type: string
   GlancePort:
-   Default: 9292
-   Description: Glance port.
-   Type: String
+   default: 9292
+   description: Glance port.
+   type: string
   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:
-    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:
-    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:
-    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:
-    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:
-    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:
-    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.
-    Type: String
+    type: string
   undercloudImage:
-    Default: undercloud
-    Type: String
+    default: undercloud
+    type: string
   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:
-    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:
-    Default: ''
-    Description: A custom default route for the NeutronPublicInterface.
-    Type: String
+    default: ''
+    description: A custom default route for the NeutronPublicInterface.
+    type: string
   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:
-    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:
-    Type: String
-    Default: ''
+    type: string
+    default: ''
   RabbitUserName:
-    Default: guest
-    Description: The username for RabbitMQ
-    Type: String
+    default: guest
+    description: The username for RabbitMQ
+    type: string
   RabbitPassword:
-    Default: guest
-    Description: The password for RabbitMQ
-    Type: String
-    NoEcho: true
+    default: guest
+    description: The password for RabbitMQ
+    type: string
+    hidden: true
   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:
-    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:
-    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.
-    Type: Number
-    Default: 0
+    type: number
+    default: 0
   KeystoneCACertificate:
-    Default: ''
-    Description: Keystone self-signed certificate authority certificate.
-    Type: String
+    default: ''
+    description: Keystone self-signed certificate authority certificate.
+    type: string
   KeystoneSigningCertificate:
-    Default: ''
-    Description: Keystone certificate for verifying token validity.
-    Type: String
+    default: ''
+    description: Keystone certificate for verifying token validity.
+    type: string
   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:
-    Type: OS::Heat::RandomString
-    Properties:
+    type: OS::Heat::RandomString
+    properties:
       length: 20
       salt:
-        Ref: RabbitCookieSalt
+        get_param: RabbitCookieSalt
   undercloudConfig:
-    Type: OS::Heat::StructuredConfig
-    Properties:
+    type: OS::Heat::StructuredConfig
+    properties:
       config:
         completion-signal: {get_input: deploy_signal_id}
         admin-password:
-          Ref: AdminPassword
+          get_param: AdminPassword
         admin-token:
-          Ref: AdminToken
+          get_param: AdminToken
         bootstrap_host:
           bootstrap_nodeid:
             Fn::Select:
@@ -207,68 +207,68 @@ Resources:
                   undercloud:
                   - Fn::Select:
                     - name
-                    - Fn::GetAtt:
+                    - get_attr:
                       - 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
-          metering_secret: {Ref: CeilometerMeteringSecret}
+          metering_secret: {get_param: CeilometerMeteringSecret}
           snmpd_readonly_user_name:
-            Ref: SnmpdReadonlyUserName
+            get_param: SnmpdReadonlyUserName
           snmpd_readonly_user_password:
-            Ref: SnmpdReadonlyUserPassword
+            get_param: SnmpdReadonlyUserPassword
           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:
-            Ref: GlancePort
+            get_param: GlancePort
           protocol:
-            Ref: GlanceProtocol
+            get_param: GlanceProtocol
           service-password:
-            Ref: GlancePassword
+            get_param: GlancePassword
           notifier-strategy:
-            Ref: GlanceNotifierStrategy
+            get_param: GlanceNotifierStrategy
           log-file:
-            Ref: GlanceLogFile
+            get_param: GlanceLogFile
         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
-          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
-          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:
-          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:
-              Ref: NeutronPublicInterface
+              get_param: NeutronPublicInterface
             public_interface_raw_device:
-              Ref: NeutronPublicInterfaceRawDevice
+              get_param: NeutronPublicInterfaceRawDevice
             public_interface_route:
-              Ref: NeutronPublicInterfaceDefaultRoute
+              get_param: NeutronPublicInterfaceDefaultRoute
             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:
-            Ref: NeutronPassword
+            get_param: NeutronPassword
         rabbit:
           host: 127.0.0.1
           username:
-            Ref: RabbitUserName
+            get_param: RabbitUserName
           password:
-            Ref: RabbitPassword
+            get_param: RabbitPassword
           cookie:
-            Fn::GetAtt:
+            get_attr:
             - RabbitCookie
             - value
         ntp:
           servers:
-            - {server: {Ref: NtpServer}, fudge: "stratum 0"}
+            - {server: {get_param: NtpServer}, fudge: "stratum 0"}
   undercloudPassthroughConfig:
-    Type: OS::Heat::StructuredConfig
-    Properties:
+    type: OS::Heat::StructuredConfig
+    properties:
       config: {get_input: passthrough_config}
   undercloud:
-    Type: OS::Nova::Server
-    Properties:
+    type: OS::Nova::Server
+    properties:
       image:
-        Ref: undercloudImage
+        get_param: undercloudImage
       flavor:
-        Ref: Flavor
+        get_param: Flavor
       key_name:
-        Ref: KeyName
+        get_param: KeyName
       image_update_policy:
-        Ref: ImageUpdatePolicy
+        get_param: ImageUpdatePolicy
       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
-            - Fn::GetAtt:
+            - get_attr:
               - undercloud
               - show
         controller_host:
@@ -325,32 +325,32 @@ Resources:
             - 0
             - Fn::Select:
               - ctlplane
-              - Fn::GetAtt:
+              - get_attr:
                 - undercloud
                 - networks
         heat.watch_server_url:
-          Fn::Join:
+          list_join:
             - ''
             - - '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:
-          Fn::Join:
+          list_join:
             - ''
             - - '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:
-          Fn::Join:
+          list_join:
             - ''
             - - '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:
-    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:
-        passthrough_config: {Ref: ExtraConfig}
+        passthrough_config: {get_param: ExtraConfig}
index 241efa1..1a90504 100644 (file)
@@ -1,7 +1,7 @@
-Resources:
+resources:
   undercloudNovaConfig:
-    Type: OS::Heat::StructuredConfig
-    Properties:
+    type: OS::Heat::StructuredConfig
+    properties:
       config:
         nova:
           compute_hostname: undercloud
@@ -16,8 +16,8 @@ Resources:
             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
index 10eb44d..8fff9d5 100644 (file)
@@ -1,31 +1,31 @@
-Parameters:
+parameters:
   IronicPassword:
-    Type: String
-    Description: Ironic password for keystone access
-    NoEcho: true
+    type: string
+    description: Ironic password for keystone access
+    hidden: true
   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:
-    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:
-    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:
-        nova_service_password: {Ref: NovaPassword}
+        nova_service_password: {get_param: NovaPassword}
   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:
-        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:
-    Type: OS::Heat::StructuredConfig
-    Properties:
+    type: OS::Heat::StructuredConfig
+    properties:
       config:
         nova:
           compute_hostname: undercloud
index 1689036..1480938 100644 (file)
@@ -1,40 +1,40 @@
-Parameters:
+parameters:
   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:
-    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:
-    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:
-    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:
-    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:
-    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:
-    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:
-        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}