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
79 SnmpdReadonlyUserName:
81 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
83 SnmpdReadonlyUserPassword:
85 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
93 description: Set to true to enable package installation via Puppet
98 type: OS::Nova::Server
102 flavor: {get_param: Flavor}
103 key_name: {get_param: KeyName}
104 user_data_format: SOFTWARE_CONFIG
108 BlockStorageDeployment:
109 type: OS::Heat::StructuredDeployment
111 server: {get_resource: BlockStorage}
112 config: {get_resource: BlockStorageConfig}
114 cinder_dsn: {list_join: ['', ['mysql://cinder:unset@', {get_param: VirtualIP} , '/cinder']]}
115 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
116 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
117 cinder_lvm_loop_device_size:
121 size: {get_param: CinderLVMLoopDeviceSize}
122 cinder_enable_iscsi_backend: {get_param: CinderEnableIscsiBackend}
123 cinder_iscsi_helper: {get_param: CinderISCSIHelper}
128 host: {get_param: VirtualIP}
129 rabbit_username: {get_param: RabbitUserName}
130 rabbit_password: {get_param: RabbitPassword}
133 template: '["server"]'
135 server: {get_param: NtpServer}
136 enable_package_install: {get_param: EnablePackageInstall}
137 signal_transport: NO_SIGNAL
139 # Map heat metadata into hiera datafiles
141 type: OS::Heat::StructuredConfig
143 group: os-apply-config
147 - heat_config_%{::deploy_config_name}
152 raw_data: {get_file: hieradata/common.yaml}
154 raw_data: {get_file: hieradata/volume.yaml}
156 cinder_iscsi_ip_address: local-ipv4
159 cinder::setup_test_volume::size: {get_input: cinder_lvm_loop_device_size}
160 cinder_iscsi_helper: {get_input: cinder_iscsi_helper}
161 cinder::database_connection: {get_input: cinder_dsn}
162 cinder::rabbit_hosts: {get_input: rabbit_hosts}
163 cinder::rabbit_userid: {get_input: rabbit_username}
164 cinder::rabbit_password: {get_input: rabbit_password}
165 cinder_enable_iscsi_backend: {get_input: cinder_enable_iscsi_backend}
166 ntp::servers: {get_input: ntp_servers}
167 enable_package_install: {get_input: enable_package_install}
168 snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
169 snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
175 template: "IP HOST HOST.novalocal"
177 IP: {get_attr: [BlockStorage, networks, ctlplane, 0]}
178 HOST: {get_attr: [BlockStorage, name]}
179 nova_server_resource:
180 description: Heat resource handle for the block storage server
182 {get_resource: BlockStorage}