From da283a785bee4a6e17501ee064bfd08e56d1930b Mon Sep 17 00:00:00 2001 From: Steven Hardy Date: Wed, 7 Sep 2016 17:05:56 +0100 Subject: Convert deploy steps to jinja2 loop Refactor so the post-deploy steps recently moved into puppet/post.yaml are generated by jinja2 instead of hard-coded Change-Id: I488e46aaa449c95571bd3d1de9513c3d0730baf3 Partially-Implements: blueprint custom-roles --- overcloud.j2.yaml | 16 +- puppet/post.j2.yaml | 139 ++++++++++++ puppet/post.yaml | 644 ---------------------------------------------------- 3 files changed, 145 insertions(+), 654 deletions(-) create mode 100644 puppet/post.j2.yaml delete mode 100644 puppet/post.yaml diff --git a/overcloud.j2.yaml b/overcloud.j2.yaml index fa160e4d..ec4db843 100644 --- a/overcloud.j2.yaml +++ b/overcloud.j2.yaml @@ -460,17 +460,13 @@ resources: type: OS::TripleO::PostDeploySteps properties: servers: - Controller: {get_attr: [Controller, attributes, nova_server_resource]} - Compute: {get_attr: [Compute, attributes, nova_server_resource]} - BlockStorage: {get_attr: [BlockStorage, attributes, nova_server_resource]} - ObjectStorage: {get_attr: [ObjectStorage, attributes, nova_server_resource]} - CephStorage: {get_attr: [CephStorage, attributes, nova_server_resource]} +{% for role in roles %} + {{role.name}}: {get_attr: [{{role.name}}, attributes, nova_server_resource]} +{% endfor %} role_data: - Controller: {get_attr: [ControllerServiceChain, role_data]} - Compute: {get_attr: [ComputeServiceChain, role_data]} - BlockStorage: {get_attr: [BlockStorageServiceChain, role_data]} - ObjectStorage: {get_attr: [ObjectStorageServiceChain, role_data]} - CephStorage: {get_attr: [CephStorageServiceChain, role_data]} +{% for role in roles %} + {{role.name}}: {get_attr: [{{role.name}}ServiceChain, role_data]} +{% endfor %} outputs: ManagedEndpoints: diff --git a/puppet/post.j2.yaml b/puppet/post.j2.yaml new file mode 100644 index 00000000..65c96ac2 --- /dev/null +++ b/puppet/post.j2.yaml @@ -0,0 +1,139 @@ +heat_template_version: 2016-10-14 + +description: > + Post-deploy configuration steps via puppet for all roles, + as defined in ../roles_data.yaml + +parameters: + servers: + type: json + description: Mapping of Role name e.g Controller to a list of servers + + role_data: + type: json + description: Mapping of Role name e.g Controller to the per-role data + + DeployIdentifier: + default: '' + type: string + description: > + Setting this to a unique value will re-run any deployment tasks which + perform configuration on a Heat stack-update. + +resources: + +{% for role in roles %} + # Post deployment steps for all roles + # A single config is re-applied with an incrementing step number + # {{role.name}} Role steps + {{role.name}}ArtifactsConfig: + type: deploy-artifacts.yaml + + {{role.name}}ArtifactsDeploy: + type: OS::Heat::StructuredDeployments + properties: + servers: {get_param: [servers, {{role.name}}]} + config: {get_resource: {{role.name}}ArtifactsConfig} + + {{role.name}}PreConfig: + type: OS::TripleO::Tasks::{{role.name}}PreConfig + properties: + servers: {get_param: [servers, {{role.name}}]} + input_values: + update_identifier: {get_param: DeployIdentifier} + + {{role.name}}Config: + type: OS::TripleO::{{role.name}}Config + properties: + StepConfig: {get_param: [role_data, {{role.name}}, step_config]} + + # Step through a series of configuration steps + {{role.name}}Deployment_Step1: + type: OS::Heat::StructuredDeploymentGroup + depends_on: [{{role.name}}PreConfig, {{role.name}}ArtifactsDeploy] + properties: + name: {{role.name}}Deployment_Step1 + servers: {get_param: [servers, {{role.name}}]} + config: {get_resource: {{role.name}}Config} + input_values: + step: 1 + update_identifier: {get_param: DeployIdentifier} + + {{role.name}}Deployment_Step2: + type: OS::Heat::StructuredDeploymentGroup + depends_on: + {% for dep in roles %} + - {{dep.name}}Deployment_Step1 + {% endfor %} + properties: + name: {{role.name}}Deployment_Step2 + servers: {get_param: [servers, {{role.name}}]} + config: {get_resource: {{role.name}}Config} + input_values: + step: 2 + update_identifier: {get_param: DeployIdentifier} + + {{role.name}}Deployment_Step3: + type: OS::Heat::StructuredDeploymentGroup + depends_on: + {% for dep in roles %} + - {{dep.name}}Deployment_Step2 + {% endfor %} + properties: + name: {{role.name}}Deployment_Step3 + servers: {get_param: [servers, {{role.name}}]} + config: {get_resource: {{role.name}}Config} + input_values: + step: 3 + update_identifier: {get_param: DeployIdentifier} + + {{role.name}}Deployment_Step4: + type: OS::Heat::StructuredDeploymentGroup + depends_on: + {% for dep in roles %} + - {{dep.name}}Deployment_Step3 + {% endfor %} + properties: + name: {{role.name}}Deployment_Step4 + servers: {get_param: [servers, {{role.name}}]} + config: {get_resource: {{role.name}}Config} + input_values: + step: 4 + update_identifier: {get_param: DeployIdentifier} + + {{role.name}}Deployment_Step5: + type: OS::Heat::StructuredDeploymentGroup + depends_on: + {% for dep in roles %} + - {{dep.name}}Deployment_Step4 + {% endfor %} + properties: + name: {{role.name}}Deployment_Step5 + servers: {get_param: [servers, {{role.name}}]} + config: {get_resource: {{role.name}}Config} + input_values: + step: 5 + update_identifier: {get_param: DeployIdentifier} + + {{role.name}}PostConfig: + type: OS::TripleO::Tasks::{{role.name}}PostConfig + depends_on: + {% for dep in roles %} + - {{dep.name}}Deployment_Step5 + {% endfor %} + properties: + servers: {get_param: servers} + input_values: + update_identifier: {get_param: DeployIdentifier} + + # Note, this should come last, so use depends_on to ensure + # this is created after any other resources. + {{role.name}}ExtraConfigPost: + depends_on: + {% for dep in roles %} + - {{dep.name}}PostConfig + {% endfor %} + type: OS::TripleO::NodeExtraConfigPost + properties: + servers: {get_param: [servers, {{role.name}}]} +{% endfor %} diff --git a/puppet/post.yaml b/puppet/post.yaml deleted file mode 100644 index 8f57b34e..00000000 --- a/puppet/post.yaml +++ /dev/null @@ -1,644 +0,0 @@ -heat_template_version: 2016-10-14 - -description: > - Post-deploy configuration steps via puppet for all roles, - Controller, Compute, BlockStorage, SwiftStorage and CephStorage. - -parameters: - servers: - type: json - description: Mapping of Role name e.g Controller to a list of servers - - role_data: - type: json - description: Mapping of Role name e.g Controller to the per-role data - - DeployIdentifier: - default: '' - type: string - description: > - Setting this to a unique value will re-run any deployment tasks which - perform configuration on a Heat stack-update. - -resources: - # Post deployment steps for all roles - # A single config is re-applied with an incrementing step number - # Controller Role steps - ControllerArtifactsConfig: - type: deploy-artifacts.yaml - - ControllerArtifactsDeploy: - type: OS::Heat::StructuredDeployments - properties: - servers: {get_param: [servers, Controller]} - config: {get_resource: ControllerArtifactsConfig} - - ControllerPreConfig: - type: OS::TripleO::Tasks::ControllerPreConfig - properties: - servers: {get_param: [servers, Controller]} - input_values: - update_identifier: {get_param: DeployIdentifier} - - ControllerConfig: - type: OS::TripleO::ControllerConfig - properties: - StepConfig: {get_param: [role_data, Controller, step_config]} - - # Step through a series of configuration steps - ControllerDeployment_Step1: - type: OS::Heat::StructuredDeploymentGroup - depends_on: [ControllerPreConfig, ControllerArtifactsDeploy] - properties: - name: ControllerDeployment_Step1 - servers: {get_param: [servers, Controller]} - config: {get_resource: ControllerConfig} - input_values: - step: 1 - update_identifier: {get_param: DeployIdentifier} - - ControllerDeployment_Step2: - type: OS::Heat::StructuredDeploymentGroup - depends_on: - - ControllerDeployment_Step1 - - ComputeDeployment_Step1 - - BlockStorageDeployment_Step1 - - ObjectStorageDeployment_Step1 - - CephStorageDeployment_Step1 - properties: - name: ControllerDeployment_Step2 - servers: {get_param: [servers, Controller]} - config: {get_resource: ControllerConfig} - input_values: - step: 2 - update_identifier: {get_param: DeployIdentifier} - - ControllerDeployment_Step3: - type: OS::Heat::StructuredDeploymentGroup - depends_on: - - ControllerDeployment_Step2 - - ComputeDeployment_Step2 - - BlockStorageDeployment_Step2 - - ObjectStorageDeployment_Step2 - - CephStorageDeployment_Step2 - properties: - name: ControllerDeployment_Step3 - servers: {get_param: [servers, Controller]} - config: {get_resource: ControllerConfig} - input_values: - step: 3 - update_identifier: {get_param: DeployIdentifier} - - ControllerDeployment_Step4: - type: OS::Heat::StructuredDeploymentGroup - depends_on: - - ControllerDeployment_Step3 - - ComputeDeployment_Step3 - - BlockStorageDeployment_Step3 - - ObjectStorageDeployment_Step3 - - CephStorageDeployment_Step3 - properties: - name: ControllerDeployment_Step4 - servers: {get_param: [servers, Controller]} - config: {get_resource: ControllerConfig} - input_values: - step: 4 - update_identifier: {get_param: DeployIdentifier} - - ControllerDeployment_Step5: - type: OS::Heat::StructuredDeploymentGroup - depends_on: - - ControllerDeployment_Step4 - - ComputeDeployment_Step4 - - BlockStorageDeployment_Step4 - - ObjectStorageDeployment_Step4 - - CephStorageDeployment_Step4 - properties: - name: ControllerDeployment_Step5 - servers: {get_param: [servers, Controller]} - config: {get_resource: ControllerConfig} - input_values: - step: 5 - update_identifier: {get_param: DeployIdentifier} - - ControllerPostConfig: - type: OS::TripleO::Tasks::ControllerPostConfig - depends_on: - - ControllerDeployment_Step5 - - ComputeDeployment_Step5 - - BlockStorageDeployment_Step5 - - ObjectStorageDeployment_Step5 - - CephStorageDeployment_Step5 - properties: - servers: {get_param: servers} - input_values: - update_identifier: {get_param: DeployIdentifier} - - # Note, this should come last, so use depends_on to ensure - # this is created after any other resources. - ControllerExtraConfigPost: - depends_on: - - ControllerPostConfig - - ComputePostConfig - - BlockStoragePostConfig - - ObjectStoragePostConfig - - CephStoragePostConfig - type: OS::TripleO::NodeExtraConfigPost - properties: - servers: {get_param: [servers, Controller]} - - # Compute Role steps - ComputeArtifactsConfig: - type: deploy-artifacts.yaml - - ComputeArtifactsDeploy: - type: OS::Heat::StructuredDeployments - properties: - servers: {get_param: [servers, Compute]} - config: {get_resource: ComputeArtifactsConfig} - - ComputePreConfig: - type: OS::TripleO::Tasks::ComputePreConfig - properties: - servers: {get_param: [servers, Compute]} - input_values: - update_identifier: {get_param: DeployIdentifier} - - ComputeConfig: - type: OS::TripleO::ComputeConfig - properties: - StepConfig: {get_param: [role_data, Compute, step_config]} - - # Step through a series of configuration steps - ComputeDeployment_Step1: - type: OS::Heat::StructuredDeploymentGroup - depends_on: [ComputePreConfig, ComputeArtifactsDeploy] - properties: - name: ComputeDeployment_Step1 - servers: {get_param: [servers, Compute]} - config: {get_resource: ComputeConfig} - input_values: - step: 1 - update_identifier: {get_param: DeployIdentifier} - - ComputeDeployment_Step2: - type: OS::Heat::StructuredDeploymentGroup - depends_on: - - ControllerDeployment_Step1 - - ComputeDeployment_Step1 - - BlockStorageDeployment_Step1 - - ObjectStorageDeployment_Step1 - - CephStorageDeployment_Step1 - properties: - name: ComputeDeployment_Step2 - servers: {get_param: [servers, Compute]} - config: {get_resource: ComputeConfig} - input_values: - step: 2 - update_identifier: {get_param: DeployIdentifier} - - ComputeDeployment_Step3: - type: OS::Heat::StructuredDeploymentGroup - depends_on: - - ControllerDeployment_Step2 - - ComputeDeployment_Step2 - - BlockStorageDeployment_Step2 - - ObjectStorageDeployment_Step2 - - CephStorageDeployment_Step2 - properties: - name: ComputeDeployment_Step3 - servers: {get_param: [servers, Compute]} - config: {get_resource: ComputeConfig} - input_values: - step: 3 - update_identifier: {get_param: DeployIdentifier} - - ComputeDeployment_Step4: - type: OS::Heat::StructuredDeploymentGroup - depends_on: - - ControllerDeployment_Step3 - - ComputeDeployment_Step3 - - BlockStorageDeployment_Step3 - - ObjectStorageDeployment_Step3 - - CephStorageDeployment_Step3 - properties: - name: ComputeDeployment_Step4 - servers: {get_param: [servers, Compute]} - config: {get_resource: ComputeConfig} - input_values: - step: 4 - update_identifier: {get_param: DeployIdentifier} - - ComputeDeployment_Step5: - type: OS::Heat::StructuredDeploymentGroup - depends_on: - - ControllerDeployment_Step4 - - ComputeDeployment_Step4 - - BlockStorageDeployment_Step4 - - ObjectStorageDeployment_Step4 - - CephStorageDeployment_Step4 - properties: - name: ComputeDeployment_Step5 - servers: {get_param: [servers, Compute]} - config: {get_resource: ComputeConfig} - input_values: - step: 5 - update_identifier: {get_param: DeployIdentifier} - - ComputePostConfig: - type: OS::TripleO::Tasks::ComputePostConfig - depends_on: - - ControllerDeployment_Step5 - - ComputeDeployment_Step5 - - BlockStorageDeployment_Step5 - - ObjectStorageDeployment_Step5 - - CephStorageDeployment_Step5 - properties: - servers: {get_param: servers} - input_values: - update_identifier: {get_param: DeployIdentifier} - - # Note, this should come last, so use depends_on to ensure - # this is created after any other resources. - ComputeExtraConfigPost: - depends_on: - - ControllerPostConfig - - ComputePostConfig - - BlockStoragePostConfig - - ObjectStoragePostConfig - - CephStoragePostConfig - type: OS::TripleO::NodeExtraConfigPost - properties: - servers: {get_param: [servers, Compute]} - - # BlockStorage Role steps - BlockStorageArtifactsConfig: - type: deploy-artifacts.yaml - - BlockStorageArtifactsDeploy: - type: OS::Heat::StructuredDeployments - properties: - servers: {get_param: [servers, BlockStorage]} - config: {get_resource: BlockStorageArtifactsConfig} - - BlockStoragePreConfig: - type: OS::TripleO::Tasks::BlockStoragePreConfig - properties: - servers: {get_param: [servers, BlockStorage]} - input_values: - update_identifier: {get_param: DeployIdentifier} - - BlockStorageConfig: - type: OS::TripleO::BlockStorageConfig - properties: - StepConfig: {get_param: [role_data, BlockStorage, step_config]} - - # Step through a series of configuration steps - BlockStorageDeployment_Step1: - type: OS::Heat::StructuredDeploymentGroup - depends_on: [BlockStoragePreConfig, BlockStorageArtifactsDeploy] - properties: - name: BlockStorageDeployment_Step1 - servers: {get_param: [servers, BlockStorage]} - config: {get_resource: BlockStorageConfig} - input_values: - step: 1 - update_identifier: {get_param: DeployIdentifier} - - BlockStorageDeployment_Step2: - type: OS::Heat::StructuredDeploymentGroup - depends_on: - - ControllerDeployment_Step1 - - ComputeDeployment_Step1 - - BlockStorageDeployment_Step1 - - ObjectStorageDeployment_Step1 - - CephStorageDeployment_Step1 - properties: - name: BlockStorageDeployment_Step2 - servers: {get_param: [servers, BlockStorage]} - config: {get_resource: BlockStorageConfig} - input_values: - step: 2 - update_identifier: {get_param: DeployIdentifier} - - BlockStorageDeployment_Step3: - type: OS::Heat::StructuredDeploymentGroup - depends_on: - - ControllerDeployment_Step2 - - ComputeDeployment_Step2 - - BlockStorageDeployment_Step2 - - ObjectStorageDeployment_Step2 - - CephStorageDeployment_Step2 - properties: - name: BlockStorageDeployment_Step3 - servers: {get_param: [servers, BlockStorage]} - config: {get_resource: BlockStorageConfig} - input_values: - step: 3 - update_identifier: {get_param: DeployIdentifier} - - BlockStorageDeployment_Step4: - type: OS::Heat::StructuredDeploymentGroup - depends_on: - - ControllerDeployment_Step3 - - ComputeDeployment_Step3 - - BlockStorageDeployment_Step3 - - ObjectStorageDeployment_Step3 - - CephStorageDeployment_Step3 - properties: - name: BlockStorageDeployment_Step4 - servers: {get_param: [servers, BlockStorage]} - config: {get_resource: BlockStorageConfig} - input_values: - step: 4 - update_identifier: {get_param: DeployIdentifier} - - BlockStorageDeployment_Step5: - type: OS::Heat::StructuredDeploymentGroup - depends_on: - - ControllerDeployment_Step4 - - ComputeDeployment_Step4 - - BlockStorageDeployment_Step4 - - ObjectStorageDeployment_Step4 - - CephStorageDeployment_Step4 - properties: - name: BlockStorageDeployment_Step5 - servers: {get_param: [servers, BlockStorage]} - config: {get_resource: BlockStorageConfig} - input_values: - step: 5 - update_identifier: {get_param: DeployIdentifier} - - BlockStoragePostConfig: - type: OS::TripleO::Tasks::BlockStoragePostConfig - depends_on: - - ControllerDeployment_Step5 - - ComputeDeployment_Step5 - - BlockStorageDeployment_Step5 - - ObjectStorageDeployment_Step5 - - CephStorageDeployment_Step5 - properties: - servers: {get_param: servers} - input_values: - update_identifier: {get_param: DeployIdentifier} - - # Note, this should come last, so use depends_on to ensure - # this is created after any other resources. - BlockStorageExtraConfigPost: - depends_on: - - ControllerPostConfig - - ComputePostConfig - - BlockStoragePostConfig - - ObjectStoragePostConfig - - CephStoragePostConfig - type: OS::TripleO::NodeExtraConfigPost - properties: - servers: {get_param: [servers, BlockStorage]} - - # ObjectStorage Role steps - ObjectStorageArtifactsConfig: - type: deploy-artifacts.yaml - - ObjectStorageArtifactsDeploy: - type: OS::Heat::StructuredDeployments - properties: - servers: {get_param: [servers, ObjectStorage]} - config: {get_resource: ObjectStorageArtifactsConfig} - - ObjectStoragePreConfig: - type: OS::TripleO::Tasks::ObjectStoragePreConfig - properties: - servers: {get_param: [servers, ObjectStorage]} - input_values: - update_identifier: {get_param: DeployIdentifier} - - ObjectStorageConfig: - type: OS::TripleO::ObjectStorageConfig - properties: - StepConfig: {get_param: [role_data, ObjectStorage, step_config]} - - # Step through a series of configuration steps - ObjectStorageDeployment_Step1: - type: OS::Heat::StructuredDeploymentGroup - depends_on: [ObjectStoragePreConfig, ObjectStorageArtifactsDeploy] - properties: - name: ObjectStorageDeployment_Step1 - servers: {get_param: [servers, ObjectStorage]} - config: {get_resource: ObjectStorageConfig} - input_values: - step: 1 - update_identifier: {get_param: DeployIdentifier} - - ObjectStorageDeployment_Step2: - type: OS::Heat::StructuredDeploymentGroup - depends_on: - - ControllerDeployment_Step1 - - ComputeDeployment_Step1 - - BlockStorageDeployment_Step1 - - ObjectStorageDeployment_Step1 - - CephStorageDeployment_Step1 - properties: - name: ObjectStorageDeployment_Step2 - servers: {get_param: [servers, ObjectStorage]} - config: {get_resource: ObjectStorageConfig} - input_values: - step: 2 - update_identifier: {get_param: DeployIdentifier} - - ObjectStorageDeployment_Step3: - type: OS::Heat::StructuredDeploymentGroup - depends_on: - - ControllerDeployment_Step2 - - ComputeDeployment_Step2 - - BlockStorageDeployment_Step2 - - ObjectStorageDeployment_Step2 - - CephStorageDeployment_Step2 - properties: - name: ObjectStorageDeployment_Step3 - servers: {get_param: [servers, ObjectStorage]} - config: {get_resource: ObjectStorageConfig} - input_values: - step: 3 - update_identifier: {get_param: DeployIdentifier} - - ObjectStorageDeployment_Step4: - type: OS::Heat::StructuredDeploymentGroup - depends_on: - - ControllerDeployment_Step3 - - ComputeDeployment_Step3 - - BlockStorageDeployment_Step3 - - ObjectStorageDeployment_Step3 - - CephStorageDeployment_Step3 - properties: - name: ObjectStorageDeployment_Step4 - servers: {get_param: [servers, ObjectStorage]} - config: {get_resource: ObjectStorageConfig} - input_values: - step: 4 - update_identifier: {get_param: DeployIdentifier} - - ObjectStorageDeployment_Step5: - type: OS::Heat::StructuredDeploymentGroup - depends_on: - - ControllerDeployment_Step4 - - ComputeDeployment_Step4 - - BlockStorageDeployment_Step4 - - ObjectStorageDeployment_Step4 - - CephStorageDeployment_Step4 - properties: - name: ObjectStorageDeployment_Step5 - servers: {get_param: [servers, ObjectStorage]} - config: {get_resource: ObjectStorageConfig} - input_values: - step: 5 - update_identifier: {get_param: DeployIdentifier} - - ObjectStoragePostConfig: - type: OS::TripleO::Tasks::ObjectStoragePostConfig - depends_on: - - ControllerDeployment_Step5 - - ComputeDeployment_Step5 - - BlockStorageDeployment_Step5 - - ObjectStorageDeployment_Step5 - - CephStorageDeployment_Step5 - properties: - servers: {get_param: servers} - input_values: - update_identifier: {get_param: DeployIdentifier} - - # Note, this should come last, so use depends_on to ensure - # this is created after any other resources. - ObjectStorageExtraConfigPost: - depends_on: - - ControllerPostConfig - - ComputePostConfig - - BlockStoragePostConfig - - ObjectStoragePostConfig - - CephStoragePostConfig - type: OS::TripleO::NodeExtraConfigPost - properties: - servers: {get_param: [servers, ObjectStorage]} - - # CephStorage Role steps - CephStorageArtifactsConfig: - type: deploy-artifacts.yaml - - CephStorageArtifactsDeploy: - type: OS::Heat::StructuredDeployments - properties: - servers: {get_param: [servers, CephStorage]} - config: {get_resource: CephStorageArtifactsConfig} - - CephStoragePreConfig: - type: OS::TripleO::Tasks::CephStoragePreConfig - properties: - servers: {get_param: [servers, CephStorage]} - input_values: - update_identifier: {get_param: DeployIdentifier} - - CephStorageConfig: - type: OS::TripleO::CephStorageConfig - properties: - StepConfig: {get_param: [role_data, CephStorage, step_config]} - - # Step through a series of configuration steps - CephStorageDeployment_Step1: - type: OS::Heat::StructuredDeploymentGroup - depends_on: [CephStoragePreConfig, CephStorageArtifactsDeploy] - properties: - name: CephStorageDeployment_Step1 - servers: {get_param: [servers, CephStorage]} - config: {get_resource: CephStorageConfig} - input_values: - step: 1 - update_identifier: {get_param: DeployIdentifier} - - CephStorageDeployment_Step2: - type: OS::Heat::StructuredDeploymentGroup - depends_on: - - ControllerDeployment_Step1 - - ComputeDeployment_Step1 - - BlockStorageDeployment_Step1 - - ObjectStorageDeployment_Step1 - - CephStorageDeployment_Step1 - properties: - name: CephStorageDeployment_Step2 - servers: {get_param: [servers, CephStorage]} - config: {get_resource: CephStorageConfig} - input_values: - step: 2 - update_identifier: {get_param: DeployIdentifier} - - CephStorageDeployment_Step3: - type: OS::Heat::StructuredDeploymentGroup - depends_on: - - ControllerDeployment_Step2 - - ComputeDeployment_Step2 - - BlockStorageDeployment_Step2 - - ObjectStorageDeployment_Step2 - - CephStorageDeployment_Step2 - properties: - name: CephStorageDeployment_Step3 - servers: {get_param: [servers, CephStorage]} - config: {get_resource: CephStorageConfig} - input_values: - step: 3 - update_identifier: {get_param: DeployIdentifier} - - CephStorageDeployment_Step4: - type: OS::Heat::StructuredDeploymentGroup - depends_on: - - ControllerDeployment_Step3 - - ComputeDeployment_Step3 - - BlockStorageDeployment_Step3 - - ObjectStorageDeployment_Step3 - - CephStorageDeployment_Step3 - properties: - name: CephStorageDeployment_Step4 - servers: {get_param: [servers, CephStorage]} - config: {get_resource: CephStorageConfig} - input_values: - step: 4 - update_identifier: {get_param: DeployIdentifier} - - CephStorageDeployment_Step5: - type: OS::Heat::StructuredDeploymentGroup - depends_on: - - ControllerDeployment_Step4 - - ComputeDeployment_Step4 - - BlockStorageDeployment_Step4 - - ObjectStorageDeployment_Step4 - - CephStorageDeployment_Step4 - properties: - name: CephStorageDeployment_Step5 - servers: {get_param: [servers, CephStorage]} - config: {get_resource: CephStorageConfig} - input_values: - step: 5 - update_identifier: {get_param: DeployIdentifier} - - CephStoragePostConfig: - type: OS::TripleO::Tasks::CephStoragePostConfig - depends_on: - - ControllerDeployment_Step5 - - ComputeDeployment_Step5 - - BlockStorageDeployment_Step5 - - ObjectStorageDeployment_Step5 - - CephStorageDeployment_Step5 - properties: - servers: {get_param: servers} - input_values: - update_identifier: {get_param: DeployIdentifier} - - # Note, this should come last, so use depends_on to ensure - # this is created after any other resources. - CephStorageExtraConfigPost: - depends_on: - - ControllerPostConfig - - ComputePostConfig - - BlockStoragePostConfig - - ObjectStoragePostConfig - - CephStoragePostConfig - type: OS::TripleO::NodeExtraConfigPost - properties: - servers: {get_param: [servers, CephStorage]} -- cgit 1.2.3-korg