From a8083296e62695e207a16c2e54a1c5413ee5c7ef Mon Sep 17 00:00:00 2001 From: Alan Rominger Date: Fri, 18 Jun 2021 14:14:07 -0400 Subject: [PATCH] Make safe variable duplications for rename (#5093) * Make safe variable duplications to controller * Back out some changes to be smarter * Update test to new vars --- awx/main/models/inventory.py | 7 ++++++- awx/main/tests/functional/models/test_inventory.py | 2 ++ awx_collection/plugins/inventory/controller.py | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/awx/main/models/inventory.py b/awx/main/models/inventory.py index 25f454da2c..63bb738779 100644 --- a/awx/main/models/inventory.py +++ b/awx/main/models/inventory.py @@ -306,7 +306,12 @@ class Inventory(CommonModelNameNotUnique, ResourceMixin, RelatedJobsMixin): for host in hosts: data['_meta']['hostvars'][host.name] = host.variables_dict if towervars: - tower_dict = dict(remote_tower_enabled=str(host.enabled).lower(), remote_tower_id=host.id) + tower_dict = dict( + remote_tower_enabled=str(host.enabled).lower(), + remote_tower_id=host.id, + remote_host_enabled=str(host.enabled).lower(), + remote_host_id=host.id, + ) data['_meta']['hostvars'][host.name].update(tower_dict) return data diff --git a/awx/main/tests/functional/models/test_inventory.py b/awx/main/tests/functional/models/test_inventory.py index 4edbe54fa1..40620fd0a3 100644 --- a/awx/main/tests/functional/models/test_inventory.py +++ b/awx/main/tests/functional/models/test_inventory.py @@ -22,6 +22,8 @@ class TestInventoryScript: assert inventory.get_script_data(hostvars=True, towervars=True)['_meta']['hostvars']['ahost'] == { 'remote_tower_enabled': 'true', 'remote_tower_id': host.id, + 'remote_host_enabled': 'true', + 'remote_host_id': host.id, } def test_all_group(self, inventory): diff --git a/awx_collection/plugins/inventory/controller.py b/awx_collection/plugins/inventory/controller.py index 40ed2b97ac..6709ec232b 100644 --- a/awx_collection/plugins/inventory/controller.py +++ b/awx_collection/plugins/inventory/controller.py @@ -176,6 +176,7 @@ class InventoryModule(BaseInventoryPlugin): for key in ('version', 'ansible_version'): server_data[key] = config_data.get(key, 'unknown') self.inventory.set_variable('all', 'tower_metadata', server_data) + self.inventory.set_variable('all', 'controller_metadata', server_data) # Clean up the inventory. self.inventory.reconcile_inventory()