-HeatTemplateFormatVersion: '2012-12-12'
-Description: 'Common Swift Storage Configuration'
-Parameters:
+heat_template_version: 2013-05-23
+description: 'Common Swift Storage Configuration'
+parameters:
SwiftStorageImage:
- Type: String
- Default: overcloud-swift-storage
+ type: string
+ default: overcloud-swift-storage
+ SwiftReplicas:
+ type: number
+ default: 1
+ description: How many replicas to use in the swift rings.
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:
+ default: baremetal
+ description: Flavor for Swift storage nodes to request when deploying.
+ type: string
+resources:
SwiftStorage0:
- Type: OS::Nova::Server
- Properties:
- image:
- {Ref: SwiftStorageImage}
- flavor: {Ref: OvercloudSwiftStorageFlavor}
- key_name: {Ref: KeyName}
+ 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: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
SwiftStorage0Deploy:
- Type: OS::Heat::StructuredDeployment
- Properties:
- server: {Ref: SwiftStorage0}
- config: {Ref: SwiftConfig}
+ 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", {"Fn::GetAtt": [SwiftStorage0, networks]} ]} ] }
+ swift_hash_suffix: {get_param: SwiftHashSuffix}
+ swift_password: {get_param: SwiftPassword}
swift_devices:
Fn::Join:
- ', '
- - - Fn::Join:
- - ''
- - - 'r1z1-'
- - {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
- - ':%PORT%/d1'
- - Fn::Join:
- - ', '
- - Merge::Map:
- SwiftStorage0:
- Fn::Join:
- - ''
- - - 'r1z1-'
- - Fn::Select:
- - 0
- - Fn::Select:
- - 'ctlplane'
- - Fn::GetAtt:
- - SwiftStorage0
- - networks
- - ':%PORT%/d1'
+ - Merge::Map:
+ controller0:
+ Fn::Join:
+ - ''
+ - - 'r1z1-'
+ - {get_attr: [controller0, networks, ctlplane, 0]}
+ - ':%PORT%/d1'
+ SwiftStorage0:
+ Fn::Join:
+ - ''
+ - - 'r1z1-'
+ - {get_attr: [SwiftStorage0, networks, ctlplane, 0]}
+ - ':%PORT%/d1'
swift_proxy_memcache:
Fn::Join:
- - ', '
- - - Fn::Join:
- - ''
- - - {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
- - ':11211'
- - Fn::Join:
- - ', '
- - Merge::Map:
- SwiftStorage0:
- Fn::Join:
- - ''
- - - Fn::Select:
- - 0
- - Fn::Select:
- - 'ctlplane'
- - Fn::GetAtt:
- - SwiftStorage0
- - networks
- - ':11211'
+ - ','
+ - Merge::Map:
+ controller0:
+ Fn::Join:
+ - ', '
+ - - Fn::Join:
+ - ''
+ - - {get_attr: [controller0, networks, ctlplane, 0]}
+ - ':11211'
+ swift_replicas: { get_param: SwiftReplicas}