diff options
author | Robert Collins <rbtcollins@hp.com> | 2014-01-28 19:39:43 +1300 |
---|---|---|
committer | Robert Collins <rbtcollins@hp.com> | 2014-01-31 11:23:03 +1300 |
commit | 9ffb18af9421070fffb9375f1fc5e4c94ede0fde (patch) | |
tree | 2f257cfdd0748932b1942fc3d3da348d4026d02f | |
parent | 8f842e60bf1f7c85b4ff403263076e3284b22b8a (diff) |
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
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | nova-compute-instance.yaml | 18 | ||||
-rw-r--r-- | overcloud-source.yaml | 19 |
3 files changed, 25 insertions, 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 diff --git a/nova-compute-instance.yaml b/nova-compute-instance.yaml index 229615ad..3abd3216 100644 --- a/nova-compute-instance.yaml +++ b/nova-compute-instance.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: diff --git a/overcloud-source.yaml b/overcloud-source.yaml index 358de7d6..6192cc1a 100644 --- a/overcloud-source.yaml +++ b/overcloud-source.yaml @@ -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: |