- name: Configure the client hosts: localhost vars_files: - config.cfg tasks: - name: Add the droplet to an inventory group add_host: name: "{{ client_ip }}" groups: client-host ansible_ssh_user: "{{ ssh_user }}" vpn_user: "{{ vpn_user }}" server_ip: "{{ server_ip }}" - name: Configure the client and install required software hosts: client-host gather_facts: false become: true vars_files: - config.cfg - roles/vpn/defaults/main.yml pre_tasks: - name: Get the OS raw: uname -a register: distribution - name: Modify the server name fact set_fact: IP_subject_alt_name: "{{ server_ip }}" - name: Ubuntu Xenial | Install prerequisites raw: > test -x /usr/bin/python2.7 || sudo apt-get update -qq && sudo apt-get install -qq -y python2.7 && sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1 changed_when: false when: "'ubuntu' in distribution.stdout|lower" - name: Fedora 25 | Install prerequisites raw: > test -x /usr/bin/python2.7 || sudo dnf install python2 -y && sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1 && rpm -ql python2-dnf || dnf install python2-dnf -y changed_when: false when: "'fedora' in distribution.stdout|lower" roles: - { role: client, tags: ['client'] }