Files @ f176b9957d1b
Branch filter:

Location: majic-ansible-roles/roles/common/molecule/default/prepare.yml - annotation

branko
MAR-218: Drop the workaround for running connectivity tests:

- Relevant PR has been long merged into testinfra, and no longer poses
an issue.
1640ad5b4cac
1640ad5b4cac
694893c0259a
b1caa3b3c7ad
b1caa3b3c7ad
b1caa3b3c7ad
b1caa3b3c7ad
b1caa3b3c7ad
b1caa3b3c7ad
c10934519e18
b1caa3b3c7ad
b46fe4ab1956
b1caa3b3c7ad
b1caa3b3c7ad
b1caa3b3c7ad
c10934519e18
b1caa3b3c7ad
b1caa3b3c7ad
b1caa3b3c7ad
ca784c26d35c
1640ad5b4cac
1640ad5b4cac
694893c0259a
6b8b1d4c9061
1640ad5b4cac
1640ad5b4cac
1640ad5b4cac
c10934519e18
6b8b1d4c9061
1640ad5b4cac
1640ad5b4cac
c10934519e18
6b8b1d4c9061
6b8b1d4c9061
1640ad5b4cac
1640ad5b4cac
c10934519e18
1640ad5b4cac
1640ad5b4cac
40b5747adcb3
694893c0259a
694893c0259a
0b7b153fc6a9
0b7b153fc6a9
0b7b153fc6a9
0b7b153fc6a9
c10934519e18
0b7b153fc6a9
0b7b153fc6a9
0b7b153fc6a9
694893c0259a
694893c0259a
325b9d16a72b
325b9d16a72b
325b9d16a72b
325b9d16a72b
c10934519e18
76debadf4dae
325b9d16a72b
325b9d16a72b
325b9d16a72b
c10934519e18
325b9d16a72b
325b9d16a72b
325b9d16a72b
325b9d16a72b
325b9d16a72b
7cabc17c71c3
325b9d16a72b
325b9d16a72b
fefde7a74438
fefde7a74438
fefde7a74438
fefde7a74438
325b9d16a72b
694893c0259a
694893c0259a
63b4a5ca9bff
63b4a5ca9bff
63b4a5ca9bff
63b4a5ca9bff
c10934519e18
63b4a5ca9bff
63b4a5ca9bff
63b4a5ca9bff
63b4a5ca9bff
63b4a5ca9bff
7cabc17c71c3
63b4a5ca9bff
63b4a5ca9bff
68c15461075c
68c15461075c
63b4a5ca9bff
8018788c81c4
c10934519e18
8018788c81c4
8018788c81c4
8018788c81c4
8018788c81c4
8018788c81c4
8018788c81c4
8018788c81c4
8018788c81c4
8018788c81c4
8018788c81c4
8018788c81c4
8018788c81c4
8018788c81c4
8018788c81c4
2d15529786b7
2d15529786b7
2d15529786b7
c10934519e18
8018788c81c4
8018788c81c4
8018788c81c4
8018788c81c4
8018788c81c4
8018788c81c4
8018788c81c4
2d15529786b7
2d15529786b7
2d15529786b7
c10934519e18
8018788c81c4
8018788c81c4
8018788c81c4
8018788c81c4
8018788c81c4
8018788c81c4
8018788c81c4
5f9f8aef3473
c10934519e18
5f9f8aef3473
5f9f8aef3473
5f9f8aef3473
5f9f8aef3473
7cabc17c71c3
5f9f8aef3473
5f9f8aef3473
c10934519e18
5f9f8aef3473
5f9f8aef3473
5f9f8aef3473
5f9f8aef3473
7cabc17c71c3
5f9f8aef3473
5f9f8aef3473
c10934519e18
5f9f8aef3473
5f9f8aef3473
5f9f8aef3473
5f9f8aef3473
7cabc17c71c3
5f9f8aef3473
72af31a420be
c10934519e18
72af31a420be
72af31a420be
72af31a420be
72af31a420be
---

- name: Prepare, test fixtures
  hosts: localhost
  connection: local
  gather_facts: false
  tasks:

    - name: Initialise CA hierarchy
      ansible.builtin.command: "gimmecert init --ca-hierarchy-depth 2"
      args:
        creates: ".gimmecert/ca/level1.cert.pem"
        chdir: "tests/data/"

    - name: Set-up link to generated X.509 material
      ansible.builtin.file:
        src: ".gimmecert"
        dest: "tests/data/x509"
        state: link

- name: Prepare
  hosts: all
  become: true
  gather_facts: false
  tasks:

    - name: Install python for Ansible
      ansible.builtin.raw: test -e /usr/bin/python3 || (apt -y update && apt install -y python3-minimal)
      changed_when: false

    - name: Update all caches to avoid errors due to missing remote archives
      ansible.builtin.apt:
        update_cache: true
      changed_when: false

    - name: Install net-tools for running Testinfra host.socket tests
      ansible.builtin.apt:
        name: net-tools
        state: present

- name: Prepare, helpers
  hosts: helper
  become: true
  tasks:

    - name: Install apt-cacher-ng
      ansible.builtin.apt:
        name: apt-cacher-ng
        state: present

- name: Prepare, helpers
  hosts: client
  become: true
  tasks:

    - name: Install tool for testing TCP connectivity
      ansible.builtin.apt:
        name: nmap
        state: present

    - name: Set-up /etc/hosts with entries for all servers
      ansible.builtin.lineinfile:
        path: /etc/hosts
        regexp: "^{{ item.key }}"
        line: "{{ item.key }} {{ item.value }}"
        owner: root
        group: root
        mode: "0644"
        state: present
      with_dict:
        192.168.56.21: parameters-mandatory-bookworm
        192.168.56.22: parameters-optional-bookworm
        fd00::192:168:56:21: parameters-mandatory-bookworm
        fd00::192:168:56:22: parameters-optional-bookworm

- name: Prepare, test fixtures
  hosts: parameters-mandatory,parameters-optional
  become: true
  tasks:

    - name: Set-up /etc/hosts with entries for all servers
      ansible.builtin.lineinfile:
        path: /etc/hosts
        regexp: "^{{ item.key }}"
        line: "{{ item.key }} {{ item.value }}"
        owner: root
        group: root
        mode: "0644"
        state: present
      with_dict:
        192.168.56.3: client1
        192.168.56.4: client2

    - name: Load legacy iptables to test their removal
      community.general.modprobe:
        name: "{{ item }}"
        state: present
      with_items:
        - iptable_filter
        - iptable_nat
        - iptable_mangle
        - iptable_security
        - iptable_raw
        - ip6table_filter
        - ip6table_nat
        - ip6table_mangle
        - ip6table_security
        - ip6table_raw

    - name: Create some custom legacy iptables chains for testing their removal (max chain name length is 29)  # noqa no-changed-when
      # [no-changed-when] Commands should not change things if nothing needs doing
      #   Does not matter in test prepare stage.
      ansible.builtin.command: "iptables-legacy -t '{{ item }}' -N '{{ (ansible_date_time.iso8601_micro | to_uuid)[:28] }}'"
      with_items:
        - filter
        - nat
        - mangle
        - security
        - raw

    - name: Create some custom legacy ip6tables chains for testing their removal (max chain name length is 29)  # noqa no-changed-when
      # [no-changed-when] Commands should not change things if nothing needs doing
      #   Does not matter in test prepare stage.
      ansible.builtin.command: "ip6tables-legacy -t '{{ item }}' -N '{{ (ansible_date_time.iso8601_micro | to_uuid)[:28] }}'"
      with_items:
        - filter
        - nat
        - mangle
        - security
        - raw

    - name: Create deprecated directory for storing requirements files created using Python 3 (pip requirements upgrade checks)
      ansible.builtin.file:
        path: "/etc/pip_check_requirements_upgrades-py3"
        state: directory
        owner: root
        group: root
        mode: "0750"

    - name: Create deprecated directory for Python 3 virtual environment (pip requirements upgrade checks)
      ansible.builtin.file:
        path: "/var/lib/pipreqcheck/virtualenv-py3/"
        state: directory
        owner: root
        group: root
        mode: "0750"

    - name: Create deprecated cronjob file for Python 3 (pip requirements upgrade checks)
      ansible.builtin.file:
        path: "/etc/cron.d/check_pip_requirements-py3"
        state: touch
        owner: root
        group: root
        mode: "0644"

    - name: Install the deprecated/obsolete NTP-related packages
      ansible.builtin.apt:
        name:
          - ntp
          - ntpdate
        state: present