48 lines
1.5 KiB
YAML
48 lines
1.5 KiB
YAML
|
---
|
||
|
- name: Verify
|
||
|
hosts: all
|
||
|
gather_facts: true
|
||
|
tasks:
|
||
|
- name: "Test: file /etc/hosts"
|
||
|
block:
|
||
|
- name: "Stat file /etc/hosts"
|
||
|
ansible.builtin.stat:
|
||
|
path: "/etc/hosts"
|
||
|
register: stat_etc_hosts
|
||
|
|
||
|
- name: "Verify file /etc/hosts"
|
||
|
vars:
|
||
|
etc_hosts_group:
|
||
|
ubuntu: "adm"
|
||
|
debian: "root"
|
||
|
ansible.builtin.assert:
|
||
|
that:
|
||
|
- stat_etc_hosts.stat.exists
|
||
|
- stat_etc_hosts.stat.isreg
|
||
|
- stat_etc_hosts.stat.pw_name == 'root'
|
||
|
- stat_etc_hosts.stat.gr_name == etc_hosts_group[(ansible_distribution|lower)]
|
||
|
|
||
|
- name: "Test: packages ansible-lint"
|
||
|
block:
|
||
|
- name: "Get pipx installed packages"
|
||
|
ansible.builtin.command: "pipx list --json"
|
||
|
environment:
|
||
|
PIPX_HOME: "/opt/pipx"
|
||
|
changed_when: false
|
||
|
register: pipx_installed_packages
|
||
|
become: true
|
||
|
|
||
|
- name: "Set fact"
|
||
|
ansible.builtin.set_fact:
|
||
|
pipx_simple_list: "{{ pipx_simple_list | default({}) | combine({item.key: item.value.metadata.main_package.package_version}) }}"
|
||
|
loop: "{{ pipx_installed_packages.stdout | from_json | json_query('venvs') | dict2items }}"
|
||
|
|
||
|
- name: "Verify packages ansible-lint"
|
||
|
ansible.builtin.assert:
|
||
|
that:
|
||
|
- pipx_simple_list['ansible-lint'] is defined
|
||
|
|
||
|
- name: "Print installed packages"
|
||
|
ansible.builtin.debug:
|
||
|
msg: "{{ pipx_simple_list }}"
|