--- - name: Bootstrap | Check if bootstrap is needed raw: stat /opt/bin/.bootstrapped register: need_bootstrap ignore_errors: True tags: facts - name: Bootstrap | Run bootstrap.sh script: bootstrap.sh when: (need_bootstrap | failed) - set_fact: ansible_python_interpreter: "/opt/bin/python" tags: facts - 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) tags: facts - 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')