ansible-lint: Fix command-instead-of-module failures

Signed-off-by: Wen Liang <liangwen12year@gmail.com>
This commit is contained in:
Wen Liang 2023-03-21 12:45:18 -04:00 committed by Fernando Fernández Mancera
parent b80e178fc5
commit 8a3dd3c438
12 changed files with 76 additions and 34 deletions

View file

@ -20,14 +20,19 @@ GET_NM_VERSION = """
package:
name: NetworkManager
state: present
- name: Get NetworkManager package info
yum:
list: NetworkManager
register: networkmanager_info
- name: Get NetworkManager version
command: rpm -q --qf "%{version}" NetworkManager
register: networkmanager_version
when: true
set_fact:
networkmanager_version: "{{ networkmanager_info.results |
selectattr('yumstate', 'match', '^installed$') |
map(attribute='version') | list | first }}"
"""
MINIMUM_NM_VERSION_CHECK = """
- networkmanager_version.stdout is version({minimum_nm_version}, '>=')
- networkmanager_version is version({minimum_nm_version}, '>=')
"""
EXTRA_RUN_CONDITION_PREFIX = " - "

View file

@ -72,6 +72,7 @@
{{ modules_parent_and_dir.stdout_lines[1] }}
-C {{ module_utils_parent_and_dir.stdout_lines[0] }}
{{ module_utils_parent_and_dir.stdout_lines[1] }}
# noqa command-instead-of-module
delegate_to: localhost
- name: Copy testrepo.tar to the remote system
@ -81,9 +82,10 @@
mode: preserve
- name: Untar testrepo.tar
command: tar xf {{ temptar.path | basename }}
args:
chdir: "{{ _rundir.path }}"
unarchive:
src: "{{ _rundir.path }}/{{ temptar.path | basename }}"
dest: "{{ _rundir.path }}"
remote_src: true
- name: "Create subdirectory './ansible' under '{{ _rundir.path }}'"
file:

View file

@ -9,6 +9,7 @@
cmd: >-
rpm -iv https://dl.fedoraproject.org/pub/epel/epel-release-latest-{{
ansible_distribution_major_version }}.noarch.rpm
# noqa command-instead-of-module
creates: /etc/yum.repos.d/epel.repo
register: __epel_status
# sometimes the rpm download returns a 403 - I think it is when too

View file

@ -6,6 +6,7 @@
- name: Get NetworkManager RPM version
command:
cmd: rpm -qa --qf '%{name}-%{version}-%{release}\n' NetworkManager
# noqa command-instead-of-module
register: __rpm_q_networkmanager
- name: Store NetworkManager version

View file

@ -46,6 +46,7 @@
- name: Get NetworkManager version
command:
cmd: rpm -qa NetworkManager
# noqa command-instead-of-module
register: __network_nm_nvr
changed_when: false
- block:

View file

@ -21,10 +21,15 @@
package:
name: NetworkManager
state: present
- name: Get NetworkManager package info
yum:
list: NetworkManager
register: networkmanager_info
- name: Get NetworkManager version
command: rpm -q --qf "%{version}" NetworkManager
register: networkmanager_version
when: true
set_fact:
networkmanager_version: "{{ networkmanager_info.results |
selectattr('yumstate', 'match', '^installed$') |
map(attribute='version') | list | first }}"
# The test requires or should run with NetworkManager, therefore it cannot run
@ -34,4 +39,4 @@
when:
- ansible_distribution_major_version != '6'
- networkmanager_version.stdout is version('1.26.0', '>=')
- networkmanager_version is version('1.26.0', '>=')

View file

@ -21,10 +21,15 @@
package:
name: NetworkManager
state: present
- name: Get NetworkManager package info
yum:
list: NetworkManager
register: networkmanager_info
- name: Get NetworkManager version
command: rpm -q --qf "%{version}" NetworkManager
register: networkmanager_version
when: true
set_fact:
networkmanager_version: "{{ networkmanager_info.results |
selectattr('yumstate', 'match', '^installed$') |
map(attribute='version') | list | first }}"
# The test requires or should run with NetworkManager, therefore it cannot run
@ -34,4 +39,4 @@
when:
- ansible_distribution_major_version != '6'
- networkmanager_version.stdout is version('1.25.1', '>=')
- networkmanager_version is version('1.25.1', '>=')

View file

@ -21,10 +21,15 @@
package:
name: NetworkManager
state: present
- name: Get NetworkManager package info
yum:
list: NetworkManager
register: networkmanager_info
- name: Get NetworkManager version
command: rpm -q --qf "%{version}" NetworkManager
register: networkmanager_version
when: true
set_fact:
networkmanager_version: "{{ networkmanager_info.results |
selectattr('yumstate', 'match', '^installed$') |
map(attribute='version') | list | first }}"
# The test requires or should run with NetworkManager, therefore it cannot run
@ -34,4 +39,4 @@
when:
- ansible_distribution_major_version != '6'
- networkmanager_version.stdout is version('1.20.0', '>=')
- networkmanager_version is version('1.20.0', '>=')

View file

@ -21,10 +21,15 @@
package:
name: NetworkManager
state: present
- name: Get NetworkManager package info
yum:
list: NetworkManager
register: networkmanager_info
- name: Get NetworkManager version
command: rpm -q --qf "%{version}" NetworkManager
register: networkmanager_version
when: true
set_fact:
networkmanager_version: "{{ networkmanager_info.results |
selectattr('yumstate', 'match', '^installed$') |
map(attribute='version') | list | first }}"
# The test requires or should run with NetworkManager, therefore it cannot run
@ -34,4 +39,4 @@
when:
- ansible_distribution_major_version != '6'
- networkmanager_version.stdout is version('1.25.2', '>=')
- networkmanager_version is version('1.25.2', '>=')

View file

@ -21,10 +21,15 @@
package:
name: NetworkManager
state: present
- name: Get NetworkManager package info
yum:
list: NetworkManager
register: networkmanager_info
- name: Get NetworkManager version
command: rpm -q --qf "%{version}" NetworkManager
register: networkmanager_version
when: true
set_fact:
networkmanager_version: "{{ networkmanager_info.results |
selectattr('yumstate', 'match', '^installed$') |
map(attribute='version') | list | first }}"
# The test requires or should run with NetworkManager, therefore it cannot run
@ -34,6 +39,6 @@
when:
- ansible_distribution_major_version != '6'
- networkmanager_version.stdout is version('1.20.0', '>=')
- networkmanager_version is version('1.20.0', '>=')
- ansible_distribution != 'RedHat' or
ansible_distribution_major_version | int < 9

View file

@ -12,10 +12,15 @@
package:
name: NetworkManager
state: present
- name: Get NetworkManager package info
yum:
list: NetworkManager
register: networkmanager_info
- name: Get NetworkManager version
command: rpm -q --qf "%{version}" NetworkManager
when: true
register: networkmanager_version
set_fact:
networkmanager_version: "{{ networkmanager_info.results |
selectattr('yumstate','match','^installed$') |
map(attribute='version') | list | first }}"
# workaround for: https://github.com/ansible/ansible/issues/27973
# There is no way in Ansible to abort a playbook hosts with specific OS
@ -26,6 +31,6 @@
when:
- ansible_distribution_major_version != '6'
# The test depends on behavior that is only visible with newer NM
- networkmanager_version.stdout is version('1.22.0', '>=')
- networkmanager_version is version('1.22.0', '>=')
- ansible_distribution != 'RedHat' or
ansible_distribution_major_version | int < 9

View file

@ -49,6 +49,7 @@
{{ modules_parent_and_dir.stdout_lines[1] }}
-C {{ module_utils_parent_and_dir.stdout_lines[0] }}
{{ module_utils_parent_and_dir.stdout_lines[1] }}
# noqa command-instead-of-module
delegate_to: localhost
- name: Copy testrepo.tar to the remote system
@ -58,9 +59,10 @@
mode: preserve
- name: Untar testrepo.tar
command: tar -xvf {{ temptar.path | basename }}
args:
chdir: "{{ _rundir.path }}"
unarchive:
src: "{{ _rundir.path }}/{{ temptar.path | basename }}"
dest: "{{ _rundir.path }}"
remote_src: true
- name: Create subdirectory '/ansible/module_utils' under
'{{ _rundir.path }}'