--- - 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: 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: 10.31.127.10: "ldap-server backup-server" 10.31.127.20: "client1" 10.31.127.30: "parameters-mandatory domain1 proxy.domain1 conference.domain1" 10.31.127.31: "parameters-optional domain2 proxy.domain2 conference.domain2 domain3 proxy.domain3 conference.domain3" - hosts: client1 become: true tasks: - name: Install tool for testing TCP connectivity apt: name: hping3 state: present - name: Deploy CA certificate copy: src: tests/data/x509/ca.cert.pem dest: /usr/local/share/ca-certificates/testca.crt owner: root group: root mode: 0644 notify: - Update CA certificate cache - name: Install console-based XMPP client (for interactive testing) apt: name: mcabber state: present - name: Install console-based XMPP tool (for non-interactive testing) apt: name: sendxmpp state: present - name: Create dedicated group for testing group: name: user state: present - name: Create dedicated user for testing user: name: user group: user shell: /bin/bash - name: Deploy mcabber configuration files template: src: tests/data/mcabber.cfg.j2 dest: "~user/{{ item.jid }}.cfg" owner: user group: user mode: 0600 with_items: - jid: john.doe@domain1 password: johnpassword server: domain1 security: tls nickname: john.doe - jid: jane.doe@domain2 password: janepassword server: domain2 security: ssl nickname: jane.doe - jid: mick.doe@domain3 password: mickpassword server: domain3 security: tls nickname: mick.doe - jid: noxmpp@domain1 password: noxmpppassword server: domain1 security: tls nickname: noxmpp handlers: - name: Update CA certificate cache command: /usr/sbin/update-ca-certificates --fresh - hosts: ldap-server become: true roles: - ldap_server - backup_server - hosts: parameters-optional become: true tasks: - name: Install console-based XMPP tool (for non-interactive testing) apt: name: sendxmpp state: present