aboutsummaryrefslogtreecommitdiffstats
path: root/puppet/puppet-steps.j2
blob: 5567d65d8c975fc4a462e8ed4e644d98cefdc99f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
  # 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]}]}

  # 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 %}

  # Note, this should be the last step to execute configuration changes.
  # Ensure that all {{role.name}}ExtraConfigPost steps are executed
  # after all the previous deployment steps.
  {{role.name}}ExtraConfigPost:
    depends_on:
  {% for dep in roles %}
      - {{dep.name}}Deployment_Step5
  {% endfor %}
    type: OS::TripleO::NodeExtraConfigPost
    properties:
        servers: {get_param: [servers, {{role.name}}]}

  # The {{role.name}}PostConfig steps are in charge of
  # quiescing all services, i.e. in the Controller case,
  # we should run a full service reload.
  {{role.name}}PostConfig:
    type: OS::TripleO::Tasks::{{role.name}}PostConfig
    depends_on:
  {% for dep in roles %}
      - {{dep.name}}ExtraConfigPost
  {% endfor %}
    properties:
      servers: {get_param: servers}
      input_values:
        update_identifier: {get_param: DeployIdentifier}


{% endfor %}