From f28d3ba595214093d416e49278a2a0791b975688 Mon Sep 17 00:00:00 2001
From: Evangelos Foutras <evangelos@foutrelis.com>
Date: Sat, 18 Feb 2023 19:55:19 +0200
Subject: [PATCH] ansible-lint: address no-changed-when fatal errors

Liberally add "noqa no-changed-when" tags to the problematic tasks,
except for two "systemd-tmpfiles --create" calls. For these we can
simply include the creates= parameter in the command module's call.
---
 roles/archmanweb/tasks/main.yml   |  2 +-
 roles/aurweb/tasks/main.yml       | 12 ++++++------
 roles/borg_client/tasks/main.yml  |  2 +-
 roles/common/tasks/main.yml       |  2 +-
 roles/dbscripts/tasks/main.yml    |  2 +-
 roles/install_arch/tasks/main.yml |  4 ++--
 roles/mailman/tasks/main.yml      |  2 +-
 roles/matrix/tasks/main.yml       |  2 +-
 roles/memcached/tasks/main.yml    |  2 +-
 9 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/roles/archmanweb/tasks/main.yml b/roles/archmanweb/tasks/main.yml
index c53bc442e..603cc3ad5 100644
--- a/roles/archmanweb/tasks/main.yml
+++ b/roles/archmanweb/tasks/main.yml
@@ -51,7 +51,7 @@
   become_user: archmanweb
   register: release
 
-- name: Build archlinux-common-style
+- name: Build archlinux-common-style  # noqa no-changed-when
   command:
     cmd: make SASS=sassc
     chdir: "{{ archmanweb_dir }}/repo/archlinux-common-style"
diff --git a/roles/aurweb/tasks/main.yml b/roles/aurweb/tasks/main.yml
index 7a6ded55a..baa1769c8 100644
--- a/roles/aurweb/tasks/main.yml
+++ b/roles/aurweb/tasks/main.yml
@@ -151,7 +151,7 @@
               priv="{{ aurweb_db }}.*:ALL"
   no_log: true
 
-- name: Initialize the database
+- name: Initialize the database  # noqa no-changed-when
   command: poetry run python -m aurweb.initdb
   args:
     chdir: "{{ aurweb_dir }}"
@@ -159,7 +159,7 @@
   become_user: "{{ aurweb_user }}"
   when: db_created.changed
 
-- name: Run migrations
+- name: Run migrations  # noqa no-changed-when
   command: poetry run alembic upgrade head
   args:
     chdir: "{{ aurweb_dir }}"
@@ -178,7 +178,7 @@
   ignore_errors: true
   register: aurweb_installed
 
-- name: Install python module
+- name: Install python module  # noqa no-changed-when
   command: poetry install
   args:
     chdir: "{{ aurweb_dir }}"
@@ -283,7 +283,7 @@
     chdir: "{{ aurweb_git_dir }}"
   failed_when: git_config.rc == 2  # FIXME: does not work.
 
-- name: Configure git tranfser.hideRefs  # noqa command-instead-of-module
+- name: Configure git tranfser.hideRefs  # noqa command-instead-of-module no-changed-when
   command: git config --local transfer.hideRefs '^refs/'
   args:
     chdir: "{{ aurweb_git_dir }}"
@@ -291,7 +291,7 @@
   become_user: "{{ aurweb_user }}"
   when: git_config.stdout.find('^refs/') == -1
 
-- name: Configure git transfer.hideRefs second  # noqa command-instead-of-module
+- name: Configure git transfer.hideRefs second  # noqa command-instead-of-module no-changed-when
   command: git config --local --add transfer.hideRefs '!refs/'
   args:
     chdir: "{{ aurweb_git_dir }}"
@@ -299,7 +299,7 @@
   become_user: "{{ aurweb_user }}"
   when: git_config.stdout.find('!refs/') == -1
 
-- name: Configure git transfer.hideRefs third  # noqa command-instead-of-module
+- name: Configure git transfer.hideRefs third  # noqa command-instead-of-module no-changed-when
   command: git config --local --add transfer.hideRefs '!HEAD'
   args:
     chdir: "{{ aurweb_git_dir }}"
diff --git a/roles/borg_client/tasks/main.yml b/roles/borg_client/tasks/main.yml
index 5e00bf0ee..13767a9af 100644
--- a/roles/borg_client/tasks/main.yml
+++ b/roles/borg_client/tasks/main.yml
@@ -10,7 +10,7 @@
   loop: "{{ backup_hosts }}"
   changed_when: borg_list.stdout | length > 0
 
-- name: Init borg repository  # noqa ignore-errors
+- name: Init borg repository  # noqa ignore-errors no-changed-when
   command: "{{ item['borg_cmd'] }} init -e keyfile {{ item['host'] }}/{{ item['dir'] }}"
   when: borg_list is failed
   environment:
diff --git a/roles/common/tasks/main.yml b/roles/common/tasks/main.yml
index 8f1d75d9b..498f7bfdf 100644
--- a/roles/common/tasks/main.yml
+++ b/roles/common/tasks/main.yml
@@ -114,7 +114,7 @@
   register: zramtmpfiles
   when: enable_zram_swap
 
-- name: Use tmpfiles.d/zram.conf
+- name: Use tmpfiles.d/zram.conf  # noqa no-changed-when
   command: systemd-tmpfiles --create
   when: zramtmpfiles.changed
 
diff --git a/roles/dbscripts/tasks/main.yml b/roles/dbscripts/tasks/main.yml
index 5119597d0..cbf12a2eb 100644
--- a/roles/dbscripts/tasks/main.yml
+++ b/roles/dbscripts/tasks/main.yml
@@ -207,7 +207,7 @@
   register: rsyncdtmpfiles
 
 - name: Use tmpfiles.d/rsyncd.conf
-  command: systemd-tmpfiles --create
+  command: systemd-tmpfiles --create creates=/run/rsyncd
   when: rsyncdtmpfiles.changed
 
 - name: Create rsyncd-conf-genscripts
diff --git a/roles/install_arch/tasks/main.yml b/roles/install_arch/tasks/main.yml
index 0512d00c2..c9b8696fa 100644
--- a/roles/install_arch/tasks/main.yml
+++ b/roles/install_arch/tasks/main.yml
@@ -38,11 +38,11 @@
   register: sgdisk
   changed_when: "sgdisk.rc == 0"
 
-- name: Partition and format the disks (btrfs RAID)
+- name: Partition and format the disks (btrfs RAID)  # noqa no-changed-when
   command: mkfs.btrfs -f -L root -d {{ raid_level | default('raid1') }} -m {{ raid_level | default('raid1') }} -O no-holes {{ system_disks | map('regex_replace', '^(.*)$', '\g<1>p2' if 'nvme' in system_disks[0] else '\g<1>2') | join(' ') }}
   when: filesystem == "btrfs" and system_disks | length >= 2
 
-- name: Partition and format the disks (btrfs single)
+- name: Partition and format the disks (btrfs single)  # noqa no-changed-when
   command: mkfs.btrfs -f -L root -d single -m single -O no-holes {{ system_disks[0] }}{{ 'p2' if 'nvme' in system_disks[0] else '2' }}
   when: filesystem == "btrfs" and system_disks | length == 1
 
diff --git a/roles/mailman/tasks/main.yml b/roles/mailman/tasks/main.yml
index 91c9ccb55..37f701a1e 100644
--- a/roles/mailman/tasks/main.yml
+++ b/roles/mailman/tasks/main.yml
@@ -69,7 +69,7 @@
   become_user: postgres
   become_method: su
 
-- name: Run Django management tasks
+- name: Run Django management tasks  # noqa no-changed-when
   command: django-admin {{ item }} --pythonpath /etc/webapps/mailman-web --settings settings
   loop:
     - migrate
diff --git a/roles/matrix/tasks/main.yml b/roles/matrix/tasks/main.yml
index e7d1d076e..dbeac328b 100644
--- a/roles/matrix/tasks/main.yml
+++ b/roles/matrix/tasks/main.yml
@@ -123,7 +123,7 @@
   become_method: sudo
   when: mjolnir_git.changed
 
-- name: Build mjolnir
+- name: Build mjolnir  # noqa no-changed-when
   command: yarn build
   args:
     chdir: /var/lib/synapse/mjolnir
diff --git a/roles/memcached/tasks/main.yml b/roles/memcached/tasks/main.yml
index dcfab36b1..707ae6769 100644
--- a/roles/memcached/tasks/main.yml
+++ b/roles/memcached/tasks/main.yml
@@ -6,5 +6,5 @@
   register: memcachedtmpfiles
 
 - name: Use tmpfiles.d/memcached.conf
-  command: systemd-tmpfiles --create
+  command: systemd-tmpfiles --create creates=/run/memcached
   when: memcachedtmpfiles.changed
-- 
GitLab