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/511509 /git.openstack. org/cgit/ openstack/ tripleo- heat-templates/ commit/ ?id=11e599d116c fbf7df4dcd0e767 0c3405a4224c1a
Committed: https:/
Submitter: Zuul
Branch: master
commit 11e599d116cfbf7 df4dcd0e7670c34 05a4224c1a
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:/
Depends-On: I607927c2ee5c29 b605e18e9294b0f 91d37337680
Co-Authored-By: Damien Ciabrini <email address hidden>
Change-Id: Ie9df4f52064540 4560a9635fb66e3 af42b966f54
Closes-Bug: #1723163