Merge "Simplify the layout of haproxy net binds config"
[apex-tripleo-heat-templates.git] / block-storage.yaml
1 heat_template_version: 2013-05-23
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   BlockStorageExtraConfig:
12     default: {}
13     description: |
14       Controller specific configuration to inject into the cluster. Same
15       structure as ExtraConfig.
16     type: json
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   BlockStorage0AllNodesDeployment:
27     depends_on: [BlockStorage0Deployment,BlockStorage0PassthroughSpecific]
28     type: OS::Heat::StructuredDeployment
29     properties:
30       signal_transport: {get_param: DefaultSignalTransport}
31       config: {get_resource: allNodesConfig}
32       server: {get_resource: BlockStorage0}
33   BlockStorage0Deployment:
34     type: OS::Heat::StructuredDeployment
35     properties:
36       server: {get_resource: BlockStorage0}
37       config: {get_resource: BlockStorageConfig}
38       input_values:
39         controller_virtual_ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
40         cinder_dsn: {"Fn::Join": ['', ['mysql://cinder:unset@', {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} , '/cinder']]}
41       signal_transport: NO_SIGNAL
42   BlockStorage0Passthrough:
43     type: OS::Heat::StructuredDeployment
44     properties:
45       config: {get_resource: BlockStoragePassthrough}
46       server: {get_resource: BlockStorage0}
47       signal_transport: NO_SIGNAL
48       input_values:
49         passthrough_config: {get_param: ExtraConfig}
50   BlockStorage0PassthroughSpecific:
51     depends_on: [BlockStorage0Passthrough]
52     type: OS::Heat::StructuredDeployment
53     properties:
54       config: {get_resource: BlockStoragePassthroughSpecific}
55       server: {get_resource: BlockStorage0}
56       signal_transport: NO_SIGNAL
57       input_values:
58         passthrough_config_specific: {get_param: BlockStorageExtraConfig}
59   BlockStorageConfig:
60     type: OS::Heat::StructuredConfig
61     properties:
62       group: os-apply-config
63       config:
64         admin-password: {get_param: AdminPassword}
65         keystone:
66           host: {get_input: controller_virtual_ip}
67         cinder:
68           db: {get_input: cinder_dsn}
69           volume_size_mb:
70             get_param: CinderLVMLoopDeviceSize
71           service-password:
72             get_param: CinderPassword
73           iscsi-helper:
74             get_param: CinderISCSIHelper
75         rabbit:
76           host: {get_input: controller_virtual_ip}
77           username: {get_param: RabbitUserName}
78           password: {get_param: RabbitPassword}
79         glance:
80           host: {get_input: controller_virtual_ip}
81           port: {get_param: GlancePort}
82   BlockStoragePassthrough:
83     type: OS::Heat::StructuredConfig
84     properties:
85       group: os-apply-config
86       config: {get_input: passthrough_config}
87   BlockStoragePassthroughSpecific:
88     type: OS::Heat::StructuredConfig
89     properties:
90       group: os-apply-config
91       config: {get_input: passthrough_config_specific}