Convert Fn::Select to extended get_attr
[apex-tripleo-heat-templates.git] / block-storage.yaml
1 heat_template_version: 2014-10-16
2 description: 'Common Block Storage Configuration'
3 parameters:
4   BlockStorageImage:
5     type: string
6     default: overcloud-cinder-volume
7   OvercloudBlockStorageFlavor:
8     default: baremetal
9     description: Flavor for block storage nodes to request when deploying.
10     type: string
11   NeutronNetworkType:
12     type: string
13     default: 'gre'
14   NeutronEnableTunnelling:
15     type: string
16     default: True
17 resources:
18   BlockStorage0:
19     type: OS::Nova::Server
20     properties:
21       image:
22         {get_param: BlockStorageImage}
23       flavor: {get_param: OvercloudBlockStorageFlavor}
24       key_name: {get_param: KeyName}
25       user_data_format: SOFTWARE_CONFIG
26   BlockStorage0Deployment:
27     type: OS::Heat::StructuredDeployment
28     properties:
29       server: {get_resource: BlockStorage0}
30       config: {get_resource: BlockStorageConfig}
31       input_values:
32         controller_host: {get_attr: [controller0, networks, ctlplane, 0]}
33         cinder_dsn: {list_join: ['', ['mysql://cinder:unset@', {get_attr: [controller0, networks, ctlplane, 0]} , '/cinder']]}
34         neutron_local_ip: {get_attr: [BlockStorage0 , networks, ctlplane, 0]}
35       signal_transport: NO_SIGNAL
36   BlockStorageConfig:
37     type: OS::Heat::StructuredConfig
38     properties:
39       group: os-apply-config
40       config:
41         admin-password: {get_param: AdminPassword}
42         keystone:
43           host: {get_input: controller_host}
44         cinder:
45           db: {get_input: cinder_dsn}
46           volume_size_mb:
47             get_param: CinderLVMLoopDeviceSize
48           service-password:
49             get_param: CinderPassword
50           iscsi-helper:
51             get_param: CinderISCSIHelper
52         admin-password: {get_param: AdminPassword}
53         rabbit:
54           host: {get_input: controller_host}
55           username: {get_param: RabbitUserName}
56           password: {get_param: RabbitPassword}
57         interfaces:
58           control: {get_param: NeutronPublicInterface}
59         neutron:
60           ovs:
61             local_ip: {get_input: neutron_local_ip}
62             tenant_network_type: {get_param: NeutronNetworkType}
63             enable_tunneling: {get_param: NeutronEnableTunnelling}
64           service-password:
65             get_param: NeutronPassword
66         config:
67           keystone:
68             host: {get_input: controller_host}
69           cinder:
70             db: {get_input: cinder_dsn}
71             volume_size_mb:
72               get_param: CinderLVMLoopDeviceSize
73             service-password:
74               get_param: CinderPassword
75             iscsi-helper:
76               get_param: CinderISCSIHelper
77           admin-password: {get_param: AdminPassword}
78           rabbit:
79             host: {get_input: controller_host}
80             username: {get_param: RabbitUserName}
81             password: {get_param: RabbitPassword}
82           interfaces:
83             control: {get_param: NeutronPublicInterface}
84           neutron:
85             ovs:
86               local_ip: { get_input: neutron_local_ip }
87               tenant_network_type: {get_param: NeutronNetworkType}
88               enable_tunneling: {get_param: NeutronEnableTunnelling}
89             service-password:
90               get_param: NeutronPassword