heat_template_version: 2013-05-23 description: 'Common Block Storage Configuration' parameters: BlockStorageImage: type: string default: overcloud-cinder-volume OvercloudBlockStorageFlavor: default: baremetal description: Flavor for block storage nodes to request when deploying. type: string NeutronNetworkType: type: string default: 'gre' NeutronEnableTunnelling: type: string default: True resources: BlockStorage0: type: OS::Nova::Server properties: image: {get_param: BlockStorageImage} flavor: {get_param: OvercloudBlockStorageFlavor} key_name: {get_param: KeyName} user_data_format: SOFTWARE_CONFIG BlockStorage0Deployment: type: OS::Heat::StructuredDeployment properties: server: {get_resource: BlockStorage0} config: {get_resource: BlockStorageConfig} input_values: controller_host: {get_attr: [controller0, networks, ctlplane, 0]} cinder_dsn: {"Fn::Join": ['', ['mysql://cinder:unset@', {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} , '/cinder']]} neutron_local_ip: {get_attr: [BlockStorage0 , networks, ctlplane, 0]} signal_transport: NO_SIGNAL BlockStorageConfig: type: OS::Heat::StructuredConfig properties: group: os-apply-config config: admin-password: {get_param: AdminPassword} keystone: host: {get_input: controller_host} cinder: db: {get_input: cinder_dsn} volume_size_mb: get_param: CinderLVMLoopDeviceSize service-password: get_param: CinderPassword iscsi-helper: get_param: CinderISCSIHelper rabbit: host: {get_input: controller_host} username: {get_param: RabbitUserName} password: {get_param: RabbitPassword} interfaces: control: {get_param: NeutronPublicInterface} neutron: ovs: local_ip: {get_input: neutron_local_ip} tenant_network_type: {get_param: NeutronNetworkType} enable_tunneling: {get_param: NeutronEnableTunnelling} service-password: get_param: NeutronPassword