From c93489cfbe29d88564add64f81832aca6f4fdaf3 Mon Sep 17 00:00:00 2001 From: Michele Baldessari <michele@acksyn.org> Date: Tue, 17 Jul 2018 20:42:05 +0200 Subject: [PATCH] Enable logging to stdout/stderr in memcached Even though https://bugs.launchpad.net/tripleo/+bug/1776889 got fixed, memcached is still configured to log to a file due to the way puppet-memcached works: - It would omit logging to a file when the logfile parameter (which has a default value) is set to undef - In puppet/hiera undeffing a parameter that has a default value does not work: https://tickets.puppetlabs.com/browse/PUP-5295 In fact even after the fixes from https://bugs.launchpad.net/tripleo/+bug/1776889 get included we still see the following: [root@rhosp-ctr01 ~]# ps -ef | grep memcached 42457 44366 44342 0 10:06 ? 00:00:00 /bin/bash -c source /etc/sysconfig/memcached; /usr/bin/memcached -p ${PORT} -u ${USER} -m ${CACHESIZE} -c ${MAXCONN} $OPTIONS 42457 44385 44366 0 10:06 ? 00:00:08 /usr/bin/memcached -p 11211 -u memcached -m 16005 -c 8192 -v -l 192.168.18.11 -U 0 -t 8 >> /var/log/memcached.log 2>&1 This change depends on the following memcached PR: https://github.com/saz/puppet-memcached/pull/99/files to work correctly. With this patch memcached logs to stdout/err correctly: [root@overcloud-controller-0 etc]# ps auxwfw |grep memcache 42457 37207 0.0 0.0 11680 1396 ? Ss 19:23 0:00 | \_ /bin/bash -c source /etc/sysconfig/memcached; /usr/bin/memcached -p ${PORT} -u ${USER} -m ${CACHESIZE} -c ${MAXCONN} $OPTIONS 42457 37224 0.0 0.0 293160 3724 ? Sl 19:23 0:00 | \_ /usr/bin/memcached -p 11211 -u memcached -m 5877 -c 8192 -v -l 172.16.2.14 -U 0 -X -t 2 Change-Id: I8cec029bd1f64ec1daa76a89e949e7d245580918 Closes-Bug: #1782223 --- docker/services/memcached.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docker/services/memcached.yaml b/docker/services/memcached.yaml index 4638a2f645..29bb3c1ec9 100644 --- a/docker/services/memcached.yaml +++ b/docker/services/memcached.yaml @@ -57,7 +57,10 @@ outputs: description: Role data for the Memcached API role. value: service_name: {get_attr: [MemcachedBase, role_data, service_name]} - config_settings: {get_attr: [MemcachedBase, role_data, config_settings]} + config_settings: + map_merge: + - {get_attr: [MemcachedBase, role_data, config_settings]} + - memcached::logstdout: true logging_source: {get_attr: [MemcachedBase, role_data, logging_source]} logging_groups: {get_attr: [MemcachedBase, role_data, logging_groups]} service_config_settings: {get_attr: [MemcachedBase, role_data, service_config_settings]}