70494ab2cb
We need to scatter gather in a few situations - determining rabbit cluster membership, galera membership and configuring hosts for Nova to permit live migration (which requires host->host communication). This patch is a proof of concept for an eventual heat feature, expressed in merge.py. The example given should work for actual use, but I'll deliver that change separately. Change-Id: I68e9b2471866810cc698ca3ea28ddf5bb1688d7b
55 lines
1.5 KiB
YAML
55 lines
1.5 KiB
YAML
HeatTemplateFormatVersion: '2012-12-12'
|
|
Parameters:
|
|
AllHosts:
|
|
Type: String
|
|
ComputeImage:
|
|
Type: String
|
|
Resources:
|
|
ComputeAccessPolicy:
|
|
Type: OS::Heat::AccessPolicy
|
|
Properties:
|
|
AllowedResources: [ NovaCompute0 ]
|
|
NovaCompute0Key:
|
|
Type: AWS::IAM::AccessKey
|
|
Properties:
|
|
UserName:
|
|
Ref: ComputeUser
|
|
NovaCompute0CompletionCondition:
|
|
Type: AWS::CloudFormation::WaitCondition
|
|
DependsOn: notcompute
|
|
Properties:
|
|
Handle: {Ref: NovaCompute0CompletionHandle}
|
|
Count: '1'
|
|
Timeout: '1800'
|
|
NovaCompute0CompletionHandle:
|
|
Type: AWS::CloudFormation::WaitConditionHandle
|
|
NovaCompute0:
|
|
Type: OS::Nova::Server
|
|
Properties:
|
|
image:
|
|
Ref: ComputeImage
|
|
Metadata:
|
|
os-collect-config:
|
|
cfn:
|
|
access_key_id:
|
|
Ref: NovaCompute0Key
|
|
secret_access_key:
|
|
Fn::GetAtt: [ NovaCompute0Key, SecretAccessKey ]
|
|
stack_name: {Ref: 'AWS::StackName'}
|
|
path: NovaCompute0Config.Metadata
|
|
NovaCompute0Config:
|
|
Type: AWS::AutoScaling::LaunchConfiguration
|
|
Metadata:
|
|
completion-handle:
|
|
Ref: NovaCompute0CompletionHandle
|
|
os-collect-config:
|
|
cfn:
|
|
access_key_id:
|
|
Ref: NovaCompute0Key
|
|
secret_access_key:
|
|
Fn::GetAtt: [ NovaCompute0Key, SecretAccessKey ]
|
|
stack_name: {Ref: 'AWS::StackName'}
|
|
path: NovaCompute0Config.Metadata
|
|
hosts:
|
|
Ref: AllHosts
|