-HeatTemplateFormatVersion: '2012-12-12'
-Description: 'Common Block Storage Configuration'
-Parameters:
+heat_template_version: 2013-05-23
+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
+ depends_on: controller0Config
+ properties:
+ Handle: {get_resource: BlockStorage0CompletionHandle}
+ Count: '1'
+ Timeout: '1800'
+ BlockStorage0CompletionHandle:
+ 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:
+ 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'}
- OpenStack::ImageBuilder::Elements: [ cinder ]
+ get_attr: [ BlockStorageKey, SecretAccessKey ]
+ stack_name: {get_param: 'AWS::StackName'}
keystone:
- host: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notCompute0, networks]} ]} ] }
+ host: {get_attr: [controller0, networks, ctlplane, 0]}
cinder:
- db: {"Fn::Join": ['', ['mysql://cinder:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notCompute0, networks]} ]} ] } , '/cinder']]}
+ db: {"Fn::Join": ['', ['mysql://cinder:unset@', {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} , '/cinder']]}
volume_size_mb: '5000'
service-password:
- Ref: CinderPassword
- volume: 'true'
+ get_param: CinderPassword
include_nfs_backend: 'true'
nfs_shares:
- - {"Fn::Join": ['', [{"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notCompute0, networks]} ]} ] } , ':/mnt/state/var/lib/nfs_share']]}
- admin-password: {Ref: AdminPassword}
+ - {"Fn::Join": ['', [{get_attr: [controller0, networks, ctlplane, 0]} , ':/mnt/state/var/lib/nfs_share']]}
+ admin-password: {get_param: AdminPassword}
rabbit:
- host: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notCompute0, networks]} ]} ] }
- username: {Ref: RabbitUserName}
- password: {Ref: RabbitPassword}
+ host: {get_attr: [controller0, networks, ctlplane, 0]}
+ username: {get_param: RabbitUserName}
+ password: {get_param: RabbitPassword}
interfaces:
- control: {Ref: NeutronPublicInterface}
+ control: {get_param: NeutronPublicInterface}