From 2329c1b7977227854428e726e478d6977aee7341 Mon Sep 17 00:00:00 2001 From: Christian Adams Date: Wed, 8 Apr 2020 00:50:20 -0400 Subject: [PATCH] Add rsyslog config to container from file for consistency --- awx/main/utils/external_logging.py | 8 -------- installer/roles/image_build/files/rsyslog.conf | 4 ++++ installer/roles/image_build/templates/Dockerfile.j2 | 4 ++-- installer/roles/kubernetes/templates/rsyslog.yml.j2 | 3 ++- tools/docker-compose/Dockerfile | 4 ++-- tools/docker-compose/rsyslog.conf | 4 ++++ 6 files changed, 14 insertions(+), 13 deletions(-) create mode 100644 installer/roles/image_build/files/rsyslog.conf create mode 100644 tools/docker-compose/rsyslog.conf diff --git a/awx/main/utils/external_logging.py b/awx/main/utils/external_logging.py index fd580d64cf..3f37e79f11 100644 --- a/awx/main/utils/external_logging.py +++ b/awx/main/utils/external_logging.py @@ -65,14 +65,6 @@ 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 ) - else: - # If logging is disabled, add a valid config and discard all messages - parts = [ - '$WorkDirectory /var/lib/awx/rsyslog', - '$IncludeConfig /etc/rsyslog.d/*.conf', - '*.* stop' - f'action(type="omfwd" target="localhost" port="9000" protocol="udp")' - ] tmpl = '\n'.join(parts) return tmpl diff --git a/installer/roles/image_build/files/rsyslog.conf b/installer/roles/image_build/files/rsyslog.conf new file mode 100644 index 0000000000..a1fc3407b3 --- /dev/null +++ b/installer/roles/image_build/files/rsyslog.conf @@ -0,0 +1,4 @@ +$WorkDirectory /var/lib/awx/rsyslog +$IncludeConfig /etc/rsyslog.d/*.conf +*.* stop +action(type="omfwd" target="localhost" port="9000" protocol="udp") diff --git a/installer/roles/image_build/templates/Dockerfile.j2 b/installer/roles/image_build/templates/Dockerfile.j2 index b3d63e8157..3834ce3a76 100644 --- a/installer/roles/image_build/templates/Dockerfile.j2 +++ b/installer/roles/image_build/templates/Dockerfile.j2 @@ -101,7 +101,7 @@ ADD rsyslog.repo /etc/yum.repos.d/ RUN yum install -y rsyslog-omhttp # Pre-create things that we need to write to -RUN for dir in /home/awx /var/run/supervisor /var/lib/awx/rsyslog /var/run/rsyslog /var/log/tower /var/log/nginx /var/lib/nginx; \ +RUN for dir in /home/awx /var/run/supervisor /var/lib/awx /var/lib/awx/rsyslog /var/run/rsyslog /var/log/tower /var/log/nginx /var/lib/nginx; \ do mkdir -p $dir; chmod -R g+rwx $dir; chgrp -R root $dir; done && \ \ for file in /etc/passwd /var/run/nginx.pid; \ @@ -116,7 +116,7 @@ RUN find /var/lib/awx -not -path '/var/lib/awx/venv*' | xargs chgrp root && \ 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 +ADD rsyslog.conf /var/lib/awx/rsyslog/rsyslog.conf RUN ln -sf /dev/stdout /var/log/nginx/access.log && \ diff --git a/installer/roles/kubernetes/templates/rsyslog.yml.j2 b/installer/roles/kubernetes/templates/rsyslog.yml.j2 index 3055c498ea..ba4705f08c 100644 --- a/installer/roles/kubernetes/templates/rsyslog.yml.j2 +++ b/installer/roles/kubernetes/templates/rsyslog.yml.j2 @@ -7,4 +7,5 @@ data: rsyslog-config: | $WorkDirectory /var/lib/awx/rsyslog $IncludeConfig /etc/rsyslog.d/*.conf - + *.* stop + action(type="omfwd" target="localhost" port="9000" protocol="udp") diff --git a/tools/docker-compose/Dockerfile b/tools/docker-compose/Dockerfile index ef7b8ba57a..62536d7b18 100644 --- a/tools/docker-compose/Dockerfile +++ b/tools/docker-compose/Dockerfile @@ -123,7 +123,7 @@ ADD tools/docker-compose/entrypoint.sh / ADD tools/scripts/awx-python /usr/bin/awx-python # Pre-create things that we need to write to -RUN for dir in /var/lib/awx/rsyslog /var/run/rsyslog /var/log/tower/ /var/lib/awx/projects /.ansible /var/log/nginx /var/lib/nginx /.local; \ +RUN for dir in /var/lib/awx /var/lib/awx/rsyslog /var/run/rsyslog /var/log/tower/ /var/lib/awx/projects /.ansible /var/log/nginx /var/lib/nginx /.local; \ do mkdir -p $dir; chmod -R g+rwx $dir; chgrp -R root $dir; done && \ \ for file in /etc/passwd /etc/supervisord.conf /venv/awx/lib/python3.6/site-packages/awx.egg-link /var/run/nginx.pid; \ @@ -133,7 +133,7 @@ RUN for dir in /var/lib/awx/rsyslog /var/run/rsyslog /var/log/tower/ /var/lib/aw RUN chmod -R 0775 /var/lib/awx /var/lib/awx/rsyslog ADD tools/docker-compose/rsyslog.repo /etc/yum.repos.d/ RUN yum install -y rsyslog-omhttp -RUN echo -e '$WorkDirectory /var/lib/awx/rsyslog\n$IncludeConfig /etc/rsyslog.d/*.conf' >> /var/lib/awx/rsyslog/rsyslog.conf +ADD tools/docker-compose/rsyslog.conf /var/lib/awx/rsyslog/rsyslog.conf RUN chmod 0775 /var/lib/awx/rsyslog/rsyslog.conf ENV HOME /var/lib/awx diff --git a/tools/docker-compose/rsyslog.conf b/tools/docker-compose/rsyslog.conf new file mode 100644 index 0000000000..a1fc3407b3 --- /dev/null +++ b/tools/docker-compose/rsyslog.conf @@ -0,0 +1,4 @@ +$WorkDirectory /var/lib/awx/rsyslog +$IncludeConfig /etc/rsyslog.d/*.conf +*.* stop +action(type="omfwd" target="localhost" port="9000" protocol="udp")