Add operating system upgrade preparation via Leapp

Also make sure pacemaker cluster is not only stopped but also
destroyed on the node being upgraded. This is a prerequisite for
upgrades via Leapp, otherwise Leapp would assume we expect it to
upgrade the cluster, and it would fail on validation.

Change-Id: I8cf3e4cf294fee3b71473e2343ad16b184fac665
This commit is contained in:
Jiri Stransky 2019-05-07 16:26:19 +02:00
parent 6d9560e177
commit b0519479c1
2 changed files with 45 additions and 0 deletions

View File

@ -152,6 +152,8 @@ outputs:
block: block:
- name: Stop pacemaker cluster - name: Stop pacemaker cluster
pacemaker_cluster: state=offline pacemaker_cluster: state=offline
- name: destroy pacemaker cluster
command: /usr/sbin/pcs cluster destroy
- name: Check pacemaker cluster running before upgrade - name: Check pacemaker cluster running before upgrade
when: step|int == 0 when: step|int == 0
tags: validation tags: validation

View File

@ -51,6 +51,18 @@ parameters:
echo "and passed the upstream name (ocata, pike, queens) of the release as first argument" echo "and passed the upstream name (ocata, pike, queens) of the release as first argument"
exit 1 exit 1
type: string type: string
UpgradeLeappEnabled:
description: Use Leapp for operating system upgrade
type: boolean
default: true
UpgradeLeappDebug:
description: Print debugging output when running Leapp
type: boolean
default: true
UpgradeLeappRebootTimeout:
description: Timeout (seconds) for the OS upgrade phase via Leapp
type: number
default: 1800
UpgradeInitCommand: UpgradeInitCommand:
type: string type: string
description: | description: |
@ -76,6 +88,37 @@ outputs:
step_config: | step_config: |
include ::tripleo::packages include ::tripleo::packages
upgrade_tasks: upgrade_tasks:
- name: set leapp facts
tags: always
set_fact:
upgrade_leapp_enabled: {get_param: UpgradeLeappEnabled}
upgrade_leapp_debug: {get_param: UpgradeLeappDebug}
upgrade_leapp_reboot_timeout: {get_param: UpgradeLeappRebootTimeout}
- name: system_upgrade_prepare step 3
tags:
- never
- system_upgrade_prepare
when: step|int == 3
block:
- name: install leapp
package:
name: leapp
state: latest
when: upgrade_leapp_enabled
- name: run leapp upgrade (download packages)
shell: |
leapp upgrade {{ '--debug' if upgrade_leapp_debug|default(true) else '' }}
when: upgrade_leapp_enabled
- name: system_upgrade_run step 5
tags:
- never
- system_upgrade_run
when: step|int == 5
block:
- name: reboot to perform the upgrade
reboot:
reboot_timeout: "{{upgrade_leapp_reboot_timeout}}"
when: upgrade_leapp_enabled
- name: Package and repo update tasks - name: Package and repo update tasks
when: step|int == 0 when: step|int == 0
block: block: