Skip to content

Commit

Permalink
PRE - Role: package_manager - Upgrade tasks optimisation
Browse files Browse the repository at this point in the history
  • Loading branch information
aybarsm committed Jul 6, 2024
1 parent a0fcd02 commit 691b120
Showing 1 changed file with 14 additions and 15 deletions.
29 changes: 14 additions & 15 deletions roles/package_manager/vars/common.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package_manager__packages_all: "{{ package_manager__all |
aybarsm.helper.selectattr(__package_manager__config.packages.selectattr) |
aybarsm.helper.replace_aliases(__package_manager__config.packages.replace_aliases) |
aybarsm.helper.splitattr(__package_manager__config.packages.splitattr) |
aybarsm.helper.unique_recursive(attribute=__package_manager__config.packages.uniques) |
aybarsm.helper.unique_recursive(__package_manager__config.packages.uniques) |
aybarsm.helper.joinattr(__package_manager__config.packages.joinattr) |
default([]) }}"

Expand Down Expand Up @@ -32,21 +32,20 @@ __package_manager__upgrade_once: "{{ package_manager__upgrade_strategy == 'once'
__package_manager__upgrade_always: "{{ package_manager__upgrade_strategy == 'always' }}"
__package_manager__upgrade_never: "{{ package_manager__upgrade_strategy == 'never' }}"
__package_manager__upgrade_execute: >-
{%- set exec_upgrade = {'decision': true, 'reason': ''} -%}
{%- if __package_manager__upgrade_never -%}
{'decision': false, 'reason': 'Upgrade strategy is set to never.'}
{%- set exec_upgrade = {'decision': false, 'reason': 'Upgrade strategy is set to never.'} -%}
{%- elif __package_manager__upgrade_clean and not __package_manager__upgrade_clean_eligible -%}
{'decision': false, 'reason': 'Upgrade strategy is set to clean, but no default repo list configuration found.'}
{%- set exec_upgrade = {'decision': false, 'reason': 'Upgrade strategy is set to clean, but no default repo list configuration found.'} -%}
{%- elif __package_manager__upgrade_once -%}
{%- if ansible__role_enabled is undefined -%}
{'decision': false, 'reason': 'Upgrade strategy once requires aybarsm.linux.ansible role included.'}
{%- elif not ansible__role_enabled -%}
{'decision': false, 'reason': 'Upgrade strategy once requires aybarsm.linux.ansible role enabled. (ansible__role_enabled: true)'}
{%- elif not ansible__manage_local_facts -%}
{'decision': false, 'reason': 'Upgrade strategy once requires aybarsm.linux.ansible role local fact management enabled. (ansible__manage_local_facts: true)'}
{%- elif __package_manager__upgrade_once and __package_manager__upgrade_once_eligible and not __package_manager__upgrade_defined -%}
{'decision': true, 'reason': 'Upgrade strategy is set to once, and eligible.'}
{%- else -%}
{'decision': false, 'reason': 'Upgrade strategy is not set to always or once, or not eligible.'}
{%- if ansible__local_fact_name is undefined -%}
{%- set exec_upgrade = {'decision': false, 'reason': 'Upgrade strategy once requires aybarsm.linux.ansible role imported.'} -%}
{%- elif ansible__role_enabled is undefined or not ansible__role_enabled -%}
{%- set exec_upgrade = {'decision': false, 'reason': 'Upgrade strategy once requires aybarsm.linux.ansible role enabled. (ansible__role_enabled: true)'} -%}
{%- elif not ansible__manage_local_facts -%}
{%- set exec_upgrade = {'decision': false, 'reason': 'Upgrade strategy once requires aybarsm.linux.ansible role local fact management enabled. (ansible__manage_local_facts: true)'} -%}
{%- elif ansible_local[ansible__local_fact_name].package_manager.upgrade is defined -%}
{%- set exec_upgrade = {'decision': false, 'reason': 'Host already upgraded.'} -%}
{%- endif -%}
{%- endif -%}
__package_manager__upgrade_always or (__package_manager__upgrade_once and __package_manager__upgrade_once_eligible and not __package_manager__upgrade_defined) }}"
{{ exec_upgrade }}

0 comments on commit 691b120

Please sign in to comment.