summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Clay <matt@mystile.com>2023-02-20 17:55:04 -0800
committerMatt Clay <matt@mystile.com>2023-03-14 17:51:58 -0700
commit13f9a42e1bed61ccec60c0151110ddac76f31853 (patch)
tree41a87c4404471b2f29f3b7d2c043d82e5ea12149
parentf630cfb50a086e9b1b2fe1b736475fc4e5dd0e7a (diff)
downloadansible-13f9a42e1bed61ccec60c0151110ddac76f31853.tar.gz
[stable-2.12] ansible-test - Show Python version before install (#80022)
Always indicate the Python version being used before installing requirements. (cherry picked from commit 5e3db6e44169aa88cd027f469eea96f1f17fea95) Co-authored-by: Matt Clay <matt@mystile.com>
-rw-r--r--changelogs/fragments/ansible-test-requirements-message.yml3
-rw-r--r--test/lib/ansible_test/_internal/python_requirements.py15
2 files changed, 18 insertions, 0 deletions
diff --git a/changelogs/fragments/ansible-test-requirements-message.yml b/changelogs/fragments/ansible-test-requirements-message.yml
new file mode 100644
index 0000000000..864567be6a
--- /dev/null
+++ b/changelogs/fragments/ansible-test-requirements-message.yml
@@ -0,0 +1,3 @@
+bugfixes:
+ - ansible-test - Always indicate the Python version being used before installing requirements.
+ Resolves issue https://github.com/ansible/ansible/issues/72855
diff --git a/test/lib/ansible_test/_internal/python_requirements.py b/test/lib/ansible_test/_internal/python_requirements.py
index eed177c393..c20ec943e1 100644
--- a/test/lib/ansible_test/_internal/python_requirements.py
+++ b/test/lib/ansible_test/_internal/python_requirements.py
@@ -52,6 +52,7 @@ from .data import (
from .host_configs import (
PosixConfig,
PythonConfig,
+ VirtualPythonConfig,
)
from .connections import (
@@ -260,6 +261,20 @@ def run_pip(
connection = connection or LocalConnection(args)
script = prepare_pip_script(commands)
+ if isinstance(args, IntegrationConfig):
+ # Integration tests can involve two hosts (controller and target).
+ # The connection type can be used to disambiguate between the two.
+ context = " (controller)" if isinstance(connection, LocalConnection) else " (target)"
+ else:
+ context = ""
+
+ if isinstance(python, VirtualPythonConfig):
+ context += " [venv]"
+
+ # The interpreter path is not included below.
+ # It can be seen by running ansible-test with increased verbosity (showing all commands executed).
+ display.info(f'Installing requirements for Python {python.version}{context}')
+
if not args.explain:
try:
connection.run([python.path], data=script, capture=False)