Add strict dependencies to the overcloud template

Currently there is very weak (no) ordering of StructuredDeployments during
heat stack creation (and, importantly, update) on the overcloud. This can
cause the deployment which sends the completion signal back to Heat to
happen before all others have completed, which in turn leads Heat to state
the stack is ready while ORC is still configuring services

The only workaround to this is to wait an unknown amount of time after the
heat stack completes before the system is usable.

This patch prevents the completion signal from being returned early, by
ensuring these are strictly ordered:
    controller0Deploy
    controller0Passthrough
    controller0AllNodesDeploy
    NovaCompute0Deploy
    NovaCompute0Passthrough
    NovaCompute0AllNodesDeploy

Change-Id: I0a549370b7aca55b1145de521ad51218428deaf5
This commit is contained in:
Nicholas Randon 2014-07-31 12:46:20 +01:00
parent 8e462c756e
commit 998c5dda9c
2 changed files with 4 additions and 1 deletions

View File

@ -181,7 +181,7 @@ Resources:
- network: ctlplane
user_data_format: SOFTWARE_CONFIG
NovaCompute0Deploy:
DependsOn: [controller0Deployment]
DependsOn: [controller0AllNodes]
Type: OS::Heat::StructuredDeployment
Properties:
signal_transport: NO_SIGNAL
@ -225,11 +225,13 @@ Resources:
live_update_image_id: {Ref: LiveUpdateComputeImage}
ntp_server: {Ref: NtpServer}
NovaCompute0AllNodesDeploy:
DependsOn: [NovaCompute0Passthrough]
Type: OS::Heat::StructuredDeployment
Properties:
config: {Ref: AllNodesConfig}
server: {Ref: NovaCompute0}
NovaCompute0Passthrough:
DependsOn: [NovaCompute0Deploy]
Type: OS::Heat::StructuredDeployment
Properties:
config: {Ref: NovaComputePassthrough}

View File

@ -617,6 +617,7 @@ Resources:
- network: ctlplane
user_data_format: SOFTWARE_CONFIG
controller0AllNodes:
DependsOn: [controller0Deployment,controller0SSLDeployment,controller0Swift,controller0Passthrough]
Type: OS::Heat::StructuredDeployment
Properties:
config: {Ref: allNodesConfig}