Fix disappearing Puppet logs

It seems that recently Puppet logs started disappearing. Passing
`--logdest` to `puppet apply` multiple times was probably working
before as described in change
Id5212b3ed27b6299e33e81ecf71ead554f9bdd29, but it seems to work no
longer. In my testing, the output went only into syslog, and if Puppet
failed, we had no Puppet output in the Ansible logs.

The fix is to only log to console (as is the default) and use `logger
-s` to effectively `tee` the output into syslog too. The logger
command also has `-t puppet-user` because that's how Puppet tags its
output when running with `--logdest syslog`.

Change-Id: I46194897640198b6d817faf00be1d565a680ec02
Closes-Bug: #1831887
(cherry picked from commit fda0f4284b5972eb0716675a128e43104f5181c7)
This commit is contained in:
Jiri Stransky 2019-06-06 14:09:49 +02:00 committed by Alex Schultz
parent b12c8035d7
commit 242efd05cd
2 changed files with 7 additions and 6 deletions

View File

@ -300,13 +300,12 @@ if not os.path.exists(sh_script):
/usr/bin/puppet apply --summarize \
--detailed-exitcodes \
--color=false \
--logdest syslog \
--logdest console \
--modulepath=/etc/puppet/modules:/usr/share/openstack-puppet/modules \
$TAGS \
$CHECK_MODE \
/etc/config.pp
rc=$?
/etc/config.pp \
2>&1 | logger -s -t puppet-user
rc=${PIPESTATUS[0]}
set -e
if [ $rc -ne 2 -a $rc -ne 0 ]; then
exit $rc

View File

@ -391,15 +391,17 @@
- name: Run puppet host configuration for step {{ step }}
when: enable_puppet|bool
command: >-
shell: >-
puppet apply {{ host_puppet_config_debug | default('') }}
--modulepath=/etc/puppet/modules:/opt/stack/puppet-modules:/usr/share/openstack-puppet/modules
--detailed-exitcodes
--summarize
--logdest syslog --logdest console --color=false
--color=false
{{ ansible_check_mode | bool | ternary('--noop', '') }}
{{ ansible_check_mode | bool | ternary('--hiera_config /etc/puppet/check-mode/hiera.yaml', '') }}
/var/lib/tripleo-config/{{ ansible_check_mode | bool | ternary('check-mode/', '') }}puppet_step_config.pp
2>&1 | logger -s -t puppet-user ;
exit ${PIPESTATUS[0]}
changed_when: outputs.rc == 2
register: outputs
failed_when: false