From 831efffffc71ec5836c6edf039cf3e71b12c896a Mon Sep 17 00:00:00 2001 From: Sergei Petrosian Date: Tue, 2 Jan 2024 15:32:17 +0100 Subject: [PATCH] Attempt to fix tests --- handlers/main.yml | 7 ++--- tests/tests_add_rm.yml | 67 ++++++++++++++++++++++++------------------ 2 files changed, 41 insertions(+), 33 deletions(-) diff --git a/handlers/main.yml b/handlers/main.yml index 4d46b2c..e4619aa 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -11,10 +11,9 @@ {{ __bootloader_default_grub }} cat {{ __bootloader_default_grub }} changed_when: true - when: >- - (ansible_distribution in ['CentOS', 'RedHat'] and - ansible_facts.distribution_major_version is version('7', '=')) or - ansible_distribution == 'Fedora' + when: + - ansible_distribution in ['CentOS', 'RedHat'] + - ansible_facts.distribution_major_version is version('7', '=') - name: Rebuild grub config command: grub2-mkconfig -o {{ __bootloader_grub_conf }} diff --git a/tests/tests_add_rm.yml b/tests/tests_add_rm.yml index cb5dcca..72e37af 100644 --- a/tests/tests_add_rm.yml +++ b/tests/tests_add_rm.yml @@ -14,37 +14,41 @@ include_role: name: linux-system-roles.bootloader - - name: Clone the oldest kernel and initrd for test purposes + - name: Flush handlers + meta: flush_handlers + + - name: Set fact with the default kernel to use for clones + set_fact: + test_kernel: "{{ bootloader_facts | rejectattr('initrd', 'undefined') + | selectattr('default', 'equalto', True) | first }}" + + - name: Clone test_kernel kernel and initrd for test purposes copy: src: "{{ item.src }}" remote_src: true dest: "{{ item.dest }}" mode: preserve loop: - - src: "{{ (bootloader_facts | last).kernel }}" - dest: "{{ (bootloader_facts | last).kernel }}_clone1" - - src: "{{ (bootloader_facts | last).initrd | - regex_replace(' .*$', '') }}" - dest: "{{ (bootloader_facts | last).initrd | - regex_replace(' .*$', '') }}_clone1" - - src: "{{ (bootloader_facts | last).kernel }}" - dest: "{{ (bootloader_facts | last).kernel }}_clone2" - - src: "{{ (bootloader_facts | last).initrd | - regex_replace(' .*$', '') }}" - dest: "{{ (bootloader_facts | last).initrd | - regex_replace(' .*$', '') }}_clone2" + - src: "{{ test_kernel.kernel }}" + dest: "{{ test_kernel.kernel }}_clone1" + - src: "{{ test_kernel.initrd | regex_replace(' .*$', '') }}" + dest: "{{ test_kernel.initrd | regex_replace(' .*$', '') }}_clone1" + - src: "{{ test_kernel.kernel }}" + dest: "{{ test_kernel.kernel }}_clone2" + - src: "{{ test_kernel.initrd | regex_replace(' .*$', '') }}" + dest: "{{ test_kernel.initrd | regex_replace(' .*$', '') }}_clone2" - name: Create Clone1 kernel with copy_defaults=true vars: bootloader_settings: - kernel: - path: "{{ (bootloader_facts | last).kernel }}_clone1" - initrd: "{{ (bootloader_facts | last).initrd | + path: "{{ test_kernel.kernel }}_clone1" + initrd: "{{ test_kernel.initrd | regex_replace(' .*$', '') }}_clone1" title: Clone1 options: - - name: console - value: tty0 + - name: test + value: setting state: present - copy_default: true include_role: @@ -66,20 +70,22 @@ - name: Verify settings vars: __default_args: "{{ - (bootloader_facts | selectattr('default', 'equalto', True) | + (bootloader_facts | selectattr('title', 'defined') | + selectattr('default', 'equalto', True) | first).args }}" assert: that: >- - (bootloader_facts | selectattr('title', 'search', 'Clone1') | - first).args == __default_args ~ ' console=tty0' + (bootloader_facts | selectattr('title', 'defined') | + selectattr('title', 'search', 'Clone1') | + first).args == __default_args ~ ' test=setting' - name: Remove Clone1 kernel with 3 kernel keys vars: bootloader_gather_facts: true bootloader_settings: - kernel: - path: "{{ (bootloader_facts | last).kernel }}_clone1" - initrd: "{{ (bootloader_facts | last).initrd | + path: "{{ test_kernel.kernel }}_clone1" + initrd: "{{ test_kernel.initrd | regex_replace(' .*$', '') }}_clone1" title: Clone1 options: @@ -93,15 +99,16 @@ - name: Verify that Clone1 kernel is removed assert: - that: bootloader_facts | selectattr('title', 'search', 'Clone1') | + that: bootloader_facts | selectattr('title', 'defined') | + selectattr('title', 'search', 'Clone1') | list | length == 0 - name: Create clone2 kernel without copy_defaults=true vars: bootloader_settings: - kernel: - path: "{{ (bootloader_facts | last).kernel }}_clone2" - initrd: "{{ (bootloader_facts | last).initrd | + path: "{{ test_kernel.kernel }}_clone2" + initrd: "{{ test_kernel.initrd | regex_replace(' .*$', '') }}_clone2" title: Clone2 options: @@ -127,7 +134,8 @@ - name: Verify settings assert: that: >- - (bootloader_facts | selectattr('title', 'search', 'Clone2') | + (bootloader_facts | selectattr('title', 'defined') | + selectattr('title', 'search', 'Clone2') | first).args == 'console=tty0' - name: Remove Clone2 kernel with kernel path @@ -135,8 +143,8 @@ bootloader_gather_facts: true bootloader_settings: - kernel: - path: "{{ (bootloader_facts | last).kernel }}_clone2" - initrd: "{{ (bootloader_facts | last).initrd | + path: "{{ test_kernel.kernel }}_clone2" + initrd: "{{ test_kernel.initrd | regex_replace(' .*$', '') }}_clone2" title: Clone2 state: absent @@ -145,5 +153,6 @@ - name: Verify that Clone2 kernel is removed assert: - that: bootloader_facts | selectattr('title', 'search', 'Clone2') | + that: bootloader_facts | selectattr('title', 'defined') | + selectattr('title', 'search', 'Clone2') | list | length == 0