Add --detailed-exitcodes when running puppet via ansible
puppet run on never fails, even when it should, since we moved
to the ansible way of applying it. The reason is the current following code:
- name: Run puppet host configuration for step {{step}}
command: >-
puppet apply --modulepath=/etc/puppet/modules:/opt/stack/puppet-modules:/usr/share/openstack-puppet/modules --logdest syslog --logdest console --color=false /var/lib/tripleo-config/puppet_step_config.pp
The above is missing the --detailed-exitcodes switch and so puppet will never
really error out on us and the deployment will keep on running all the
steps even though a previous puppet manifest might have failed. This
cause extra hard-to-debug failures.
Initially the issue was observed on the puppet host runs, but this
parameter is missing also from docker-puppet.py, so let's add it there
as well as it makes sense to return proper error codes whenever we call
puppet.
Besides this being a good idea in general, we actually *have* to do it
because puppet does not fail correctly without this option due to the
following puppet bug: https://tickets.puppetlabs.com/browse/PUP-2754
Reviewed: https:/ /review. openstack. org/517022 /git.openstack. org/cgit/ openstack/ tripleo- heat-templates/ commit/ ?id=0ae06e10e1d b3e25655fc39273 6248deff6516c1
Committed: https:/
Submitter: Zuul
Branch: stable/pike
commit 0ae06e10e1db3e2 5655fc392736248 deff6516c1
Author: Michele Baldessari <email address hidden>
Date: Thu Oct 12 17:37:50 2017 +0200
Add --detailed- exitcodes when running puppet via ansible
puppet run on never fails, even when it should, since we moved
to the ansible way of applying it. The reason is the current following code:
- name: Run puppet host configuration for step {{step}}
-- modulepath= /etc/puppet/ modules: /opt/stack/ puppet- modules: /usr/share/ openstack- puppet/ modules
-- logdest syslog --logdest console --color=false
/var/ lib/tripleo- config/ puppet_ step_config. pp
command: >-
puppet apply
The above is missing the --detailed- exitcodes switch and so puppet will never
really error out on us and the deployment will keep on running all the
steps even though a previous puppet manifest might have failed. This
cause extra hard-to-debug failures.
Initially the issue was observed on the puppet host runs, but this
parameter is missing also from docker-puppet.py, so let's add it there
as well as it makes sense to return proper error codes whenever we call
puppet.
Besides this being a good idea in general, we actually *have* to do it /tickets. puppetlabs. com/browse/ PUP-2754
because puppet does not fail correctly without this option due to the
following puppet bug:
https:/
Co-Authored-By: Damien Ciabrini <email address hidden>
Change-Id: Ie9df4f52064540 4560a9635fb66e3 af42b966f54 df4dcd0e7670c34 05a4224c1a)
Closes-Bug: #1723163
(cherry picked from commit 11e599d116cfbf7