Update overcloud to support N compute hosts.

This uses the new merge feature earlier in this series.

Exporting COMPUTESCALE before running make will build a different
template. Note that since Make doesn't depend on variable values, you
need to delete overcloud.yaml between building with different scales.

Change-Id: If05b99ae3596bcc794e3a899ab1443aeb14ec754
This commit is contained in:
Robert Collins 2014-01-28 19:39:43 +13:00
parent 8f842e60bf
commit 9ffb18af94
3 changed files with 25 additions and 16 deletions

@ -10,8 +10,10 @@ overcloud_source_deps = nova-compute-instance.yaml
all: $(generated_templates)
# Note that COMPUTESCALE is not a physical dep - 'make overcloud.yaml' won't do
# the right thing if you change COMPUTESCALE from one run to another.
overcloud.yaml: overcloud-source.yaml swift-source.yaml ssl-source.yaml $(overcloud_source_deps)
python ./tripleo_heat_merge/merge.py overcloud-source.yaml swift-source.yaml ssl-source.yaml > $@.tmp
python ./tripleo_heat_merge/merge.py --scale NovaCompute=$${COMPUTESCALE:-'1'} overcloud-source.yaml swift-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

@ -83,19 +83,19 @@ Resources:
Type: AWS::IAM::User
Properties:
Policies: [ { Ref: ComputeAccessPolicy } ]
ComputeKey:
NovaCompute0Key:
Type: AWS::IAM::AccessKey
Properties:
UserName:
Ref: ComputeUser
CompletionCondition:
NovaCompute0CompletionCondition:
Type: AWS::CloudFormation::WaitCondition
DependsOn: notcompute
Properties:
Handle: {Ref: CompletionHandle}
Handle: {Ref: NovaCompute0CompletionHandle}
Count: '1'
Timeout: '1800'
CompletionHandle:
NovaCompute0CompletionHandle:
Type: AWS::CloudFormation::WaitConditionHandle
NovaCompute0:
Type: OS::Nova::Server
@ -110,9 +110,9 @@ Resources:
os-collect-config:
cfn:
access_key_id:
Ref: ComputeKey
Ref: NovaCompute0Key
secret_access_key:
Fn::GetAtt: [ ComputeKey, SecretAccessKey ]
Fn::GetAtt: [ NovaCompute0Key, SecretAccessKey ]
stack_name: {Ref: 'AWS::StackName'}
path: NovaCompute0Config.Metadata
OpenStack::ImageBuilder::Elements: [ nova-compute ]
@ -123,13 +123,13 @@ Resources:
ImageId: '0'
Metadata:
completion-handle:
Ref: CompletionHandle
Ref: NovaCompute0CompletionHandle
os-collect-config:
cfn:
access_key_id:
Ref: ComputeKey
Ref: NovaCompute0Key
secret_access_key:
Fn::GetAtt: [ ComputeKey, SecretAccessKey ]
Fn::GetAtt: [ NovaCompute0Key, SecretAccessKey ]
stack_name: {Ref: 'AWS::StackName'}
path: NovaCompute0Config.Metadata
nova:

@ -126,15 +126,22 @@ Resources:
DependsOn: notcompute
Properties:
Handle: {Ref: CompletionHandle}
Count: '2'
Count: '1'
Timeout: '1800'
CompletionHandle:
Type: OS::Heat::UpdateWaitConditionHandle
ComputeKey:
Properties:
UserName:
Ref: ComputeUser
Type: AWS::IAM::AccessKey
NovaCompute0Key:
Type: FileInclude
Path: nova-compute-instance.yaml
SubKey: Resources.NovaCompute0Key
NovaCompute0CompletionCondition:
Type: FileInclude
Path: nova-compute-instance.yaml
SubKey: Resources.NovaCompute0CompletionCondition
NovaCompute0CompletionHandle:
Type: FileInclude
Path: nova-compute-instance.yaml
SubKey: Resources.NovaCompute0CompletionHandle
ComputeUser:
Properties:
Policies: