diff --git a/awx/main/models/events.py b/awx/main/models/events.py index 4361f01853..5eb0390e18 100644 --- a/awx/main/models/events.py +++ b/awx/main/models/events.py @@ -35,9 +35,9 @@ def sanitize_event_keys(kwargs, valid_keys): for key in [ 'play', 'role', 'task', 'playbook' ]: - if isinstance(kwargs.get(key), six.string_types): - if len(kwargs[key]) > 1024: - kwargs[key] = Truncator(kwargs[key]).chars(1024) + if isinstance(kwargs.get('event_data', {}).get(key), six.string_types): + if len(kwargs['event_data'][key]) > 1024: + kwargs['event_data'][key] = Truncator(kwargs['event_data'][key]).chars(1024) def create_host_status_counts(event_data): diff --git a/awx/main/tests/unit/models/test_events.py b/awx/main/tests/unit/models/test_events.py index 47a7f30c55..3176e1945c 100644 --- a/awx/main/tests/unit/models/test_events.py +++ b/awx/main/tests/unit/models/test_events.py @@ -53,9 +53,9 @@ def test_really_long_event_fields(field): with mock.patch.object(JobEvent, 'objects') as manager: JobEvent.create_from_data(**{ 'job_id': 123, - field: 'X' * 4096 + 'event_data': {field: 'X' * 4096} }) manager.create.assert_called_with(**{ 'job_id': 123, - field: 'X' * 1021 + '...' + 'event_data': {field: 'X' * 1021 + '...'} })