1 heat_template_version: 2014-10-16
2 description: 'Block Storage Configuration w/ Puppet'
5 default: overcloud-cinder-volume
7 CinderEnableIscsiBackend:
9 description: Whether to enable or not the Iscsi backend for Cinder
13 description: The iSCSI helper to use with cinder.
15 CinderLVMLoopDeviceSize:
17 description: The size of the loopback file used by the cinder LVM driver.
25 Additional configuration to inject into the cluster. The JSON should have
26 the following structure:
29 [{"section": "SECTIONNAME",
31 [{"option": "OPTIONNAME",
42 [{"section": "default",
44 [{"option": "force_config_drive",
52 "value": "nova.cells.rpc_driver.CellsRPCDriver"
61 description: Flavor for block storage nodes to request when deploying.
64 - custom_constraint: nova.flavor
67 description: Glance port.
71 description: Name of an existing EC2 KeyPair to enable SSH access to the instances
82 Rabbit client subscriber parameter to specify
83 an SSL connection to the RabbitMQ host.
87 description: Set rabbit subscriber port, change this if using SSL
89 SnmpdReadonlyUserName:
91 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
93 SnmpdReadonlyUserPassword:
95 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
101 EnablePackageInstall:
103 description: Set to true to enable package installation via Puppet
108 type: OS::Nova::Server
112 flavor: {get_param: Flavor}
113 key_name: {get_param: KeyName}
114 user_data_format: SOFTWARE_CONFIG
118 BlockStorageDeployment:
119 type: OS::Heat::StructuredDeployment
121 server: {get_resource: BlockStorage}
122 config: {get_resource: BlockStorageConfig}
124 cinder_dsn: {list_join: ['', ['mysql://cinder:unset@', {get_param: VirtualIP} , '/cinder']]}
125 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
126 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
127 cinder_lvm_loop_device_size:
131 size: {get_param: CinderLVMLoopDeviceSize}
132 cinder_enable_iscsi_backend: {get_param: CinderEnableIscsiBackend}
133 cinder_iscsi_helper: {get_param: CinderISCSIHelper}
138 host: {get_param: VirtualIP}
139 rabbit_username: {get_param: RabbitUserName}
140 rabbit_password: {get_param: RabbitPassword}
141 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
142 rabbit_client_port: {get_param: RabbitClientPort}
145 template: '["server"]'
147 server: {get_param: NtpServer}
148 enable_package_install: {get_param: EnablePackageInstall}
149 signal_transport: NO_SIGNAL
151 # Map heat metadata into hiera datafiles
153 type: OS::Heat::StructuredConfig
155 group: os-apply-config
159 - heat_config_%{::deploy_config_name}
164 raw_data: {get_file: hieradata/common.yaml}
166 raw_data: {get_file: hieradata/volume.yaml}
168 cinder_iscsi_ip_address: local-ipv4
171 cinder::setup_test_volume::size: {get_input: cinder_lvm_loop_device_size}
172 cinder_iscsi_helper: {get_input: cinder_iscsi_helper}
173 cinder::database_connection: {get_input: cinder_dsn}
174 cinder::rabbit_hosts: {get_input: rabbit_hosts}
175 cinder::rabbit_userid: {get_input: rabbit_username}
176 cinder::rabbit_password: {get_input: rabbit_password}
177 cinder::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
178 cinder::rabbit_port: {get_input: rabbit_client_port}
179 cinder_enable_iscsi_backend: {get_input: cinder_enable_iscsi_backend}
180 ntp::servers: {get_input: ntp_servers}
181 enable_package_install: {get_input: enable_package_install}
182 snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
183 snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
189 template: "IP HOST HOST.novalocal"
191 IP: {get_attr: [BlockStorage, networks, ctlplane, 0]}
192 HOST: {get_attr: [BlockStorage, name]}
193 nova_server_resource:
194 description: Heat resource handle for the block storage server
196 {get_resource: BlockStorage}