Merge "Fix Merge::Map for scatter-gather in Configs."
[apex-tripleo-heat-templates.git] / block-storage.yaml
1 HeatTemplateFormatVersion: '2012-12-12'
2 Description: 'Common Block Storage Configuration'
3 Parameters:
4   BlockStorageImage:
5     Type: String
6     Default: overcloud-cinder-volume
7   RabbitUserName:
8     Type: String
9     Default: "guest"
10   RabbitPassword:
11     Type: String
12     Default: "guest"
13     NoEcho: true
14   OvercloudBlockStorageFlavor:
15     Default: baremetal
16     Description: Flavor for block storage nodes to request when deploying.
17     Type: String
18 Resources:
19   BlockStorageAccessPolicy:
20     Type: OS::Heat::AccessPolicy
21     Properties:
22       AllowedResources:
23       - BlockStorage0
24   BlockStorageUser:
25     Type: AWS::IAM::User
26     Properties:
27       Policies: [ { Ref: BlockStorageAccessPolicy } ]
28   BlockStorageKey:
29     Type: AWS::IAM::AccessKey
30     Properties:
31       UserName:
32         Ref: BlockStorageUser
33   BlockStorage0:
34     Type: OS::Nova::Server
35     Properties:
36       image:
37         {Ref: BlockStorageImage}
38       flavor: {Ref: OvercloudBlockStorageFlavor}
39       key_name: {Ref: KeyName}
40     Metadata:
41       os-collect-config:
42         cfn:
43           access_key_id:
44             Ref: BlockStorageKey
45           secret_access_key:
46             Fn::GetAtt: [ BlockStorageKey, SecretAccessKey ]
47           stack_name: {Ref: 'AWS::StackName'}
48       OpenStack::ImageBuilder::Elements: [ cinder ]
49       keystone:
50         host: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notCompute0, networks]} ]} ] }
51       cinder:
52         db: {"Fn::Join": ['', ['mysql://cinder:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notCompute0, networks]} ]} ] } , '/cinder']]}
53         volume_size_mb: '5000'
54         service-password:
55           Ref: CinderPassword
56         volume: 'true'
57       admin-password: {Ref: AdminPassword}
58       rabbit:
59         host: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notCompute0, networks]} ]} ] }
60         username: {Ref: RabbitUserName}
61         password: {Ref: RabbitPassword}
62       interfaces:
63         control: {Ref: NeutronPublicInterface}