Force "Pre-cache" tasks to run in dry run

We don't want the pre-cache tasks to be skipped in dry-run so we force
check_mode to "no".

For example, "command" is skipped in check mode because we don't provide
"creates" nor "removes"; and since we need to cache facts when running Puppet
in dry mode, we need to make sure this task is run anyway.

See https://docs.ansible.com/ansible/latest/modules/command_module.html

For "file", "copy", and "synchronize", they aren't skipped in dry mode
but the resources aren't executed for real.

So this patch disable check_mode for all these tasks.
We also move the tasks in a block which avoid tags & check_mode
duplication for each task and avoid problems in the future if a task is
added.

Closes-Bug: #1839321
Change-Id: I21524419b8b416d0879fc61aa3274d2e30537438
(cherry picked from commit 9581614e93)
This commit is contained in:
Emilien Macchi 2019-08-07 08:33:34 -04:00
parent a757e27b91
commit d65795e1ea
1 changed files with 42 additions and 49 deletions

View File

@ -353,7 +353,15 @@
######################################### #########################################
# Pre-cache facts for container-puppet.py # Pre-cache facts for container-puppet.py
######################################### #########################################
# We don't want the pre-cache tasks to be skipped in dry-run so we force
# check_mode to "no".
# https://bugzilla.redhat.com/show_bug.cgi?id=1738529
- name: Pre-cache facts for container-puppet.py
check_mode: no
tags:
- container_config
- container_config_tasks
block:
- name: Create puppet caching structures - name: Create puppet caching structures
file: file:
path: /var/lib/container-puppet/puppetlabs path: /var/lib/container-puppet/puppetlabs
@ -361,9 +369,6 @@
setype: svirt_sandbox_file_t setype: svirt_sandbox_file_t
selevel: s0 selevel: s0
recurse: True recurse: True
tags:
- container_config
- container_config_tasks
- name: Write facter cache config - name: Write facter cache config
copy: copy:
dest: /var/lib/container-puppet/puppetlabs/facter.conf dest: /var/lib/container-puppet/puppetlabs/facter.conf
@ -379,32 +384,20 @@
} }
setype: svirt_sandbox_file_t setype: svirt_sandbox_file_t
selevel: s0 selevel: s0
tags:
- container_config
- container_config_tasks
- name: Cleanup facter cache if exists - name: Cleanup facter cache if exists
file: file:
path: /opt/puppetlabs/facter path: /opt/puppetlabs/facter
state: absent state: absent
ignore_errors: True ignore_errors: True
tags:
- container_config
- container_config_tasks
- name: Pre-cache facts - name: Pre-cache facts
command: facter --config /var/lib/container-puppet/puppetlabs/facter.conf command: facter --config /var/lib/container-puppet/puppetlabs/facter.conf
no_log: True no_log: True
ignore_errors: True ignore_errors: True
tags:
- container_config
- container_config_tasks
- name: Sync cached facts - name: Sync cached facts
synchronize: synchronize:
src: /opt/puppetlabs/ src: /opt/puppetlabs/
dest: /var/lib/container-puppet/puppetlabs/ dest: /var/lib/container-puppet/puppetlabs/
delegate_to: "{{ inventory_hostname }}" delegate_to: "{{ inventory_hostname }}"
tags:
- container_config
- container_config_tasks
###################################### ######################################
# Generate config via docker-puppet.py # Generate config via docker-puppet.py