# Post deployment steps for all roles # A single config is re-applied with an incrementing step number {% for role in roles %} # {{role.name}} Role post-deploy 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: {list_join: ["\n", {get_param: [role_data, {{role.name}}, step_config]}]} {{role.name}}PrePuppet: type: OS::TripleO::Tasks::{{role.name}}PrePuppet properties: servers: {get_param: [servers, {{role.name}}]} input_values: update_identifier: {get_param: DeployIdentifier} {% if role.name in ['Controller', 'ObjectStorage'] %} {{role.name}}SwiftRingDeploy: type: OS::TripleO::Tasks::SwiftRingDeploy properties: servers: {get_param: [servers, {{role.name}}]} {% endif %} # Step through a series of configuration steps {% for step in range(1, 6) %} {{role.name}}Deployment_Step{{step}}: type: OS::Heat::StructuredDeploymentGroup {% if step == 1 %} depends_on: [{{role.name}}PreConfig, {{role.name}}ArtifactsDeploy] {% else %} depends_on: {% for dep in roles %} - {{dep.name}}Deployment_Step{{step -1}} {% endfor %} {% endif %} properties: name: {{role.name}}Deployment_Step{{step}} servers: {get_param: [servers, {{role.name}}]} config: {get_resource: {{role.name}}Config} input_values: step: {{step}} update_identifier: {get_param: DeployIdentifier} {% endfor %} {{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}}]} {{role.name}}PostPuppet: depends_on: - {{role.name}}ExtraConfigPost type: OS::TripleO::Tasks::{{role.name}}PostPuppet properties: servers: {get_param: [servers, {{role.name}}]} input_values: update_identifier: {get_param: DeployIdentifier} {% if role.name in ['Controller', 'ObjectStorage'] %} {{role.name}}SwiftRingUpdate: type: OS::TripleO::Tasks::SwiftRingUpdate depends_on: {% for dep in roles %} - {{dep.name}}Deployment_Step5 {% endfor %} properties: servers: {get_param: [servers, {{role.name}}]} {% endif %} {% endfor %}