summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Collins <rbtcollins@hp.com>2014-01-28 19:39:43 +1300
committerRobert Collins <rbtcollins@hp.com>2014-01-31 11:23:03 +1300
commit9ffb18af9421070fffb9375f1fc5e4c94ede0fde (patch)
tree2f257cfdd0748932b1942fc3d3da348d4026d02f
parent8f842e60bf1f7c85b4ff403263076e3284b22b8a (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--Makefile4
-rw-r--r--nova-compute-instance.yaml18
-rw-r--r--overcloud-source.yaml19
3 files changed, 25 insertions, 16 deletions
diff --git a/Makefile b/Makefile
index d7fc543a..2c9c2c0e 100644
--- a/Makefile
+++ b/Makefile
@@ -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: