|
|
|
# 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
|
|
|
|
gather_facts: true
|
|
|
|
environment:
|
|
|
|
http_proxy: "{{ lookup('env', 'http_proxy') | default(omit) }}"
|
|
|
|
https_proxy: "{{ lookup('env', 'https_proxy') | default(omit) }}"
|
|
|
|
no_proxy: "{{ lookup('env', 'no_proxy') | default(omit) }}"
|
|
|
|
tasks:
|
|
|
|
# Ansible releases after June 2024 quote ansible_python_interpreter
|
|
|
|
# https://github.com/ansible/ansible/pull/83365
|
|
|
|
- meta: end_play
|
|
|
|
when:
|
|
|
|
- not is_mitogen
|
|
|
|
- ansible_version.full is version('2.17.1', '>=', strict=True)
|
|
|
|
|
|
|
|
- name: create temp file to source
|
|
|
|
file:
|
|
|
|
path: /tmp/fake
|
|
|
|
state: touch
|
|
|
|
|
|
|
|
# TODO: this works in Mac 10.15 because sh defaults to bash
|
|
|
|
# but due to Mac SIP we can't write to /bin so we can't change
|
|
|
|
# /bin/sh to point to /bin/bash
|
|
|
|
# Mac 10.15 is failing python interpreter discovery tests from ansible 2.8.8
|
|
|
|
# because Mac doesn't make default python /usr/bin/python anymore
|
|
|
|
# so for now, can't use `source` since it's a bash builtin
|
|
|
|
# - name: set python using sourced file
|
|
|
|
# set_fact:
|
|
|
|
# special_python: source /tmp/fake && python
|
|
|
|
- name: set python using sourced file
|
|
|
|
set_fact:
|
|
|
|
special_python: "source /tmp/fake || true && {{ ansible_facts.python.executable }}"
|
|
|
|
|
|
|
|
- name: run get_url with specially-sourced python
|
|
|
|
uri:
|
|
|
|
# Plain http for wider Ansible & Python version compatibility
|
|
|
|
url: http://www.gstatic.com/generate_204
|
|
|
|
status_code: [204]
|
|
|
|
vars:
|
|
|
|
ansible_python_interpreter: "{{ special_python }}"
|
|
|
|
|
|
|
|
- name: run get_url with specially-sourced python including jinja
|
|
|
|
uri:
|
|
|
|
# Plain http for wider Ansible & Python version compatibility
|
|
|
|
url: http://www.gstatic.com/generate_204
|
|
|
|
status_code: [204]
|
|
|
|
vars:
|
|
|
|
ansible_python_interpreter: >
|
|
|
|
{% if "1" == "1" %}
|
|
|
|
{{ special_python }}
|
|
|
|
{% else %}
|
|
|
|
python
|
|
|
|
{% endif %}
|
|
|
|
tags:
|
|
|
|
- complex_args
|