Remove default flavor from every template
[apex-tripleo-heat-templates.git] / cinder-storage.yaml
1 heat_template_version: 2014-10-16
2 description: 'Common Block Storage Configuration'
3 parameters:
4   AdminPassword:
5     default: ''
6     type: string
7   Image:
8     default: overcloud-cinder-volume
9     type: string
10   CinderISCSIHelper:
11     default: tgtadm
12     description: The iSCSI helper to use with cinder.
13     type: string
14   CinderLVMLoopDeviceSize:
15     default: 5000
16     description: The size of the loopback file used by the cinder LVM driver.
17     type: number
18   CinderPassword:
19     default: unset
20     description: The password for the cinder service account, used by cinder-api.
21     hidden: true
22     type: string
23   ControllerIP:
24     default: ''
25     type: string
26   ExtraConfig:
27     default: {}
28     description: |
29       Additional configuration to inject into the cluster. The JSON should have
30       the following structure:
31         {"FILEKEY":
32           {"config":
33             [{"section": "SECTIONNAME",
34               "values":
35                 [{"option": "OPTIONNAME",
36                   "value": "VALUENAME"
37                  }
38                 ]
39              }
40             ]
41           }
42         }
43       For instance:
44         {"nova":
45           {"config":
46             [{"section": "default",
47               "values":
48                 [{"option": "force_config_drive",
49                   "value": "always"
50                  }
51                 ]
52              },
53              {"section": "cells",
54               "values":
55                 [{"option": "driver",
56                   "value": "nova.cells.rpc_driver.CellsRPCDriver"
57                  }
58                 ]
59              }
60             ]
61           }
62         }
63     type: json
64   Flavor:
65     description: Flavor for block storage nodes to request when deploying.
66     type: string
67     constraints:
68       - custom_constraint: nova.flavor
69   GlancePort:
70     default: "9292"
71     description: Glance port.
72     type: string
73   KeyName:
74     default: default
75     description: Name of an existing EC2 KeyPair to enable SSH access to the instances
76     type: string
77   NeutronEnableTunnelling:
78     default: "True"
79     type: string
80   NeutronNetworkType:
81     default: gre
82     type: string
83   NeutronPassword:
84     default: ''
85     type: string
86   NeutronPublicInterface:
87     default: eth0
88     type: string
89   RabbitPassword:
90     default: ''
91     type: string
92   RabbitUserName:
93     default: ''
94     type: string
95   SnmpdReadonlyUserName:
96     default: ro_snmp_user
97     description: The user name for SNMPd with readonly rights running on all Overcloud nodes
98     type: string
99   SnmpdReadonlyUserPassword:
100     default: unset
101     description: The user password for SNMPd with readonly rights running on all Overcloud nodes
102     type: string
103     hidden: true
104
105 resources:
106   BlockStorage:
107     type: OS::Nova::Server
108     properties:
109       image:
110         {get_param: Image}
111       flavor: {get_param: Flavor}
112       key_name: {get_param: KeyName}
113       user_data_format: SOFTWARE_CONFIG
114       networks:
115         - network: ctlplane
116   BlockStorageDeployment:
117     type: OS::Heat::StructuredDeployment
118     properties:
119       server: {get_resource: BlockStorage}
120       config: {get_resource: BlockStorageConfig}
121       input_values:
122         controller_host: {get_param: ControllerIP}
123         cinder_dsn: {list_join: ['', ['mysql://cinder:unset@', {get_param: ControllerIP} , '/cinder']]}
124         neutron_local_ip: {get_attr: [BlockStorage , networks, ctlplane, 0]}
125         snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
126         snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
127       signal_transport: NO_SIGNAL
128   BlockStorageConfig:
129     type: OS::Heat::StructuredConfig
130     properties:
131       group: os-apply-config
132       config:
133         admin-password: {get_param: AdminPassword}
134         keystone:
135           host: {get_input: controller_host}
136         cinder:
137           db: {get_input: cinder_dsn}
138           volume_size_mb:
139             get_param: CinderLVMLoopDeviceSize
140           service-password:
141             get_param: CinderPassword
142           iscsi-helper:
143             get_param: CinderISCSIHelper
144         snmpd:
145           export_MIB: UCD-SNMP-MIB
146           readonly_user_name: {get_input: snmpd_readonly_user_name}
147           readonly_user_password: {get_input: snmpd_readonly_user_password}
148         rabbit:
149           host: {get_input: controller_host}
150           username: {get_param: RabbitUserName}
151           password: {get_param: RabbitPassword}
152         glance:
153           host: {get_input: controller_host}
154           port: {get_param: GlancePort}
155         interfaces:
156           control: {get_param: NeutronPublicInterface}
157         neutron:
158           ovs:
159             local_ip: {get_input: neutron_local_ip}
160             tenant_network_type: {get_param: NeutronNetworkType}
161             enable_tunneling: {get_param: NeutronEnableTunnelling}
162           service-password:
163             get_param: NeutronPassword
164         config:
165           keystone:
166             host: {get_input: controller_host}
167           cinder:
168             db: {get_input: cinder_dsn}
169             volume_size_mb:
170               get_param: CinderLVMLoopDeviceSize
171             service-password:
172               get_param: CinderPassword
173             iscsi-helper:
174               get_param: CinderISCSIHelper
175           admin-password: {get_param: AdminPassword}
176           rabbit:
177             host: {get_input: controller_host}
178             username: {get_param: RabbitUserName}
179             password: {get_param: RabbitPassword}
180           interfaces:
181             control: {get_param: NeutronPublicInterface}
182           neutron:
183             ovs:
184               local_ip: { get_input: neutron_local_ip }
185               tenant_network_type: {get_param: NeutronNetworkType}
186               enable_tunneling: {get_param: NeutronEnableTunnelling}
187             service-password:
188               get_param: NeutronPassword
189 outputs:
190   hosts_entry:
191     value:
192       str_replace:
193         template: "IP HOST HOST.novalocal"
194         params:
195           IP: {get_attr: [BlockStorage, networks, ctlplane, 0]}
196           HOST: {get_attr: [BlockStorage, name]}