mirror of
https://github.com/ansible/awx.git
synced 2026-02-15 10:10:01 -03:30
Merge pull request #4080 from cchurch/event-stdout-max-bytes-display
Add configurable limit to size of stdout shown for a single job event
This commit is contained in:
@@ -2489,6 +2489,16 @@ class JobEventSerializer(BaseSerializer):
|
|||||||
pass
|
pass
|
||||||
return d
|
return d
|
||||||
|
|
||||||
|
def to_representation(self, obj):
|
||||||
|
ret = super(JobEventSerializer, self).to_representation(obj)
|
||||||
|
# Show full stdout for event detail view, truncate only for list view.
|
||||||
|
if hasattr(self.context.get('view', None), 'retrieve'):
|
||||||
|
return ret
|
||||||
|
max_bytes = settings.EVENT_STDOUT_MAX_BYTES_DISPLAY
|
||||||
|
if max_bytes > 0 and 'stdout' in ret and len(ret['stdout']) >= max_bytes:
|
||||||
|
ret['stdout'] = ret['stdout'][:(max_bytes - 1)] + u'\u2026'
|
||||||
|
return ret
|
||||||
|
|
||||||
|
|
||||||
class AdHocCommandEventSerializer(BaseSerializer):
|
class AdHocCommandEventSerializer(BaseSerializer):
|
||||||
|
|
||||||
@@ -2510,6 +2520,16 @@ class AdHocCommandEventSerializer(BaseSerializer):
|
|||||||
res['host'] = reverse('api:host_detail', args=(obj.host.pk,))
|
res['host'] = reverse('api:host_detail', args=(obj.host.pk,))
|
||||||
return res
|
return res
|
||||||
|
|
||||||
|
def to_representation(self, obj):
|
||||||
|
ret = super(JobEventSerializer, self).to_representation(obj)
|
||||||
|
# Show full stdout for event detail view, truncate only for list view.
|
||||||
|
if hasattr(self.context.get('view', None), 'retrieve'):
|
||||||
|
return ret
|
||||||
|
max_bytes = settings.EVENT_STDOUT_MAX_BYTES_DISPLAY
|
||||||
|
if max_bytes > 0 and 'stdout' in ret and len(ret['stdout']) >= max_bytes:
|
||||||
|
ret['stdout'] = ret['stdout'][:(max_bytes - 1)] + u'\u2026'
|
||||||
|
return ret
|
||||||
|
|
||||||
|
|
||||||
class JobLaunchSerializer(BaseSerializer):
|
class JobLaunchSerializer(BaseSerializer):
|
||||||
|
|
||||||
|
|||||||
@@ -157,6 +157,16 @@ register(
|
|||||||
category_slug='jobs',
|
category_slug='jobs',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
register(
|
||||||
|
'EVENT_STDOUT_MAX_BYTES_DISPLAY',
|
||||||
|
field_class=fields.IntegerField,
|
||||||
|
min_value=0,
|
||||||
|
label=_('Job Event Standard Output Maximum Display Size'),
|
||||||
|
help_text=_(u'Maximum Size of Standard Output in bytes to display for a single job or ad hoc command event. `stdout` will end with `\u2026` when truncated.'),
|
||||||
|
category=_('Jobs'),
|
||||||
|
category_slug='jobs',
|
||||||
|
)
|
||||||
|
|
||||||
register(
|
register(
|
||||||
'SCHEDULE_MAX_JOBS',
|
'SCHEDULE_MAX_JOBS',
|
||||||
field_class=fields.IntegerField,
|
field_class=fields.IntegerField,
|
||||||
|
|||||||
@@ -151,6 +151,9 @@ REMOTE_HOST_HEADERS = ['REMOTE_ADDR', 'REMOTE_HOST']
|
|||||||
# Note: This setting may be overridden by database settings.
|
# Note: This setting may be overridden by database settings.
|
||||||
STDOUT_MAX_BYTES_DISPLAY = 1048576
|
STDOUT_MAX_BYTES_DISPLAY = 1048576
|
||||||
|
|
||||||
|
# Note: This setting may be overridden by database settings.
|
||||||
|
EVENT_STDOUT_MAX_BYTES_DISPLAY = 1024
|
||||||
|
|
||||||
TEMPLATE_CONTEXT_PROCESSORS = ( # NOQA
|
TEMPLATE_CONTEXT_PROCESSORS = ( # NOQA
|
||||||
'django.contrib.auth.context_processors.auth',
|
'django.contrib.auth.context_processors.auth',
|
||||||
'django.core.context_processors.debug',
|
'django.core.context_processors.debug',
|
||||||
|
|||||||
Reference in New Issue
Block a user