From 4d5507d344f0010db1937da109f2c25876f8b6c1 Mon Sep 17 00:00:00 2001 From: Christian Adams Date: Wed, 1 Apr 2020 02:02:04 -0400 Subject: [PATCH] Add default rsyslog.conf without including /etc/rsyslog.conf --- awx/main/utils/external_logging.py | 6 +++++- installer/roles/image_build/templates/Dockerfile.j2 | 4 ++++ tools/docker-compose.yml | 1 + tools/docker-compose/Dockerfile | 3 +-- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/awx/main/utils/external_logging.py b/awx/main/utils/external_logging.py index 74325a3b12..672fb2fdec 100644 --- a/awx/main/utils/external_logging.py +++ b/awx/main/utils/external_logging.py @@ -7,7 +7,7 @@ from awx.main.utils.reload import supervisor_service_command def construct_rsyslog_conf_template(settings=settings): tmpl = '' - parts = ['$IncludeConfig /etc/rsyslog.conf'] + parts = [] if settings.LOG_AGGREGATOR_ENABLED: host = getattr(settings, 'LOG_AGGREGATOR_HOST', '') port = getattr(settings, 'LOG_AGGREGATOR_PORT', '') @@ -63,6 +63,10 @@ def construct_rsyslog_conf_template(settings=settings): parts.append( f'action(type="omfwd" target="{host}" port="{port}" protocol="{protocol}" action.resumeRetryCount="-1" template="awx")' # noqa ) + parts.extend([ + '$WorkDirectory /var/lib/awx/rsyslog', + '$IncludeConfig /etc/rsyslog.d/*.conf' + ]) tmpl = '\n'.join(parts) return tmpl diff --git a/installer/roles/image_build/templates/Dockerfile.j2 b/installer/roles/image_build/templates/Dockerfile.j2 index 8b829e7976..b3d63e8157 100644 --- a/installer/roles/image_build/templates/Dockerfile.j2 +++ b/installer/roles/image_build/templates/Dockerfile.j2 @@ -115,6 +115,10 @@ RUN find /var/lib/awx -not -path '/var/lib/awx/venv*' | xargs chgrp root && \ chmod +rx /usr/bin/config-watcher && \ chmod u+s /usr/bin/bwrap # https://github.com/ansible/awx/issues/5224 +# Create default awx rsyslog.conf +RUN echo -e '$WorkDirectory /var/lib/awx/rsyslog\n$IncludeConfig /etc/rsyslog.d/*.conf' >> /var/lib/awx/rsyslog/rsyslog.conf + + RUN ln -sf /dev/stdout /var/log/nginx/access.log && \ ln -sf /dev/stderr /var/log/nginx/error.log diff --git a/tools/docker-compose.yml b/tools/docker-compose.yml index 6a39ed5f13..4b4de2e596 100644 --- a/tools/docker-compose.yml +++ b/tools/docker-compose.yml @@ -9,6 +9,7 @@ services: hostname: awx command: launch_awx.sh environment: + PYTHONUNBUFFERED: 1 CURRENT_UID: OS: SDB_HOST: 0.0.0.0 diff --git a/tools/docker-compose/Dockerfile b/tools/docker-compose/Dockerfile index 3cf89997b3..00c2167986 100644 --- a/tools/docker-compose/Dockerfile +++ b/tools/docker-compose/Dockerfile @@ -131,10 +131,9 @@ RUN for dir in /var/lib/awx/rsyslog /var/run/tower/rsyslog /var/log/tower/ /var/ RUN chmod -R 0775 /var/lib/awx /var/lib/awx/rsyslog -RUN chmod -R 0770 /var/lib/rsyslog # needed, or else: rsyslogd: imjournal: open on state file `/var/lib/rsyslog/imjournal.state' failed ADD tools/docker-compose/rsyslog.repo /etc/yum.repos.d/ RUN yum install -y rsyslog-omhttp -RUN echo '$IncludeConfig /etc/rsyslog.conf' >> /var/lib/awx/rsyslog/rsyslog.conf +RUN echo -e '$WorkDirectory /var/lib/awx/rsyslog\n$IncludeConfig /etc/rsyslog.d/*.conf' >> /var/lib/awx/rsyslog/rsyslog.conf RUN chmod 0775 /var/lib/awx/rsyslog/rsyslog.conf ENV HOME /var/lib/awx