From b549ae1efacac2cc7ea9e09dbdac375048b5a20b Mon Sep 17 00:00:00 2001 From: Christian Adams Date: Wed, 26 Jul 2023 18:38:05 -0400 Subject: [PATCH] Only show the product version header when the requester is authenticated (#14135) --- awx/api/generics.py | 3 ++- .../plugins/module_utils/controller_api.py | 8 +------- awx_collection/test/awx/test_module_utils.py | 15 --------------- 3 files changed, 3 insertions(+), 23 deletions(-) diff --git a/awx/api/generics.py b/awx/api/generics.py index 8f1774d8b6bc..0c16a3790f3d 100644 --- a/awx/api/generics.py +++ b/awx/api/generics.py @@ -232,7 +232,8 @@ def finalize_response(self, request, response, *args, **kwargs): response = super(APIView, self).finalize_response(request, response, *args, **kwargs) time_started = getattr(self, 'time_started', None) - response['X-API-Product-Version'] = get_awx_version() + if request.user.is_authenticated: + response['X-API-Product-Version'] = get_awx_version() response['X-API-Product-Name'] = server_product_name() response['X-API-Node'] = settings.CLUSTER_HOST_ID diff --git a/awx_collection/plugins/module_utils/controller_api.py b/awx_collection/plugins/module_utils/controller_api.py index 1b7eccee1f15..5f59548ba9ab 100644 --- a/awx_collection/plugins/module_utils/controller_api.py +++ b/awx_collection/plugins/module_utils/controller_api.py @@ -533,13 +533,7 @@ def make_request(self, method, endpoint, *args, **kwargs): controller_version = response.info().getheader('X-API-Product-Version', None) parsed_collection_version = Version(self._COLLECTION_VERSION).version - if not controller_version: - self.warn( - "You are using the {0} version of this collection but connecting to a controller that did not return a version".format( - self._COLLECTION_VERSION - ) - ) - else: + if controller_version: parsed_controller_version = Version(controller_version).version if controller_type == 'AWX': collection_compare_ver = parsed_collection_version[0] diff --git a/awx_collection/test/awx/test_module_utils.py b/awx_collection/test/awx/test_module_utils.py index 088b5368a7ff..cbdc172a3542 100644 --- a/awx_collection/test/awx/test_module_utils.py +++ b/awx_collection/test/awx/test_module_utils.py @@ -76,21 +76,6 @@ def test_version_warning(collection_import, silence_warning): ) -def test_no_version_warning(collection_import, silence_warning): - ControllerAPIModule = collection_import('plugins.module_utils.controller_api').ControllerAPIModule - cli_data = {'ANSIBLE_MODULE_ARGS': {}} - testargs = ['module_file2.py', json.dumps(cli_data)] - with mock.patch.object(sys, 'argv', testargs): - with mock.patch('ansible.module_utils.urls.Request.open', new=mock_no_ping_response): - my_module = ControllerAPIModule(argument_spec=dict()) - my_module._COLLECTION_VERSION = "2.0.0" - my_module._COLLECTION_TYPE = "awx" - my_module.get_endpoint('ping') - silence_warning.assert_called_once_with( - 'You are using the {0} version of this collection but connecting to a controller that did not return a version'.format(my_module._COLLECTION_VERSION) - ) - - def test_version_warning_strictness_awx(collection_import, silence_warning): ControllerAPIModule = collection_import('plugins.module_utils.controller_api').ControllerAPIModule cli_data = {'ANSIBLE_MODULE_ARGS': {}}