tripleo-heat-templates/deployment/keepalived
Michele Baldessari 53364fd7a1 Fix keepalived logging on disk
There are no logs under /var/log/containers/keepalived even though we
explicitly try to capture logs on file for the keepalived container:

 [root@undercloud-0 ~]# podman exec -it keepalived sh -c 'ps -ax'
    PID TTY STAT TIME COMMAND
      1 ? Ss 0:00 dumb-init --single-child -- /usr/local/bin/kolla_start
      8 ? S 0:00 /usr/sbin/keepalived -nldD | tee -a /var/log/keepalived.log
     12 ? S 2:18 /usr/sbin/keepalived -nldD | tee -a /var/log/keepalived.log

The reason this is broken is that 'tee' is not passed to a shell but
ends up being an ignored argument of keepalived. Notice how there is no
shell process and also no tee process in the container above.

To fix that we need to pass the proper commands to a shell. This is done
in a special way like we did for the haproxy container so that kolla
does not mangle quotes and spaces.

After this fix we correctly see that the container logs on disk:
[root@undercloud-0 container-puppet]# ls -l /var/log/containers/keepalived/
-rw-r--r--. 1 root root 17483 Jan 28 15:55 keepalived.log

While we're at it we remove the usage of tee. It makes no sense to
log both on file and on stdout/stderr.

Co-Authored-By: Damien Ciabrini <dciabrin@redhat.com>

Change-Id: Id309e812f7dc8d66bd4912fce282ce72350fcbf8
Closes-Bug: #1861169
(cherry picked from commit 547a510f63)
2020-01-30 03:05:40 +00:00
..
keepalived-container-puppet.yaml Fix keepalived logging on disk 2020-01-30 03:05:40 +00:00