---
- name: Bootstrap | Check if bootstrap is needed
  raw: stat /opt/bin/.bootstrapped
  register: need_bootstrap
  ignore_errors: True

- name: Bootstrap | Run bootstrap.sh
  script: bootstrap.sh
  when: need_bootstrap | failed

- set_fact:
    ansible_python_interpreter: "/opt/bin/python"

- name: Bootstrap | Check if we need to install pip
  shell: "{{ansible_python_interpreter}} -m pip --version"
  register: need_pip
  ignore_errors: True
  changed_when: false
  when: need_bootstrap | failed

- name: Bootstrap | Copy get-pip.py
  copy: src=get-pip.py dest=~/get-pip.py
  when: need_pip | failed

- name: Bootstrap | Install pip
  shell: "{{ansible_python_interpreter}} ~/get-pip.py"
  when: need_pip | failed

- name: Bootstrap | Remove get-pip.py
  file: path=~/get-pip.py state=absent
  when: need_pip | failed

- name: Bootstrap | Install pip launcher
  copy: src=runner dest=/opt/bin/pip mode=0755
  when: need_pip | failed

- name: Install required python modules
  pip:
    name: "{{ item }}"
  with_items: "{{pip_python_modules}}"

- name: Check configured hostname
  shell: hostname
  register: configured_hostname

- name: Assign inventory name to unconfigured hostnames
  shell: sh -c "echo \"{{inventory_hostname}}\" > /etc/hostname; hostname \"{{inventory_hostname}}\""
  when: configured_hostname.stdout == 'localhost'