summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2022-09-05 15:48:17 +0000
committerGerrit Code Review <review@openstack.org>2022-09-05 15:48:17 +0000
commit0b4c6b011701f8723cb722a739d2ce24d6ad4376 (patch)
treee4f8db186ecff40615c3ab03f5849423c4dbcd96
parentdf8874a560631d38f988f27c2c4aad731ad96178 (diff)
parent12590a77f00fb9c7639a72c1d8f28d63951f3bba (diff)
downloadzuul-0b4c6b011701f8723cb722a739d2ce24d6ad4376.tar.gz
Merge "Add Ansible version to a job's Zuul vars"
-rw-r--r--doc/source/job-content.rst5
-rw-r--r--tests/unit/test_inventory.py6
-rw-r--r--zuul/executor/server.py1
3 files changed, 12 insertions, 0 deletions
diff --git a/doc/source/job-content.rst b/doc/source/job-content.rst
index 9b1059502..75044cf1c 100644
--- a/doc/source/job-content.rst
+++ b/doc/source/job-content.rst
@@ -332,6 +332,11 @@ of item.
connectivity issues then previous attempts may have been cancelled,
and this value will be greater than 1.
+ .. var:: ansible_version
+
+ The version of the Ansible community package release used for executing
+ the job.
+
.. var:: project
The item's project. This is a data structure with the following
diff --git a/tests/unit/test_inventory.py b/tests/unit/test_inventory.py
index 8f5cca9ac..9dc1b3692 100644
--- a/tests/unit/test_inventory.py
+++ b/tests/unit/test_inventory.py
@@ -104,6 +104,7 @@ class TestInventoryGithub(TestInventoryBase):
z_vars = inventory['all']['vars']['zuul']
self.assertIn('executor', z_vars)
self.assertIn('src_root', z_vars['executor'])
+ self.assertIn('ansible_version', z_vars)
self.assertIn('job', z_vars)
self.assertIn('event_id', z_vars)
self.assertEqual(z_vars['job'], 'single-inventory')
@@ -137,6 +138,7 @@ class TestInventoryPythonPath(TestInventoryBase):
z_vars = inventory['all']['vars']['zuul']
self.assertIn('executor', z_vars)
self.assertIn('src_root', z_vars['executor'])
+ self.assertIn('ansible_version', z_vars)
self.assertIn('job', z_vars)
self.assertEqual(z_vars['job'], 'single-inventory')
self.assertEqual(z_vars['message'], 'QQ==')
@@ -167,6 +169,7 @@ class TestInventoryShellType(TestInventoryBase):
z_vars = inventory['all']['vars']['zuul']
self.assertIn('executor', z_vars)
self.assertIn('src_root', z_vars['executor'])
+ self.assertIn('ansible_version', z_vars)
self.assertIn('job', z_vars)
self.assertEqual(z_vars['job'], 'single-inventory')
self.assertEqual(z_vars['message'], 'QQ==')
@@ -195,6 +198,7 @@ class TestInventoryAutoPython(TestInventoryBase):
self.assertIn('executor', z_vars)
self.assertIn('src_root', z_vars['executor'])
self.assertIn('job', z_vars)
+ self.assertEqual(z_vars['ansible_version'], '2.8')
self.assertEqual(z_vars['job'], 'ansible-version28-inventory')
self.assertEqual(z_vars['message'], 'QQ==')
@@ -219,6 +223,7 @@ class TestInventoryAutoPython(TestInventoryBase):
self.assertIn('executor', z_vars)
self.assertIn('src_root', z_vars['executor'])
self.assertIn('job', z_vars)
+ self.assertEqual(z_vars['ansible_version'], '2.9')
self.assertEqual(z_vars['job'], 'ansible-version29-inventory')
self.assertEqual(z_vars['message'], 'QQ==')
@@ -243,6 +248,7 @@ class TestInventoryAutoPython(TestInventoryBase):
self.assertIn('executor', z_vars)
self.assertIn('src_root', z_vars['executor'])
self.assertIn('job', z_vars)
+ self.assertEqual(z_vars['ansible_version'], '5')
self.assertEqual(z_vars['job'], 'ansible-version5-inventory')
self.assertEqual(z_vars['message'], 'QQ==')
diff --git a/zuul/executor/server.py b/zuul/executor/server.py
index e00612e9e..1273cbaa4 100644
--- a/zuul/executor/server.py
+++ b/zuul/executor/server.py
@@ -2443,6 +2443,7 @@ class AnsibleJob(object):
work_root=self.jobdir.work_root,
result_data_file=self.jobdir.result_data_file,
inventory_file=self.jobdir.inventory)
+ zuul_vars['ansible_version'] = self.ansible_version
# Add playbook_context info
zuul_vars['playbook_context'] = dict(