1 heat_template_version: 2014-10-16
2 description: 'Block Storage Configuration w/ Puppet'
5 default: overcloud-cinder-volume
9 description: The iSCSI helper to use with cinder.
11 CinderLVMLoopDeviceSize:
13 description: The size of the loopback file used by the cinder LVM driver.
21 Additional configuration to inject into the cluster. The JSON should have
22 the following structure:
25 [{"section": "SECTIONNAME",
27 [{"option": "OPTIONNAME",
38 [{"section": "default",
40 [{"option": "force_config_drive",
48 "value": "nova.cells.rpc_driver.CellsRPCDriver"
57 description: Flavor for block storage nodes to request when deploying.
60 - custom_constraint: nova.flavor
63 description: Glance port.
67 description: Name of an existing EC2 KeyPair to enable SSH access to the instances
75 SnmpdReadonlyUserName:
77 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
79 SnmpdReadonlyUserPassword:
81 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
89 description: Set to true to enable package installation via Puppet
94 type: OS::Nova::Server
98 flavor: {get_param: Flavor}
99 key_name: {get_param: KeyName}
100 user_data_format: SOFTWARE_CONFIG
104 BlockStorageDeployment:
105 type: OS::Heat::StructuredDeployment
107 server: {get_resource: BlockStorage}
108 config: {get_resource: BlockStorageConfig}
110 cinder_dsn: {list_join: ['', ['mysql://cinder:unset@', {get_param: VirtualIP} , '/cinder']]}
111 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
112 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
113 cinder_lvm_loop_device_size:
117 size: {get_param: CinderLVMLoopDeviceSize}
118 cinder_iscsi_helper: {get_param: CinderISCSIHelper}
123 host: {get_param: VirtualIP}
124 rabbit_username: {get_param: RabbitUserName}
125 rabbit_password: {get_param: RabbitPassword}
128 template: '["server"]'
130 server: {get_param: NtpServer}
131 enable_package_install: {get_param: EnablePackageInstall}
132 signal_transport: NO_SIGNAL
134 # Map heat metadata into hiera datafiles
136 type: OS::Heat::StructuredConfig
138 group: os-apply-config
142 - heat_config_%{::deploy_config_name}
147 raw_data: {get_file: hieradata/common.yaml}
149 raw_data: {get_file: hieradata/volume.yaml}
151 cinder::volume::iscsi::iscsi_ip_address: local-ipv4
154 cinder::setup_test_volume::size: {get_input: cinder_lvm_loop_device_size}
155 cinder::volume::iscsi::iscsi_helper: {get_input: cinder_iscsi_helper}
156 cinder::database_connection: {get_input: cinder_dsn}
157 cinder::rabbit_hosts: {get_input: rabbit_hosts}
158 cinder::rabbit_userid: {get_input: rabbit_username}
159 cinder::rabbit_password: {get_input: rabbit_password}
160 ntp::servers: {get_input: ntp_servers}
161 enable_package_install: {get_input: enable_package_install}
164 type: OS::Heat::SoftwareConfig
170 get_file: manifests/overcloud_volume.pp
172 VolumePuppetDeployment:
173 type: OS::Heat::StructuredDeployment
176 server: {get_resource: BlockStorage}
177 config: {get_resource: VolumePuppetConfig}
183 template: "IP HOST HOST.novalocal"
185 IP: {get_attr: [BlockStorage, networks, ctlplane, 0]}
186 HOST: {get_attr: [BlockStorage, name]}