Make UpgradeInitCommand and UpgradeLeapp{ToRemove,ToInstall,CommandOptions} per-role

When specific roles are deployed with custom images, for example CephStorage with
overcloud-minimal, then the LeappCommandOptions and/or the list of packages to
be removed/installed is not the same across all roles.

This change makes four parameters to be customized on a per-role basis:
UpgradeInitCommand
UpgradeLeappToRemove
UpgradeLeappToInstall
UpgradeLeappCommandOptions

Related-Bug: 1915067
Closes-Bug: rhbz#1936419
Change-Id: Ifd373f7aba6d98baa843b141de8a2266eaa71a0b
(cherry picked from commit 155fe9454b)
(cherry picked from commit dbad3a079b)
(cherry picked from commit 284629a874)
This commit is contained in:
Giulio Fidente 2021-03-09 17:01:49 +01:00 committed by Jesse Pretorius (odyssey4me)
parent e30b34a1ce
commit 25493bcb16
1 changed files with 12 additions and 3 deletions

View File

@ -131,9 +131,17 @@ resources:
map_replace: map_replace:
- map_replace: - map_replace:
- dnf_module_list: DnfStreams - dnf_module_list: DnfStreams
upgrade_leapp_command_options: UpgradeLeappCommandOptions
upgrade_leapp_to_remove: UpgradeLeappToRemove
upgrade_leapp_to_install: UpgradeLeappToInstall
upgrade_init_command: UpgradeInitCommand
- values: {get_param: [RoleParameters]} - values: {get_param: [RoleParameters]}
- values: - values:
DnfStreams: {get_param: DnfStreams} DnfStreams: {get_param: DnfStreams}
UpgradeLeappCommandOptions: {get_param: UpgradeLeappCommandOptions}
UpgradeLeappToRemove: {get_param: UpgradeLeappToRemove}
UpgradeLeappToInstall: {get_param: UpgradeLeappToInstall}
UpgradeInitCommand: {get_param: UpgradeInitCommand}
outputs: outputs:
role_data: role_data:
@ -162,6 +170,7 @@ outputs:
ansible_facts['distribution_major_version'] is version('7', '==') }} ansible_facts['distribution_major_version'] is version('7', '==') }}
upgrade_leapp_debug: {get_param: UpgradeLeappDebug} upgrade_leapp_debug: {get_param: UpgradeLeappDebug}
upgrade_leapp_devel_skip: {get_param: UpgradeLeappDevelSkip} upgrade_leapp_devel_skip: {get_param: UpgradeLeappDevelSkip}
upgrade_leapp_command_options: {get_attr: [RoleParametersValue, value, 'upgrade_leapp_command_options']}
upgrade_leapp_command_options: {get_param: UpgradeLeappCommandOptions} upgrade_leapp_command_options: {get_param: UpgradeLeappCommandOptions}
upgrade_leapp_reboot_timeout: {get_param: UpgradeLeappRebootTimeout} upgrade_leapp_reboot_timeout: {get_param: UpgradeLeappRebootTimeout}
upgrade_leapp_post_reboot_delay: {get_param: UpgradeLeappPostRebootDelay} upgrade_leapp_post_reboot_delay: {get_param: UpgradeLeappPostRebootDelay}
@ -331,14 +340,14 @@ outputs:
state: absent state: absent
- name: "add packages into Leapp's to_remove file" - name: "add packages into Leapp's to_remove file"
vars: vars:
pkg_to_remove: { get_param: UpgradeLeappToRemove } pkg_to_remove: { get_attr: [RoleParametersValue, value, 'upgrade_leapp_to_remove']}
lineinfile: lineinfile:
path: "/etc/leapp/transaction/to_remove" path: "/etc/leapp/transaction/to_remove"
line: "{{ item }}" line: "{{ item }}"
loop: "{{ pkg_to_remove }}" loop: "{{ pkg_to_remove }}"
- name: "add packages into Leapp's to_install file" - name: "add packages into Leapp's to_install file"
vars: vars:
pkg_to_install: { get_param: UpgradeLeappToInstall } pkg_to_install: {get_attr: [RoleParametersValue, value, 'upgrade_leapp_to_install']}
lineinfile: lineinfile:
path: "/etc/leapp/transaction/to_install" path: "/etc/leapp/transaction/to_install"
line: "{{ item }}" line: "{{ item }}"
@ -421,7 +430,7 @@ outputs:
list_join: list_join:
- '' - ''
- - "#!/bin/bash\n\n" - - "#!/bin/bash\n\n"
- {get_param: UpgradeInitCommand} - {get_attr: [RoleParametersValue, value, 'upgrade_init_command']}
- name: Run UpgradeInitCommonCommand - name: Run UpgradeInitCommonCommand
shell: shell:
list_join: list_join: