heat_template_version: 2014-10-16 description: 'Common Swift Storage Configuration' parameters: SwiftStorageImage: type: string default: overcloud-swift-storage OvercloudSwiftStorageFlavor: default: baremetal description: Flavor for Swift storage nodes to request when deploying. type: string NeutronNetworkType: type: string default: 'gre' NeutronEnableTunnelling: type: string default: True resources: SwiftStorage0: type: OS::Nova::Server properties: image: {get_param: SwiftStorageImage} flavor: {get_param: OvercloudSwiftStorageFlavor} key_name: {get_param: KeyName} user_data_format: SOFTWARE_CONFIG SwiftKeystoneConfig: type: OS::Heat::StructuredConfig properties: config: keystone: host: {get_input: keystone_host} SwiftStorage0Keystone: type: OS::Heat::StructuredDeployment properties: server: {get_resource: SwiftStorage0} config: {get_resource: SwiftKeystoneConfig} signal_transport: NO_SIGNAL input_values: keystone_host: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {get_attr: [controller0, networks]} ]} ] } SwiftStorage0Deploy: type: OS::Heat::StructuredDeployment properties: server: {get_resource: SwiftStorage0} config: {get_resource: SwiftConfig} signal_transport: NO_SIGNAL input_values: neutron_local_ip: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {get_attr: [SwiftStorage0, networks]} ]} ] } swift_hash_suffix: {get_param: SwiftHashSuffix} swift_password: {get_param: SwiftPassword} swift_devices: list_join: - ', ' - Merge::Map: controller0: list_join: - '' - - 'r1z1-' - {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {get_attr: [controller0, networks]} ]} ] } - ':%PORT%/d1' SwiftStorage0: list_join: - '' - - 'r1z1-' - Fn::Select: - 0 - Fn::Select: - 'ctlplane' - get_attr: - SwiftStorage0 - networks - ':%PORT%/d1' swift_proxy_memcache: list_join: - ',' - Merge::Map: controller0: list_join: - ', ' - - list_join: - '' - - {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {get_attr: [controller0, networks]} ]} ] } - ':11211'