From 30301f322f91d9e9e786106d8fe6b270600f8672 Mon Sep 17 00:00:00 2001 From: Richard Su Date: Wed, 5 Mar 2014 14:58:22 -0800 Subject: Swift storage heat templates Updated the existing swift-source template to properly list all swift devices. Created a new swift-storage-source template to add additional swift-storage only nodes. The default SWIFTSTORAGESCALE is 0. Change this number to add additional swift storage nodes. Change-Id: Ia05f4ad44593316430d60541106d23b032c3e760 --- swift-storage-source.yaml | 121 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 swift-storage-source.yaml (limited to 'swift-storage-source.yaml') diff --git a/swift-storage-source.yaml b/swift-storage-source.yaml new file mode 100644 index 00000000..92e11e61 --- /dev/null +++ b/swift-storage-source.yaml @@ -0,0 +1,121 @@ +HeatTemplateFormatVersion: '2012-12-12' +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' +Resources: + SwiftStorageAccessPolicy: + Type: OS::Heat::AccessPolicy + Properties: + AllowedResources: + - SwiftStorage0 + - SwiftStorage0Config + SwiftStorageUser: + Type: AWS::IAM::User + Properties: + Policies: [ { Ref: SwiftStorageAccessPolicy } ] + SwiftStorage0Key: + Type: AWS::IAM::AccessKey + Properties: + UserName: + Ref: SwiftStorageUser + SwiftStorage0CompletionCondition: + Type: AWS::CloudFormation::WaitCondition + DependsOn: notCompute0Config + Properties: + Handle: {Ref: SwiftStorage0CompletionHandle} + Count: '1' + Timeout: '1800' + SwiftStorage0CompletionHandle: + Type: AWS::CloudFormation::WaitConditionHandle + SwiftStorage0: + Type: OS::Nova::Server + Properties: + image: + {Ref: SwiftStorageImage} + flavor: {Ref: OvercloudSwiftStorageFlavor} + key_name: {Ref: KeyName} + Metadata: + os-collect-config: + cfn: + access_key_id: + Ref: SwiftStorage0Key + secret_access_key: + Fn::GetAtt: [ SwiftStorage0Key, SecretAccessKey ] + stack_name: {Ref: 'AWS::StackName'} + path: SwiftStorage0Config.Metadata + OpenStack::ImageBuilder::Elements: [ swift ] + SwiftStorage0Config: + Type: AWS::AutoScaling::LaunchConfiguration + Properties: + InstanceType: '0' + ImageId: '0' + Metadata: + completion-handle: + Ref: SwiftStorage0CompletionHandle + os-collect-config: + cfn: + access_key_id: + Ref: SwiftStorage0Key + secret_access_key: + Fn::GetAtt: [ SwiftStorage0Key, SecretAccessKey ] + stack_name: {Ref: 'AWS::StackName'} + path: SwiftStorage0Config.Metadata + admin-password: {Ref: AdminPassword} + neutron: + ovs: + local_ip: + Fn::Select: + - 0 + - Fn::Select: + - ctlplane + - Fn::GetAtt: + - SwiftStorage0 + - networks + tenant_network_type: {Ref: NeutronNetworkType} + service-password: + Ref: NeutronPassword + swift: + devices: + Fn::Join: + - ', ' + - - Fn::Join: + - '' + - - 'r1z1-' + - Fn::Select: + - 0 + - Fn::Select: + - 'ctlplane' + - Fn::GetAtt: + - notCompute0 + - networks + - ':%PORT%/d1' + - Fn::Join: + - ', ' + - Merge::Map: + SwiftStorage0: + Fn::Join: + - '' + - - 'r1z1-' + - Fn::Select: + - 0 + - Fn::Select: + - 'ctlplane' + - Fn::GetAtt: + - SwiftStorage0 + - networks + - ':%PORT%/d1' + hash: + Ref: SwiftHashSuffix + part-power: 10 + replicas: 1 + service-password: + Ref: SwiftPassword -- cgit 1.2.3-korg