diff --git a/awx/lib/tower_display_callback/module.py b/awx/lib/tower_display_callback/module.py index 14e6fba66d..6f68b35046 100644 --- a/awx/lib/tower_display_callback/module.py +++ b/awx/lib/tower_display_callback/module.py @@ -301,7 +301,7 @@ class BaseCallbackModule(CallbackBase): # strip environment vars from the job event; it already exists on the # job and sensitive values are filtered there - if result._task.get_name() == 'setup': + if result._task.action in ('setup', 'gather_facts'): result._result.get('ansible_facts', {}).pop('ansible_env', None) event_data = dict( diff --git a/awx/main/models/projects.py b/awx/main/models/projects.py index 7b539ca39f..05125a8f8e 100644 --- a/awx/main/models/projects.py +++ b/awx/main/models/projects.py @@ -205,7 +205,11 @@ class ProjectOptions(models.Model): return sorted(results, key=lambda x: smart_str(x).lower()) def get_lock_file(self): - proj_path = self.get_project_path() + ''' + We want the project path in name only, we don't care if it exists or + not. This method will just append .lock onto the full directory path. + ''' + proj_path = self.get_project_path(check_if_exists=False) if not proj_path: return None return proj_path + '.lock' diff --git a/awx/main/tests/functional/commands/test_run_fact_cache_receiver.py b/awx/main/tests/functional/commands/test_run_fact_cache_receiver.py index 461024ee9c..0a7e4f97c6 100644 --- a/awx/main/tests/functional/commands/test_run_fact_cache_receiver.py +++ b/awx/main/tests/functional/commands/test_run_fact_cache_receiver.py @@ -6,6 +6,9 @@ import pytest from datetime import datetime import json +# Mock +import mock + # Django from django.utils import timezone @@ -41,21 +44,21 @@ def check_process_fact_message_module(fact_returned, data, module_name): @pytest.mark.django_db def test_process_fact_message_ansible(fact_msg_ansible, monkeypatch_jsonbfield_get_db_prep_save): receiver = FactBrokerWorker(None) - fact_returned = receiver.process_fact_message(fact_msg_ansible, None) + fact_returned = receiver.process_fact_message(fact_msg_ansible, mock.MagicMock()) check_process_fact_message_module(fact_returned, fact_msg_ansible, 'ansible') @pytest.mark.django_db def test_process_fact_message_packages(fact_msg_packages, monkeypatch_jsonbfield_get_db_prep_save): receiver = FactBrokerWorker(None) - fact_returned = receiver.process_fact_message(fact_msg_packages, None) + fact_returned = receiver.process_fact_message(fact_msg_packages, mock.MagicMock()) check_process_fact_message_module(fact_returned, fact_msg_packages, 'packages') @pytest.mark.django_db def test_process_fact_message_services(fact_msg_services, monkeypatch_jsonbfield_get_db_prep_save): receiver = FactBrokerWorker(None) - fact_returned = receiver.process_fact_message(fact_msg_services, None) + fact_returned = receiver.process_fact_message(fact_msg_services, mock.MagicMock()) check_process_fact_message_module(fact_returned, fact_msg_services, 'services') @@ -75,10 +78,10 @@ def test_process_facts_message_ansible_overwrite(fact_scans, fact_msg_ansible, m value = 'hello world' receiver = FactBrokerWorker(None) - receiver.process_fact_message(fact_msg_ansible, None) + receiver.process_fact_message(fact_msg_ansible, mock.MagicMock()) fact_msg_ansible['facts'][key] = value - fact_returned = receiver.process_fact_message(fact_msg_ansible, None) + fact_returned = receiver.process_fact_message(fact_msg_ansible, mock.MagicMock()) fact_obj = Fact.objects.get(id=fact_returned.id) assert key in fact_obj.facts