tests: Allow to set Python interpreter to be used by Ansible

On some systems it is required or desired to run Ansible with a specific
Python interpreter. This patch allows the selection of the Python binary
to use for the pytest playbook tests by setting the environment variable
IPA_PYTHON_PATH. Set it the the full path of the Python interpreter.
This commit is contained in:
Rafael Guterres Jeffman
2024-07-02 02:24:17 +00:00
committed by Thomas Woerner
parent 68bca84481
commit 7aa9483b2c
2 changed files with 16 additions and 0 deletions

View File

@@ -36,6 +36,12 @@ environment variable. For example:
IPA_SSH_PASSWORD=<ipaserver_ssh_password> IPA_SERVER_HOST=<ipaserver_host_or_ip> pytest
```
If you want, or need to to set the Python interpreter to use, you must set `IPA_PYTHON_PATH`
environment variable. For example:
```
IPA_PYTHON_PATH=/usr/bin/python3.14 IPA_SERVER_HOST=<ipaserver_host_or_ip> pytest
```
To run a single test use the full path with the following format:

View File

@@ -43,6 +43,10 @@ def get_ssh_password():
return os.getenv("IPA_SSH_PASSWORD")
def get_python_interpreter():
return os.getenv("IPA_PYTHON_PATH")
def get_server_host():
return os.getenv("IPA_SERVER_HOST")
@@ -97,6 +101,12 @@ def get_inventory_content():
if sshpass:
ipa_server_host += " ansible_ssh_pass=%s" % sshpass
python_interpreter = get_python_interpreter()
if python_interpreter:
ipa_server_host += (
" ansible_python_interpreter=%s" % python_interpreter
)
lines = [
"[ipaserver]",
ipa_server_host,