# checks complex ansible_python_interpreter values as well as jinja in the ansible_python_interpreter value --- - name: integration/interpreter_discovery/complex_args.yml hosts: test-targets any_errors_fatal: true gather_facts: true tasks: - name: create temp file to source file: path: /tmp/fake state: touch - name: set python using sourced file set_fact: special_python: source /tmp/fake && python - name: set up symlink to bash so source command works block: - name: back up old sh shell become: yes copy: src: "/bin/sh" dest: "/bin/shBACKUP" remote_src: yes - name: set up symlink become: yes file: src: "/bin/bash" dest: "/bin/sh" state: link force: yes - name: run get_url with specially-sourced python get_url: url: https://camo.githubusercontent.com/65061efd40e810e88184d7d962bb079ce27d8f7f/68747470733a2f2f7472617669732d63692e6f72672f64772f6d69746f67656e2e7376673f6272616e63683d6d6173746572 dest: "/tmp/" mode: 0644 # this url is the build pic from mitogen's github site; some python versions require ssl stuff installed so will disable need to validate certs validate_certs: no vars: ansible_python_interpreter: "{{ special_python }}" environment: https_proxy: "{{ lookup('env', 'https_proxy')|default('') }}" no_proxy: "{{ lookup('env', 'no_proxy')|default('') }}" - name: run get_url with specially-sourced python including jinja get_url: url: https://camo.githubusercontent.com/65061efd40e810e88184d7d962bb079ce27d8f7f/68747470733a2f2f7472617669732d63692e6f72672f64772f6d69746f67656e2e7376673f6272616e63683d6d6173746572 dest: "/tmp/" mode: 0644 # this url is the build pic from mitogen's github site; some python versions require ssl stuff installed so will disable need to validate certs validate_certs: no vars: ansible_python_interpreter: > {% if "1" == "1" %} {{ special_python }} {% else %} python {% endif %} environment: https_proxy: "{{ lookup('env', 'https_proxy')|default('') }}" no_proxy: "{{ lookup('env', 'no_proxy')|default('') }}" - name: revert sh shell setup become: yes copy: src: "/bin/shBACKUP" dest: "/bin/sh" remote_src: yes mode: 0555