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
This commit is contained in:
parent
a2602039fc
commit
30301f322f
4
Makefile
4
Makefile
|
@ -12,8 +12,8 @@ overcloud_source_deps = nova-compute-instance.yaml
|
||||||
|
|
||||||
all: $(generated_templates)
|
all: $(generated_templates)
|
||||||
|
|
||||||
overcloud.yaml: overcloud-source.yaml swift-source.yaml ssl-source.yaml $(overcloud_source_deps)
|
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'} overcloud-source.yaml swift-source.yaml ssl-source.yaml > $@.tmp
|
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 $@
|
mv $@.tmp $@
|
||||||
|
|
||||||
overcloud-with-block-storage.yaml: overcloud-source.yaml nova-compute-instance.yaml swift-source.yaml block-storage.yaml
|
overcloud-with-block-storage.yaml: overcloud-source.yaml nova-compute-instance.yaml swift-source.yaml block-storage.yaml
|
||||||
|
|
|
@ -17,6 +17,8 @@ Resources:
|
||||||
swift:
|
swift:
|
||||||
devices:
|
devices:
|
||||||
Fn::Join:
|
Fn::Join:
|
||||||
|
- ', '
|
||||||
|
- - Fn::Join:
|
||||||
- ''
|
- ''
|
||||||
- - 'r1z1-'
|
- - 'r1z1-'
|
||||||
- Fn::Select:
|
- Fn::Select:
|
||||||
|
@ -27,6 +29,21 @@ Resources:
|
||||||
- notCompute0
|
- notCompute0
|
||||||
- networks
|
- networks
|
||||||
- ':%PORT%/d1'
|
- ':%PORT%/d1'
|
||||||
|
- Fn::Join:
|
||||||
|
- ', '
|
||||||
|
- Merge::Map:
|
||||||
|
SwiftStorage0:
|
||||||
|
Fn::Join:
|
||||||
|
- ''
|
||||||
|
- - 'r1z1-'
|
||||||
|
- Fn::Select:
|
||||||
|
- 0
|
||||||
|
- Fn::Select:
|
||||||
|
- 'ctlplane'
|
||||||
|
- Fn::GetAtt:
|
||||||
|
- SwiftStorage0
|
||||||
|
- networks
|
||||||
|
- ':%PORT%/d1'
|
||||||
hash:
|
hash:
|
||||||
Ref: SwiftHashSuffix
|
Ref: SwiftHashSuffix
|
||||||
part-power: 10
|
part-power: 10
|
||||||
|
|
|
@ -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
|
Loading…
Reference in New Issue