Add 'scale-up' upgrade steps for cinder-volume
This patch adds the missing steps for 'scale-up' upgrade
support for the cinder-volume service similar to the
implementation in I3cfd4272449b207874723682903505d2bbdb435b
Related-Bug: #1838971
Change-Id: Ib97f3e7508e277d03d3cb75bba640264518b6323
(cherry picked from commit 1044d0bf3d
)
This commit is contained in:
parent
b363837fda
commit
b1e1e5d310
|
@ -324,6 +324,67 @@ outputs:
|
||||||
register: output
|
register: output
|
||||||
retries: 5
|
retries: 5
|
||||||
until: output.rc == 0
|
until: output.rc == 0
|
||||||
|
- name: Create hiera data to upgrade cinder_volume in a stepwise manner.
|
||||||
|
when:
|
||||||
|
- step|int == 1
|
||||||
|
block:
|
||||||
|
- name: set cinder_volume upgrade node facts in a single-node environment
|
||||||
|
set_fact:
|
||||||
|
cinder_volume_short_node_names_upgraded: "{{ cinder_volume_short_node_names }}"
|
||||||
|
cinder_volume_node_names_upgraded: "{{ cinder_volume_node_names }}"
|
||||||
|
cacheable: no
|
||||||
|
when: groups['cinder_volume'] | length <= 1
|
||||||
|
- name: set cinder_volume upgrade node facts from the limit option
|
||||||
|
set_fact:
|
||||||
|
cinder_volume_short_node_names_upgraded: "{{ cinder_volume_short_node_names_upgraded|default([]) + [item.split('.')[0]] }}"
|
||||||
|
cinder_volume_node_names_upgraded: "{{ cinder_volume_node_names_upgraded|default([]) + [item] }}"
|
||||||
|
cacheable: no
|
||||||
|
when:
|
||||||
|
- groups['cinder_volume'] | length > 1
|
||||||
|
- item.split('.')[0] in ansible_limit.split(',')
|
||||||
|
loop: "{{ cinder_volume_node_names }}"
|
||||||
|
- debug:
|
||||||
|
msg: "Prepare cinder_volume upgrade for {{ cinder_volume_short_node_names_upgraded }}"
|
||||||
|
- fail:
|
||||||
|
msg: >
|
||||||
|
You can't upgrade cinder_volume without
|
||||||
|
staged upgrade. You need to use the limit option in order
|
||||||
|
to do so.
|
||||||
|
when: >-
|
||||||
|
cinder_volume_short_node_names_upgraded is not defined or
|
||||||
|
cinder_volume_short_node_names_upgraded | length == 0 or
|
||||||
|
cinder_volume_node_names_upgraded is not defined or
|
||||||
|
cinder_volume_node_names_upgraded | length == 0
|
||||||
|
- name: remove cinder_volume init container on upgrade-scaleup to force re-init
|
||||||
|
shell: |
|
||||||
|
if podman inspect cinder_volume_init_bundle &> /dev/null; then
|
||||||
|
podman rm cinder_volume_init_bundle
|
||||||
|
fi
|
||||||
|
when: cinder_volume_short_node_names_upgraded | length > 1
|
||||||
|
- name: add the cinder_volume short name to hiera data for the upgrade.
|
||||||
|
include_role:
|
||||||
|
name: tripleo-upgrade-hiera
|
||||||
|
tasks_from: set.yml
|
||||||
|
vars:
|
||||||
|
tripleo_upgrade_key: cinder_volume_short_node_names_override
|
||||||
|
tripleo_upgrade_value: "{{ cinder_volume_short_node_names_upgraded }}"
|
||||||
|
- name: add the cinder_volume long name to hiera data for the upgrade
|
||||||
|
include_role:
|
||||||
|
name: tripleo-upgrade-hiera
|
||||||
|
tasks_from: set.yml
|
||||||
|
vars:
|
||||||
|
tripleo_upgrade_key: cinder_volume_node_names_override
|
||||||
|
tripleo_upgrade_value: "{{ cinder_volume_node_names_upgraded }}"
|
||||||
|
- name: remove the extra hiera data needed for the upgrade.
|
||||||
|
include_role:
|
||||||
|
name: tripleo-upgrade-hiera
|
||||||
|
tasks_from: remove.yml
|
||||||
|
vars:
|
||||||
|
tripleo_upgrade_key: "{{ item }}"
|
||||||
|
loop:
|
||||||
|
- cinder_volume_short_node_names_override
|
||||||
|
- cinder_volume_node_names_override
|
||||||
|
when: cinder_volume_short_node_names_upgraded | length == cinder_volume_node_names | length
|
||||||
- name: Retag the pacemaker image if containerized
|
- name: Retag the pacemaker image if containerized
|
||||||
when:
|
when:
|
||||||
- step|int == 3
|
- step|int == 3
|
||||||
|
|
Loading…
Reference in New Issue