Merge "Increase galera sync timeout in yum_update.sh"
[apex-tripleo-heat-templates.git] / extraconfig / tasks / major_upgrade_pacemaker_init.yaml
1 heat_template_version: 2014-10-16
2 description: 'Upgrade for Pacemaker deployments'
3
4 parameters:
5
6   controller_servers:
7     type: json
8   compute_servers:
9     type: json
10   blockstorage_servers:
11     type: json
12   objectstorage_servers:
13     type: json
14   cephstorage_servers:
15     type: json
16   input_values:
17     type: json
18     description: input values for the software deployments
19
20   UpgradeInitCommand:
21     type: string
22     description: |
23       Command or script snippet to run on all overcloud nodes to
24       initialize the upgrade process. E.g. a repository switch.
25     default: ''
26   UpgradeLevelNovaCompute:
27     type: string
28     description: Nova Compute upgrade level
29     default: ''
30
31 resources:
32
33   # For the UpgradeInit also rename /etc/resolv.conf.save for +bug/1567004
34
35   UpgradeInitConfig:
36     type: OS::Heat::SoftwareConfig
37     properties:
38       group: script
39       config:
40         list_join:
41         - ''
42         - - "#!/bin/bash\n\n"
43           - "if [[ -f /etc/resolv.conf.save ]] ; then rm /etc/resolv.conf.save; fi\n\n"
44           - get_param: UpgradeInitCommand
45
46   UpgradeInitControllerDeployment:
47     type: OS::Heat::SoftwareDeploymentGroup
48     properties:
49       servers:  {get_param: controller_servers}
50       config: {get_resource: UpgradeInitConfig}
51       input_values: {get_param: input_values}
52
53   UpgradeInitComputeDeployment:
54     type: OS::Heat::SoftwareDeploymentGroup
55     properties:
56       servers:  {get_param: compute_servers}
57       config: {get_resource: UpgradeInitConfig}
58       input_values: {get_param: input_values}
59
60   UpgradeInitBlockStorageDeployment:
61     type: OS::Heat::SoftwareDeploymentGroup
62     properties:
63       servers:  {get_param: blockstorage_servers}
64       config: {get_resource: UpgradeInitConfig}
65       input_values: {get_param: input_values}
66
67   UpgradeInitObjectStorageDeployment:
68     type: OS::Heat::SoftwareDeploymentGroup
69     properties:
70       servers:  {get_param: objectstorage_servers}
71       config: {get_resource: UpgradeInitConfig}
72       input_values: {get_param: input_values}
73
74   UpgradeInitCephStorageDeployment:
75     type: OS::Heat::SoftwareDeploymentGroup
76     properties:
77       servers:  {get_param: cephstorage_servers}
78       config: {get_resource: UpgradeInitConfig}
79       input_values: {get_param: input_values}
80
81   # TODO(jistr): for Mitaka->Newton upgrades and further we can use
82   # map_merge with input_values instead of feeding params into scripts
83   # via str_replace on bash snippets
84
85   ComputeDeliverUpgradeScriptConfig:
86     type: OS::Heat::SoftwareConfig
87     properties:
88       group: script
89       config:
90         list_join:
91         - ''
92         - - str_replace:
93               template: |
94                 #!/bin/bash
95                 upgrade_level_nova_compute='UPGRADE_LEVEL_NOVA_COMPUTE'
96               params:
97                 UPGRADE_LEVEL_NOVA_COMPUTE: {get_param: UpgradeLevelNovaCompute}
98           - get_file: major_upgrade_compute.sh
99
100   ComputeDeliverUpgradeScriptDeployment:
101     type: OS::Heat::SoftwareDeploymentGroup
102     properties:
103       servers:  {get_param: compute_servers}
104       config: {get_resource: ComputeDeliverUpgradeScriptConfig}
105       input_values: {get_param: input_values}
106
107   ObjectStorageDeliverUpgradeScriptConfig:
108     type: OS::Heat::SoftwareConfig
109     properties:
110       group: script
111       config: {get_file: major_upgrade_object_storage.sh}
112
113   ObjectStorageDeliverUpgradeScriptDeployment:
114     type: OS::Heat::SoftwareDeploymentGroup
115     properties:
116       servers:  {get_param: objectstorage_servers}
117       config: {get_resource: ObjectStorageDeliverUpgradeScriptConfig}
118       input_values: {get_param: input_values}
119
120   CephStorageDeliverUpgradeScriptConfig:
121     type: OS::Heat::SoftwareConfig
122     properties:
123       group: script
124       config: {get_file: major_upgrade_ceph_storage.sh}
125
126   CephStorageDeliverUpgradeScriptDeployment:
127     type: OS::Heat::SoftwareDeploymentGroup
128     properties:
129       servers:  {get_param: cephstorage_servers}
130       config: {get_resource: CephStorageDeliverUpgradeScriptConfig}
131       input_values: {get_param: input_values}