diff --git a/doc/source/job-content.rst b/doc/source/job-content.rst index 9b1059502d..75044cf1c4 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 8f5cca9acc..9dc1b36922 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 e00612e9ef..1273cbaa45 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(