--- - name: Prepare hosts: all gather_facts: false tasks: - name: Install python for Ansible raw: test -e /usr/bin/python || (apt -y update && apt install -y python-minimal) become: true changed_when: false - hosts: all become: true tasks: - name: Update all caches to avoid errors due to missing remote archives apt: update_cache: true changed_when: false - name: Deploy CA certificate copy: src: tests/data/x509/ca.cert.pem dest: /etc/ssl/certs/testca.cert.pem owner: root group: root mode: 0644 - hosts: client become: true tasks: - name: Install tool for teting TCP connectivity apt: name: hping3 state: present - name: Set-up /etc/hosts with entries for all servers lineinfile: path: /etc/hosts regexp: "^{{ item.key }}" line: "{{ item.key }} {{ item.value }}" owner: root group: root mode: 0644 state: present with_dict: 10.31.127.20: parameters-mandatory-jessie64.local 10.31.127.21: parameters-optional-jessie64 10.31.127.22: parameters-mandatory-stretch64.local 10.31.127.23: parameters-optional-stretch64 - hosts: parameters-optional become: true tasks: - name: Set-up the hosts file lineinfile: path: /etc/hosts regexp: "^{{ item.key }}" line: "{{ item.key }} {{ item.value }}" owner: root group: root mode: 0644 state: present with_dict: 127.0.2.1: parameters-optional - hosts: parameters-mandatory become: true tasks: - name: Set-up the hosts file lineinfile: path: /etc/hosts regexp: "^{{ item.key }}" line: "{{ item.key }} {{ item.value }}" owner: root group: root mode: 0644 state: present with_dict: 127.0.2.1: parameters-mandatory.local - hosts: backup-server become: true roles: - role: backup_server backup_host_ssh_private_keys: dsa: "{{ lookup('file', 'tests/data/ssh/server_dsa') }}" rsa: "{{ lookup('file', 'tests/data/ssh/server_rsa') }}" ed25519: "{{ lookup('file', 'tests/data/ssh/server_ed25519') }}" ecdsa: "{{ lookup('file', 'tests/data/ssh/server_ecdsa') }}" backup_clients: - server: localhost ip: 127.0.0.1 public_key: "{{ lookup('file', 'tests/data/ssh/parameters-optional.pub') }}" - hosts: parameters-mandatory,parameters-optional become: true tasks: - name: Remove the ss utility (see https://github.com/philpep/testinfra/pull/320) file: path: "/bin/ss" state: absent - name: Install netstat utility apt: name: net-tools state: present