From 4d83f25ae6a876f79b0413b234fb86e601365e24 Mon Sep 17 00:00:00 2001 From: Jeremy Lecour Date: Tue, 18 May 2021 14:04:54 +0200 Subject: [PATCH] fix pipefail option for shell invocations --- CHANGELOG.md | 1 + apt/tasks/hold_packages.yml | 6 ++++++ elasticsearch/tasks/logs.yml | 3 +++ etc-git/tasks/main.yml | 2 ++ evocheck/tasks/cron.yml | 2 ++ evolinux-base/tasks/postfix.yml | 3 ++- evolinux-base/tasks/system.yml | 3 +++ logstash/tasks/logs.yml | 3 +++ percona/tasks/main.yml | 5 ++++- postfix/tasks/packmail.yml | 3 +++ spamassasin/tasks/main.yml | 3 +++ ssl/tasks/main.yml | 6 ++++-- 12 files changed, 36 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 42270191..ef1aba95 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,6 +31,7 @@ The **patch** part changes incrementally at each release. ### Fixed +* fix pipefail option for shell invocations * ldap: fix edge cases where passwords were not set/get properly * listupgrade: fix wget error + shellcheck cleanup diff --git a/apt/tasks/hold_packages.yml b/apt/tasks/hold_packages.yml index 12774942..691f3763 100644 --- a/apt/tasks/hold_packages.yml +++ b/apt/tasks/hold_packages.yml @@ -2,6 +2,9 @@ - name: "hold packages (apt)" shell: "set -o pipefail && (dpkg -l {{ item }} 2>/dev/null | grep -q -E '^(i|h)i') && ((apt-mark showhold | grep --quiet {{ item }}) || apt-mark hold {{ item }})" + args: + executable: /bin/bash + check_mode: no register: apt_mark changed_when: "item + ' set on hold.' in apt_mark.stdout" failed_when: @@ -31,6 +34,9 @@ - name: "unhold packages (apt)" shell: "set -o pipefail && (dpkg -l {{ item }} 2>/dev/null | grep -q -E '^(i|h)i') && ((apt-mark showhold | grep --quiet {{ item }}) && apt-mark unhold {{ item }})" + args: + executable: /bin/bash + check_mode: no register: apt_mark changed_when: "'Canceled hold on' + item in apt_mark.stdout" failed_when: apt_mark.rc != 0 and not apt_mark.stdout = '' diff --git a/elasticsearch/tasks/logs.yml b/elasticsearch/tasks/logs.yml index b48e9373..f7e2c0c0 100644 --- a/elasticsearch/tasks/logs.yml +++ b/elasticsearch/tasks/logs.yml @@ -2,6 +2,9 @@ - name: Check if cron is installed shell: "set -o pipefail && dpkg -l cron 2> /dev/null | grep -q -E '^(i|h)i'" + args: + executable: /bin/bash + check_mode: no failed_when: False changed_when: False register: is_cron_installed diff --git a/etc-git/tasks/main.yml b/etc-git/tasks/main.yml index f707dab4..5d468f60 100644 --- a/etc-git/tasks/main.yml +++ b/etc-git/tasks/main.yml @@ -34,6 +34,8 @@ - name: Check if cron is installed shell: "set -o pipefail && dpkg -l cron 2> /dev/null | grep -q -E '^(i|h)i'" + args: + executable: /bin/bash failed_when: False changed_when: False check_mode: no diff --git a/evocheck/tasks/cron.yml b/evocheck/tasks/cron.yml index 4557ef2a..aac3f927 100644 --- a/evocheck/tasks/cron.yml +++ b/evocheck/tasks/cron.yml @@ -2,6 +2,8 @@ - name: Check if cron is installed shell: "set -o pipefail && dpkg -l cron 2> /dev/null | grep -q -E '^(i|h)i'" + args: + executable: /bin/bash failed_when: False changed_when: False check_mode: no diff --git a/evolinux-base/tasks/postfix.yml b/evolinux-base/tasks/postfix.yml index 6c1d8532..6a46548b 100644 --- a/evolinux-base/tasks/postfix.yml +++ b/evolinux-base/tasks/postfix.yml @@ -33,8 +33,9 @@ - name: fetch users list shell: "set -o pipefail && getent passwd | cut -d':' -f 1 | grep -v root" + args: + executable: /bin/bash check_mode: no - register: non_root_users_list changed_when: False tags: diff --git a/evolinux-base/tasks/system.yml b/evolinux-base/tasks/system.yml index 2e57b1e2..f9c72c54 100644 --- a/evolinux-base/tasks/system.yml +++ b/evolinux-base/tasks/system.yml @@ -86,6 +86,9 @@ - name: Check if cron is installed shell: "set -o pipefail && dpkg -l cron 2> /dev/null | grep -q -E '^(i|h)i'" + args: + executable: /bin/bash + check_mode: no failed_when: False changed_when: False check_mode: no diff --git a/logstash/tasks/logs.yml b/logstash/tasks/logs.yml index 8ea07ddd..9eb98c1a 100644 --- a/logstash/tasks/logs.yml +++ b/logstash/tasks/logs.yml @@ -1,6 +1,9 @@ --- - name: Check if cron is installed shell: "set -o pipefail && dpkg -l cron 2> /dev/null | grep -q -E '^(i|h)i'" + args: + executable: /bin/bash + check_mode: no failed_when: False changed_when: False register: is_cron_installed diff --git a/percona/tasks/main.yml b/percona/tasks/main.yml index 28278e49..b60a88a8 100644 --- a/percona/tasks/main.yml +++ b/percona/tasks/main.yml @@ -17,7 +17,10 @@ mode: "0644" - name: Check if percona-release is installed - command: "set -o pipefail && dpkg -l percona-release 2> /dev/null | grep -q -E '^(i|h)i'" + shell: "set -o pipefail && dpkg -l percona-release 2> /dev/null | grep -q -E '^(i|h)i'" + args: + executable: /bin/bash + check_mode: no failed_when: False changed_when: False register: percona__apt_config_package_installed diff --git a/postfix/tasks/packmail.yml b/postfix/tasks/packmail.yml index b2bdff22..b0476edd 100644 --- a/postfix/tasks/packmail.yml +++ b/postfix/tasks/packmail.yml @@ -99,6 +99,9 @@ - name: Check if cron is installed shell: "set -o pipefail && dpkg -l cron 2> /dev/null | grep -q -E '^(i|h)i'" + args: + executable: /bin/bash + check_mode: no failed_when: False changed_when: False register: is_cron_installed diff --git a/spamassasin/tasks/main.yml b/spamassasin/tasks/main.yml index df331af4..497c4698 100644 --- a/spamassasin/tasks/main.yml +++ b/spamassasin/tasks/main.yml @@ -67,6 +67,9 @@ - name: Check if cron is installed shell: "set -o pipefail && dpkg -l cron 2> /dev/null | grep -q -E '^(i|h)i'" + args: + executable: /bin/bash + check_mode: no failed_when: False changed_when: False register: is_cron_installed diff --git a/ssl/tasks/main.yml b/ssl/tasks/main.yml index a21c15ff..36de4b35 100644 --- a/ssl/tasks/main.yml +++ b/ssl/tasks/main.yml @@ -29,9 +29,11 @@ - ssl - name: Check if Haproxy is installed - command: "set -o pipefail && dpkg -l haproxy 2> /dev/null | grep -q -E '^(i|h)i'" + shell: "set -o pipefail && dpkg -l haproxy 2> /dev/null | grep -q -E '^(i|h)i'" + args: + executable: /bin/bash register: haproxy_check - check_mode: False + check_mode: no changed_when: False failed_when: False tags: