yum_versionlock: fix idempotency when using wildcard (asterisk) (#2787)

* Check idempotency on yum_versionlock

* Lock packages wildcard

* fix formatting

Co-authored-by: Felix Fontein <felix@fontein.de>

* Fix formatting in asserts

* little closer but not still there

* Import fnmatch

* Change check_mode logic

* Add check_mode for add

* Add changelog

Co-authored-by: Felix Fontein <felix@fontein.de>
This commit is contained in:
Amin Vakil 2021-06-27 19:10:49 +04:30 committed by GitHub
parent c7cf6f2eb7
commit 0a9cf38118
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 32 additions and 14 deletions

View file

@ -29,6 +29,18 @@
state: present
register: lock_all_packages
- name: Lock all packages again
community.general.yum_versionlock:
name: "{{ yum_updates.results | map(attribute='name') | list }}"
state: present
register: lock_all_packages_again
- name: Lock packages wildcard
community.general.yum_versionlock:
name: "nss*"
state: present
register: lock_nss_wildcard
# This should fail when it needs user interaction and missing -y is on purpose.
- name: Update all packages (not really)
command: yum update --setopt=obsoletes=0
@ -54,10 +66,12 @@
- name: Assert everything is fine
assert:
that:
- "{{ lock_all_packages.changed }}"
- "{{ not update_all_locked_packages.changed }}"
- "{{ unlock_all_packages.changed }}"
- "{{ update_all_packages.changed }}"
- lock_all_packages is changed
- lock_all_packages_again is not changed
- lock_nss_wildcard is not changed
- update_all_locked_packages is not changed
- unlock_all_packages is changed
- update_all_packages is changed
when: yum_updates.results | length != 0
- name: Remove installed packages in case it was not installed