- 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'] }
