1879dc0800
When Merge::Map was used like so: NovaCompute0Config: Merge::Map: NovaCompute0: Fn:.... We were adjusting the inner NovaCompute0 to the current scaling loop position rather than exploding it out as part of the map. For now, we want maps to be global in context so the fix is fortunately simple. Change-Id: Ibea723d4c763f593d934a9d2acfd31ce369f6408
368 lines
9.6 KiB
YAML
368 lines
9.6 KiB
YAML
Description: examples/scale_map.yaml
|
|
HeatTemplateFormatVersion: '2012-12-12'
|
|
Resources:
|
|
ComputeUser:
|
|
Properties:
|
|
Policies:
|
|
- Ref: ComputeAccessPolicy
|
|
Type: AWS::IAM::User
|
|
GlobalAccessPolicy:
|
|
Type: OS::Heat::AccessPolicy
|
|
NovaCompute0:
|
|
Metadata:
|
|
os-collect-config:
|
|
cfn:
|
|
access_key_id:
|
|
Ref: NovaCompute0Key
|
|
path: NovaCompute0Config.Metadata
|
|
secret_access_key:
|
|
Fn::GetAtt:
|
|
- NovaCompute0Key
|
|
- SecretAccessKey
|
|
stack_name:
|
|
Ref: AWS::StackName
|
|
Properties:
|
|
image:
|
|
Ref: ComputeImage
|
|
Type: OS::Nova::Server
|
|
NovaCompute0CompletionCondition:
|
|
DependsOn: notcompute
|
|
Properties:
|
|
Count: '1'
|
|
Handle:
|
|
Ref: NovaCompute0CompletionHandle
|
|
Timeout: '1800'
|
|
Type: AWS::CloudFormation::WaitCondition
|
|
NovaCompute0CompletionHandle:
|
|
Type: AWS::CloudFormation::WaitConditionHandle
|
|
NovaCompute0Config:
|
|
Metadata:
|
|
completion-handle:
|
|
Ref: NovaCompute0CompletionHandle
|
|
hosts:
|
|
Fn::Join:
|
|
- '
|
|
|
|
'
|
|
- - Fn::Join:
|
|
- ' '
|
|
- - Fn::Select:
|
|
- 0
|
|
- Fn::Select:
|
|
- ctlplane
|
|
- Fn::GetAtt:
|
|
- NovaCompute0
|
|
- networks
|
|
- Fn::Select:
|
|
- name
|
|
- Fn::GetAtt:
|
|
- NovaCompute0
|
|
- show
|
|
- Fn::Join:
|
|
- .
|
|
- - Fn::Select:
|
|
- name
|
|
- Fn::GetAtt:
|
|
- NovaCompute0
|
|
- show
|
|
- local
|
|
- Fn::Join:
|
|
- ' '
|
|
- - Fn::Select:
|
|
- 0
|
|
- Fn::Select:
|
|
- ctlplane
|
|
- Fn::GetAtt:
|
|
- NovaCompute1
|
|
- networks
|
|
- Fn::Select:
|
|
- name
|
|
- Fn::GetAtt:
|
|
- NovaCompute1
|
|
- show
|
|
- Fn::Join:
|
|
- .
|
|
- - Fn::Select:
|
|
- name
|
|
- Fn::GetAtt:
|
|
- NovaCompute1
|
|
- show
|
|
- local
|
|
- Fn::Join:
|
|
- ' '
|
|
- - Fn::Select:
|
|
- 0
|
|
- Fn::Select:
|
|
- ctlplane
|
|
- Fn::GetAtt:
|
|
- NovaCompute2
|
|
- networks
|
|
- Fn::Select:
|
|
- name
|
|
- Fn::GetAtt:
|
|
- NovaCompute2
|
|
- show
|
|
- Fn::Join:
|
|
- .
|
|
- - Fn::Select:
|
|
- name
|
|
- Fn::GetAtt:
|
|
- NovaCompute2
|
|
- show
|
|
- local
|
|
os-collect-config:
|
|
cfn:
|
|
access_key_id:
|
|
Ref: NovaCompute0Key
|
|
path: NovaCompute0Config.Metadata
|
|
secret_access_key:
|
|
Fn::GetAtt:
|
|
- NovaCompute0Key
|
|
- SecretAccessKey
|
|
stack_name:
|
|
Ref: AWS::StackName
|
|
Type: AWS::AutoScaling::LaunchConfiguration
|
|
NovaCompute0Key:
|
|
Properties:
|
|
UserName:
|
|
Ref: ComputeUser
|
|
Type: AWS::IAM::AccessKey
|
|
NovaCompute1:
|
|
Metadata:
|
|
os-collect-config:
|
|
cfn:
|
|
access_key_id:
|
|
Ref: NovaCompute1Key
|
|
path: NovaCompute1Config.Metadata
|
|
secret_access_key:
|
|
Fn::GetAtt:
|
|
- NovaCompute1Key
|
|
- SecretAccessKey
|
|
stack_name:
|
|
Ref: AWS::StackName
|
|
Properties:
|
|
image:
|
|
Ref: ComputeImage
|
|
Type: OS::Nova::Server
|
|
NovaCompute1CompletionCondition:
|
|
DependsOn: notcompute
|
|
Properties:
|
|
Count: '1'
|
|
Handle:
|
|
Ref: NovaCompute1CompletionHandle
|
|
Timeout: '1800'
|
|
Type: AWS::CloudFormation::WaitCondition
|
|
NovaCompute1CompletionHandle:
|
|
Type: AWS::CloudFormation::WaitConditionHandle
|
|
NovaCompute1Config:
|
|
Metadata:
|
|
completion-handle:
|
|
Ref: NovaCompute1CompletionHandle
|
|
hosts:
|
|
Fn::Join:
|
|
- '
|
|
|
|
'
|
|
- - Fn::Join:
|
|
- ' '
|
|
- - Fn::Select:
|
|
- 0
|
|
- Fn::Select:
|
|
- ctlplane
|
|
- Fn::GetAtt:
|
|
- NovaCompute0
|
|
- networks
|
|
- Fn::Select:
|
|
- name
|
|
- Fn::GetAtt:
|
|
- NovaCompute0
|
|
- show
|
|
- Fn::Join:
|
|
- .
|
|
- - Fn::Select:
|
|
- name
|
|
- Fn::GetAtt:
|
|
- NovaCompute0
|
|
- show
|
|
- local
|
|
- Fn::Join:
|
|
- ' '
|
|
- - Fn::Select:
|
|
- 0
|
|
- Fn::Select:
|
|
- ctlplane
|
|
- Fn::GetAtt:
|
|
- NovaCompute1
|
|
- networks
|
|
- Fn::Select:
|
|
- name
|
|
- Fn::GetAtt:
|
|
- NovaCompute1
|
|
- show
|
|
- Fn::Join:
|
|
- .
|
|
- - Fn::Select:
|
|
- name
|
|
- Fn::GetAtt:
|
|
- NovaCompute1
|
|
- show
|
|
- local
|
|
- Fn::Join:
|
|
- ' '
|
|
- - Fn::Select:
|
|
- 0
|
|
- Fn::Select:
|
|
- ctlplane
|
|
- Fn::GetAtt:
|
|
- NovaCompute2
|
|
- networks
|
|
- Fn::Select:
|
|
- name
|
|
- Fn::GetAtt:
|
|
- NovaCompute2
|
|
- show
|
|
- Fn::Join:
|
|
- .
|
|
- - Fn::Select:
|
|
- name
|
|
- Fn::GetAtt:
|
|
- NovaCompute2
|
|
- show
|
|
- local
|
|
os-collect-config:
|
|
cfn:
|
|
access_key_id:
|
|
Ref: NovaCompute1Key
|
|
path: NovaCompute1Config.Metadata
|
|
secret_access_key:
|
|
Fn::GetAtt:
|
|
- NovaCompute1Key
|
|
- SecretAccessKey
|
|
stack_name:
|
|
Ref: AWS::StackName
|
|
Type: AWS::AutoScaling::LaunchConfiguration
|
|
NovaCompute1Key:
|
|
Properties:
|
|
UserName:
|
|
Ref: ComputeUser
|
|
Type: AWS::IAM::AccessKey
|
|
NovaCompute2:
|
|
Metadata:
|
|
os-collect-config:
|
|
cfn:
|
|
access_key_id:
|
|
Ref: NovaCompute2Key
|
|
path: NovaCompute2Config.Metadata
|
|
secret_access_key:
|
|
Fn::GetAtt:
|
|
- NovaCompute2Key
|
|
- SecretAccessKey
|
|
stack_name:
|
|
Ref: AWS::StackName
|
|
Properties:
|
|
image:
|
|
Ref: ComputeImage
|
|
Type: OS::Nova::Server
|
|
NovaCompute2CompletionCondition:
|
|
DependsOn: notcompute
|
|
Properties:
|
|
Count: '1'
|
|
Handle:
|
|
Ref: NovaCompute2CompletionHandle
|
|
Timeout: '1800'
|
|
Type: AWS::CloudFormation::WaitCondition
|
|
NovaCompute2CompletionHandle:
|
|
Type: AWS::CloudFormation::WaitConditionHandle
|
|
NovaCompute2Config:
|
|
Metadata:
|
|
completion-handle:
|
|
Ref: NovaCompute2CompletionHandle
|
|
hosts:
|
|
Fn::Join:
|
|
- '
|
|
|
|
'
|
|
- - Fn::Join:
|
|
- ' '
|
|
- - Fn::Select:
|
|
- 0
|
|
- Fn::Select:
|
|
- ctlplane
|
|
- Fn::GetAtt:
|
|
- NovaCompute0
|
|
- networks
|
|
- Fn::Select:
|
|
- name
|
|
- Fn::GetAtt:
|
|
- NovaCompute0
|
|
- show
|
|
- Fn::Join:
|
|
- .
|
|
- - Fn::Select:
|
|
- name
|
|
- Fn::GetAtt:
|
|
- NovaCompute0
|
|
- show
|
|
- local
|
|
- Fn::Join:
|
|
- ' '
|
|
- - Fn::Select:
|
|
- 0
|
|
- Fn::Select:
|
|
- ctlplane
|
|
- Fn::GetAtt:
|
|
- NovaCompute1
|
|
- networks
|
|
- Fn::Select:
|
|
- name
|
|
- Fn::GetAtt:
|
|
- NovaCompute1
|
|
- show
|
|
- Fn::Join:
|
|
- .
|
|
- - Fn::Select:
|
|
- name
|
|
- Fn::GetAtt:
|
|
- NovaCompute1
|
|
- show
|
|
- local
|
|
- Fn::Join:
|
|
- ' '
|
|
- - Fn::Select:
|
|
- 0
|
|
- Fn::Select:
|
|
- ctlplane
|
|
- Fn::GetAtt:
|
|
- NovaCompute2
|
|
- networks
|
|
- Fn::Select:
|
|
- name
|
|
- Fn::GetAtt:
|
|
- NovaCompute2
|
|
- show
|
|
- Fn::Join:
|
|
- .
|
|
- - Fn::Select:
|
|
- name
|
|
- Fn::GetAtt:
|
|
- NovaCompute2
|
|
- show
|
|
- local
|
|
os-collect-config:
|
|
cfn:
|
|
access_key_id:
|
|
Ref: NovaCompute2Key
|
|
path: NovaCompute2Config.Metadata
|
|
secret_access_key:
|
|
Fn::GetAtt:
|
|
- NovaCompute2Key
|
|
- SecretAccessKey
|
|
stack_name:
|
|
Ref: AWS::StackName
|
|
Type: AWS::AutoScaling::LaunchConfiguration
|
|
NovaCompute2Key:
|
|
Properties:
|
|
UserName:
|
|
Ref: ComputeUser
|
|
Type: AWS::IAM::AccessKey
|