diff options
author | 2014-03-05 14:58:22 -0800 | |
---|---|---|
committer | 2014-03-10 22:00:42 +0000 | |
commit | 30301f322f91d9e9e786106d8fe6b270600f8672 (patch) | |
tree | 4749cc9e8fd3aea2488a89b78bc1a8b481db3a40 | |
parent | a2602039fc66891bb9d08dbd5963c9968e1a8ee8 (diff) |
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
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | swift-source.yaml | 35 | ||||
-rw-r--r-- | swift-storage-source.yaml | 121 |
3 files changed, 149 insertions, 11 deletions
@@ -12,8 +12,8 @@ overcloud_source_deps = nova-compute-instance.yaml all: $(generated_templates) -overcloud.yaml: overcloud-source.yaml swift-source.yaml ssl-source.yaml $(overcloud_source_deps) - python ./tripleo_heat_merge/merge.py --scale NovaCompute=$${COMPUTESCALE:-'1'} overcloud-source.yaml swift-source.yaml ssl-source.yaml > $@.tmp +overcloud.yaml: overcloud-source.yaml swift-source.yaml swift-storage-source.yaml ssl-source.yaml $(overcloud_source_deps) + python ./tripleo_heat_merge/merge.py --scale NovaCompute=$${COMPUTESCALE:-'1'} --scale SwiftStorage=$${SWIFTSTORAGESCALE='0'} overcloud-source.yaml swift-source.yaml swift-storage-source.yaml ssl-source.yaml > $@.tmp mv $@.tmp $@ overcloud-with-block-storage.yaml: overcloud-source.yaml nova-compute-instance.yaml swift-source.yaml block-storage.yaml diff --git a/swift-source.yaml b/swift-source.yaml index 0a6bf647..8661154d 100644 --- a/swift-source.yaml +++ b/swift-source.yaml @@ -17,16 +17,33 @@ Resources: swift: devices: Fn::Join: - - '' - - - 'r1z1-' - - Fn::Select: - - 0 + - ', ' + - - Fn::Join: + - '' + - - 'r1z1-' - Fn::Select: - - 'ctlplane' - - Fn::GetAtt: - - notCompute0 - - networks - - ':%PORT%/d1' + - 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 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 |