--- - name: Bootstrap | Check if bootstrap is needed raw: stat /opt/bin/.bootstrapped register: need_bootstrap failed_when: false tags: facts - name: Bootstrap | Run bootstrap.sh script: bootstrap.sh when: need_bootstrap.rc != 0 - 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 failed_when: false changed_when: false check_mode: no when: need_bootstrap.rc != 0 tags: facts - name: Bootstrap | Copy get-pip.py copy: src: get-pip.py dest: ~/get-pip.py when: need_pip != 0 - name: Bootstrap | Install pip shell: "{{ansible_python_interpreter}} ~/get-pip.py" when: need_pip != 0 - name: Bootstrap | Remove get-pip.py file: path: ~/get-pip.py state: absent when: need_pip != 0 - name: Bootstrap | Install pip launcher copy: src: runner dest: /opt/bin/pip mode: 0755 when: need_pip != 0 - name: Install required python modules pip: name: "{{ item }}" with_items: "{{pip_python_modules}}"