From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CA00139A056 for ; Thu, 18 Jun 2026 12:17:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781785072; cv=none; b=IEZDPn8Hon/K4IPjznzj/f4VJwx++dIhuklKK0uFe2c5zXgIGO2qnWbIfQRdBAsgufIh884bMAYjr4rtgvDDNQuE0e3BI1aQDjXG8vWDFNs/k1Lx7dHCLGPYyhITERM0dJz5ZzopLaBeASlMRmHoKVBtfUkmzjUOE8KIiWYVTlk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781785072; c=relaxed/simple; bh=en+zLs+mo9z+PmHA8jIshDZXkAP+AOaVFvWiQ+tM9TE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=K76/FyTyUpbkwmsOJNGPgYfjE+3P6jNtP+RZjlyF/gpnazgQ/NU0W6OmummVontA5pv1s7/zqLpG+CoR1dzbIt+QkMH3PrR6jKAVaUoYdLOyL/kyUUeIQ2722HGiASEqnaoubMxT1hjlRPDwgin0LUNA+hOe1tJejj8LRW9Ia6c= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=IwScSPqO; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="IwScSPqO" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2C4D61F00A3E; Thu, 18 Jun 2026 12:17:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1781785069; bh=Jwn3MOiu3ELRmLWmoFiZPAlJbvbsee2wcnENMht2j5I=; h=From:Date:Subject:References:In-Reply-To:To:Cc; b=IwScSPqOvanQpmFMdHepJTu1NvF/edMOWSQ7PPZfGJNy1MfKEDftfe0V4s7nmlMs+ /F99LZ8c34xBhNSzZEP+ZW+IaeuA1RvyrZbjzOVeaf5rTvqrXPEQJCvOWwDt8atK0j UixIiGRPZFAXNEf5H0AoIm3K1SZpPB2JCPKjZtZKVFdaH3SS/z0k2TdgLRyqgYxYUb 2QAE3mSK8cZZHaoFvRsk8d1e+gx6HYUGLdl2MyKVUFjtdOKJJy8hCKJJijvEMrpvHj oN3XoxH0t8FgrGtjR+Ikfqr3fsZ7HkZjsckUubqvZ6MYBmk/Y1EU/7CLFUsmmL6Xuj 6cZo7/wdIC6Dg== From: Jeff Layton Date: Thu, 18 Jun 2026 08:17:15 -0400 Subject: [PATCH v2 1/5] ansible: fix bare conditionals for ansible-core 2.20+ strict booleans Precedence: bulk X-Mailing-List: kdevops@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260618-fixes-v2-1-c8bab773a55e@kernel.org> References: <20260618-fixes-v2-0-c8bab773a55e@kernel.org> In-Reply-To: <20260618-fixes-v2-0-c8bab773a55e@kernel.org> To: Luis Chamberlain , Daniel Gomez , Chuck Lever Cc: kdevops@lists.linux.dev, Jeff Layton X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=53776; i=jlayton@kernel.org; h=from:subject:message-id; bh=en+zLs+mo9z+PmHA8jIshDZXkAP+AOaVFvWiQ+tM9TE=; b=owEBbQKS/ZANAwAKAQAOaEEZVoIVAcsmYgBqM+Hr9+R9tnZwIzx21eA6smHHcOEkV9iYe0Fgp nyBGi6u2L2JAjMEAAEKAB0WIQRLwNeyRHGyoYTq9dMADmhBGVaCFQUCajPh6wAKCRAADmhBGVaC FdSoEACHwivwX8/lk10SScPhwL93Hg33LNWA192nVvRbKx4ZaTif8Ekp/8MXwW1FA6EKVeZ5woi TEMniBiLQ+Tc/Js0yIhCLBsTUZdC+VupGxhGym8Wy201yPGlOj++E3K0gcVoR79JSn9T1KUP6NN k5oFnoCnPFCBL2T5tiGVZDi6ye170EbEMD/t8DtgNpNpN9sLSy4aDtu0jg5pmr46ShASwP10m4J 2/GDC7c6d5/Sdl/GNyF84YL+vfBzjIilLp5DfPlKV1LzC4cj6rP4HT84qLnP+Tbc+NPmJS7barM zF/Efoc/o2b3uQsl6vU7RYXfsS5q37JaeM13rWXUga2AnrLWQqbK0ZTb5SkVsvWrpOxwK6Hinek 0ptAvOxc/0tft4pjsGTeAapDequPQvXEedkuIODWOcFHUbtwPf5nTtqfd7Zn6oY0ongE1TivDJE GjJqXlMGzd3XmpiFnVunL3fGbuJEep7hnugszfFzZEWgrXTTu9lD+UaT9E21PEN2iPo82qZhtUL xtUtP5prmRsgfHaN4Zg709POt3IYjVdSo/Rc9YOJi7MIHND6g4bsty5wtVN/Idd1fI7t1iGUNFo 8u+S7j7We6R5p1kBrwQCU9H8itLBIFCZWfflCONEijLkuwMMy1Jhon+p1to7Ye/p4PQkyucCk0k weJa9I4YsOFMC0A== X-Developer-Key: i=jlayton@kernel.org; a=openpgp; fpr=4BC0D7B24471B2A184EAF5D3000E684119568215 Starting with ansible-core 2.20, when: conditionals that evaluate to a string instead of a boolean cause a fatal error rather than a deprecation warning. This affected two categories of variables across 16 role files. Kconfig boolean variables exported through extra_vars.yaml arrive as strings like "True" rather than native booleans and need the |bool filter appended. This covers variables such as kdevops_workflows_dedicated_workflow, kdevops_baseline_and_dev, kdevops_workflow_enable_*, kdevops_enable_terraform, kdevops_enable_guestfs, bootlinux_builder, workflows_reboot_limit, and several others in the gen_nodes, gen_hosts, gen_tfvars, devconfig, build_linux, codereadyrepo, gen_pci_kconfig, reboot-limit, update_etc_hosts, and kdevops_archive roles. String variables like target_linux_install_b4, fstests_nfs_auth_flavor, and devconfig_custom_yum_repofile hold package names, paths, or configuration values that may be empty or None and need the "| default('', true) | length > 0" pattern to produce a proper boolean. One registered variable was also fixed where devconfig checked "not grub_timeout_grep" (a result dict) instead of the correct "not grub_timeout_grep.changed" form. Generated-by: Claude AI Signed-off-by: Jeff Layton --- playbooks/roles/bootlinux/tasks/build/9p.yml | 3 +- playbooks/roles/bootlinux/tasks/build/builder.yml | 3 +- playbooks/roles/bootlinux/tasks/build/targets.yml | 3 +- playbooks/roles/bootlinux/tasks/main.yml | 3 +- playbooks/roles/build_linux/tasks/main.yml | 8 +- playbooks/roles/codereadyrepo/tasks/main.yml | 10 +- .../devconfig/tasks/install-deps/redhat/main.yml | 8 +- .../devconfig/tasks/install-deps/suse/main.yml | 2 +- playbooks/roles/devconfig/tasks/main.yml | 18 +- playbooks/roles/fstests/tasks/main.yml | 9 +- playbooks/roles/gen_hosts/tasks/main.yml | 81 ++++--- playbooks/roles/gen_nodes/tasks/main.yml | 256 +++++++++++---------- playbooks/roles/gen_pci_kconfig/tasks/main.yml | 4 +- playbooks/roles/gen_tfvars/tasks/main.yml | 6 +- playbooks/roles/kdevops_archive/tasks/main.yml | 2 +- .../roles/nfsd/tasks/install-deps/redhat/main.yml | 2 +- .../roles/nfsd/tasks/install-deps/suse/main.yml | 2 +- playbooks/roles/reboot-limit/tasks/do-reboot.yml | 4 +- playbooks/roles/update_etc_hosts/tasks/main.yml | 6 +- playbooks/roles/volume_group/tasks/guestfs.yml | 4 - 20 files changed, 219 insertions(+), 215 deletions(-) diff --git a/playbooks/roles/bootlinux/tasks/build/9p.yml b/playbooks/roles/bootlinux/tasks/build/9p.yml index 26f027bfac28..7e45fba17d67 100644 --- a/playbooks/roles/bootlinux/tasks/build/9p.yml +++ b/playbooks/roles/bootlinux/tasks/build/9p.yml @@ -38,8 +38,7 @@ name: - b4 when: - - target_linux_install_b4 is defined - - target_linux_install_b4 + - target_linux_install_b4 | default('', true) | length > 0 - hostvars['localhost']['ansible_os_family'] != "Debian" run_once: true delegate_to: localhost diff --git a/playbooks/roles/bootlinux/tasks/build/builder.yml b/playbooks/roles/bootlinux/tasks/build/builder.yml index 2e0ed3d9e4b3..3b056f9fe697 100644 --- a/playbooks/roles/bootlinux/tasks/build/builder.yml +++ b/playbooks/roles/bootlinux/tasks/build/builder.yml @@ -7,8 +7,7 @@ name: - b4 when: - - target_linux_install_b4 is defined - - target_linux_install_b4 + - target_linux_install_b4 | default('', true) | length > 0 - ansible_os_family == "Debian" - name: Clone {{ target_linux_tree }} diff --git a/playbooks/roles/bootlinux/tasks/build/targets.yml b/playbooks/roles/bootlinux/tasks/build/targets.yml index 8b7c94b3c81e..2eab4ec9c744 100644 --- a/playbooks/roles/bootlinux/tasks/build/targets.yml +++ b/playbooks/roles/bootlinux/tasks/build/targets.yml @@ -7,8 +7,7 @@ name: - b4 when: - - target_linux_install_b4 is defined - - target_linux_install_b4 + - target_linux_install_b4 | default('', true) | length > 0 - ansible_facts['os_family']|lower != 'debian' - name: Git clone {{ target_linux_tree }} on the target nodes diff --git a/playbooks/roles/bootlinux/tasks/main.yml b/playbooks/roles/bootlinux/tasks/main.yml index 7098cda7421d..74533b5152c7 100644 --- a/playbooks/roles/bootlinux/tasks/main.yml +++ b/playbooks/roles/bootlinux/tasks/main.yml @@ -57,8 +57,7 @@ name: - b4 when: - - target_linux_install_b4 is defined - - target_linux_install_b4 + - target_linux_install_b4 | default('', true) | length > 0 - ansible_facts['os_family']|lower != 'debian' - not workflow_linux_packaged|bool diff --git a/playbooks/roles/build_linux/tasks/main.yml b/playbooks/roles/build_linux/tasks/main.yml index 74d5efff0330..9f8bdf0db381 100644 --- a/playbooks/roles/build_linux/tasks/main.yml +++ b/playbooks/roles/build_linux/tasks/main.yml @@ -38,7 +38,7 @@ - name: Setup dedicated build filesystem when: - - build_linux_storage_enable + - build_linux_storage_enable|bool block: - name: Check if device is already mounted become: yes @@ -150,7 +150,7 @@ single_branch: yes when: - not linux_git_exists.stat.exists or git_repo_check.rc != 0 - - shallow_clone + - shallow_clone|bool - name: Clone Linux kernel source (full) ansible.builtin.git: @@ -158,7 +158,7 @@ dest: "{{ linux_source_dir }}" when: - not linux_git_exists.stat.exists or git_repo_check.rc != 0 - - not shallow_clone + - not shallow_clone|bool retries: 3 delay: 10 register: git_result @@ -174,7 +174,7 @@ args: chdir: "{{ linux_source_dir }}" when: - - build_linux_use_latest_tag + - build_linux_use_latest_tag|bool - linux_source_stat.stat.writeable - name: Ensure /data directory is writable diff --git a/playbooks/roles/codereadyrepo/tasks/main.yml b/playbooks/roles/codereadyrepo/tasks/main.yml index c6f223b97a2f..f670adaaa9cc 100644 --- a/playbooks/roles/codereadyrepo/tasks/main.yml +++ b/playbooks/roles/codereadyrepo/tasks/main.yml @@ -3,14 +3,14 @@ - name: Enable a CodeReady Builder repo for this distribution when: - ansible_distribution != "Fedora" - - not devconfig_custom_yum_repofile + - devconfig_custom_yum_repofile | default('', true) | length == 0 block: - name: Select the RHEL CodeReady Builder repo ansible.builtin.set_fact: codeready_repo: "codeready-builder-for-rhel-{{ ansible_distribution_major_version }}-{{ ansible_architecture }}-rpms" when: - ansible_distribution == 'RedHat' - - kdevops_enable_guestfs + - kdevops_enable_guestfs|bool - name: Select the Oracle Linux CodeReady Builder repo ansible.builtin.set_fact: @@ -29,7 +29,7 @@ codeready_repo: "codeready-builder-for-rhel-{{ ansible_distribution_major_version }}-rhui-rpms" when: - ansible_distribution == 'RedHat' - - kdevops_enable_terraform + - kdevops_enable_terraform|bool - kdevops_terraform_provider == "aws" - name: Select the Azure RHEL CodeReady Builder repo @@ -37,7 +37,7 @@ codeready_repo: "codeready-builder-for-rhel-{{ ansible_distribution_major_version }}-{{ ansible_architecture }}-rhui-rpms" when: - ansible_distribution == 'RedHat' - - kdevops_enable_terraform + - kdevops_enable_terraform|bool - kdevops_terraform_provider == "azure" - name: Select the Google Cloud RHEL CodeReady Builder repo @@ -45,7 +45,7 @@ codeready_repo: "rhui-codeready-builder-for-rhel-{{ ansible_distribution_major_version }}-{{ ansible_architecture }}-rhui-rpms" when: - ansible_distribution == 'RedHat' - - kdevops_enable_terraform + - kdevops_enable_terraform|bool - kdevops_terraform_provider == "gce" - name: The distribution/provisioner combo isn't recognized diff --git a/playbooks/roles/devconfig/tasks/install-deps/redhat/main.yml b/playbooks/roles/devconfig/tasks/install-deps/redhat/main.yml index 95741de8d1fa..f851da05ab4a 100644 --- a/playbooks/roles/devconfig/tasks/install-deps/redhat/main.yml +++ b/playbooks/roles/devconfig/tasks/install-deps/redhat/main.yml @@ -10,15 +10,15 @@ activationkey: "{{ rhel_activation_key }}" force_register: true when: - - rhel_org_id - - rhel_activation_key + - rhel_org_id | default('', true) | length > 0 + - rhel_activation_key | default('', true) | length > 0 - name: Check whether custom repofile exists ansible.builtin.stat: path: "{{ devconfig_custom_yum_repofile }}" register: custom_repofile delegate_to: localhost - when: devconfig_custom_yum_repofile + when: devconfig_custom_yum_repofile | default('', true) | length > 0 - name: Add custom yum repo become: true @@ -30,7 +30,7 @@ group: root mode: "0644" when: - - devconfig_custom_yum_repofile + - devconfig_custom_yum_repofile | default('', true) | length > 0 - custom_repofile.stat.exists - name: Discover the fastest package update mirrors diff --git a/playbooks/roles/devconfig/tasks/install-deps/suse/main.yml b/playbooks/roles/devconfig/tasks/install-deps/suse/main.yml index 6f0607e6a9ff..04ec3f70beee 100644 --- a/playbooks/roles/devconfig/tasks/install-deps/suse/main.yml +++ b/playbooks/roles/devconfig/tasks/install-deps/suse/main.yml @@ -378,7 +378,7 @@ install_snmp: true install_kdump: true when: - - is_sle15|bool or is_tumbleweed + - is_sle15|bool or is_tumbleweed|bool tags: ["vars"] - name: Install snmp diff --git a/playbooks/roles/devconfig/tasks/main.yml b/playbooks/roles/devconfig/tasks/main.yml index 416ba2fb0576..6df6ea7ec5f8 100644 --- a/playbooks/roles/devconfig/tasks/main.yml +++ b/playbooks/roles/devconfig/tasks/main.yml @@ -23,16 +23,16 @@ ansible.builtin.command: "whoami" register: declared_host_user when: - - kdevops_use_declared_hosts - - workflow_infer_user_and_group + - kdevops_use_declared_hosts|bool + - workflow_infer_user_and_group|bool changed_when: false - name: Infer group on declared hosts ansible.builtin.command: "id -g -n" register: declared_host_group when: - - kdevops_use_declared_hosts - - workflow_infer_user_and_group + - kdevops_use_declared_hosts|bool + - workflow_infer_user_and_group|bool changed_when: false - name: Set inferred user and group for declared hosts @@ -40,8 +40,8 @@ data_user: "{{ declared_host_user.stdout | default(data_user) }}" data_group: "{{ declared_host_group.stdout | default(data_group) }}" when: - - kdevops_use_declared_hosts - - workflow_infer_user_and_group + - kdevops_use_declared_hosts|bool + - workflow_infer_user_and_group|bool # Update /etc/hostname first so the change gets picked up by the reboot # that occurs during the distro-specific tasks @@ -437,7 +437,7 @@ when: - grub2_config_file.stat.exists - devconfig_enable_console|bool - - not grub_timeout_grep + - not grub_timeout_grep.changed tags: ["console"] - name: Check to see if the GRUB serial command is defined @@ -721,8 +721,8 @@ sysctl_set: true reload: true when: - - devconfig_enable_sysctl_tuning - - devconfig_enable_sysctl_mm_overcommit_memory + - devconfig_enable_sysctl_tuning|bool + - devconfig_enable_sysctl_mm_overcommit_memory|bool tags: ["sysctl"] - name: Rev the kernel to the latest distribution kotd diff --git a/playbooks/roles/fstests/tasks/main.yml b/playbooks/roles/fstests/tasks/main.yml index 3dcd2f9fa6d6..8fb454420936 100644 --- a/playbooks/roles/fstests/tasks/main.yml +++ b/playbooks/roles/fstests/tasks/main.yml @@ -802,8 +802,7 @@ register: nfsmount_conf when: - fstests_fstyp == "nfs" - - fstests_nfs_auth_flavor is defined - - fstests_nfs_auth_flavor + - fstests_nfs_auth_flavor | default('', true) | length > 0 - name: Create /etc/nfsmount.conf become: true @@ -817,8 +816,7 @@ mode: "0644" when: - fstests_fstyp == "nfs" - - fstests_nfs_auth_flavor is defined - - fstests_nfs_auth_flavor + - fstests_nfs_auth_flavor | default('', true) | length > 0 - not nfsmount_conf.stat.exists - name: Set auth flavor for NFS @@ -831,8 +829,7 @@ line: "Sec={{ fstests_nfs_auth_flavor }}" when: - fstests_fstyp == "nfs" - - fstests_nfs_auth_flavor is defined - - fstests_nfs_auth_flavor + - fstests_nfs_auth_flavor | default('', true) | length > 0 - name: Create SMB share for test vol ansible.builtin.include_role: diff --git a/playbooks/roles/gen_hosts/tasks/main.yml b/playbooks/roles/gen_hosts/tasks/main.yml index f21b7cc0bfad..f2a047b53b92 100644 --- a/playbooks/roles/gen_hosts/tasks/main.yml +++ b/playbooks/roles/gen_hosts/tasks/main.yml @@ -20,8 +20,7 @@ {{ kdevops_declared_hosts }} {%- endif -%} when: - - kdevops_use_declared_hosts - - kdevops_declared_hosts is defined + - kdevops_use_declared_hosts|bool tags: vars - name: Get our user @@ -58,8 +57,8 @@ is_fstests: true fs_config_path: "{{ kdevops_playbooks_dir_full_path }}/{{ fs_config_role_path }}" when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_fstests + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_fstests|bool - ansible_hosts_template.stat.exists tags: vars @@ -87,9 +86,9 @@ | list }} when: - - is_fstests + - is_fstests|bool - ansible_hosts_template.stat.exists - - not kdevops_use_declared_hosts + - not kdevops_use_declared_hosts|bool - name: Infer enabled blktests test section types ansible.builtin.set_fact: @@ -101,18 +100,18 @@ | list }} when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_blktests + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_blktests|bool - ansible_hosts_template.stat.exists - - not kdevops_use_declared_hosts + - not kdevops_use_declared_hosts|bool - name: Debug inferring block test types ansible.builtin.debug: var: blktests_enabled_test_types when: - false - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_blktests + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_blktests|bool - ansible_hosts_template.stat.exists - name: Infer enabled selftests test section types @@ -125,10 +124,10 @@ | list }} when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_selftests + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_selftests|bool - ansible_hosts_template.stat.exists - - not kdevops_use_declared_hosts + - not kdevops_use_declared_hosts|bool - name: Collect dynamically supported filesystems vars: @@ -139,8 +138,8 @@ sysbench_enabled_filesystems: "{{ local_supported_filesystems }}" enabled_sysbench_tests: "{{ [] }}" when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_sysbench + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_sysbench|bool - name: Collect enabled sysbench target sections for dynamically supported filesystems loop: "{{ sysbench_enabled_filesystems }}" @@ -156,8 +155,8 @@ ansible.builtin.set_fact: enabled_sysbench_tests: "{{ enabled_sysbench_tests + enabled_fs_node }}" when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_sysbench + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_sysbench|bool - name: Infer enabled mmtests test types ansible.builtin.set_fact: @@ -169,18 +168,18 @@ | list }} when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_mmtests + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_mmtests|bool - ansible_hosts_template.stat.exists - - not kdevops_use_declared_hosts + - not kdevops_use_declared_hosts|bool - name: Load AI nodes configuration for multi-filesystem setup include_vars: file: "{{ topdir_path }}/{{ kdevops_nodes }}" name: guestfs_nodes when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_ai + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_ai|bool - ai_enable_multifs_testing|default(false)|bool - ansible_hosts_template.stat.exists @@ -188,8 +187,8 @@ set_fact: all_generic_nodes: "{{ guestfs_nodes.guestfs_nodes | map(attribute='name') | list }}" when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_ai + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_ai|bool - ai_enable_multifs_testing|default(false)|bool - guestfs_nodes is defined @@ -198,7 +197,7 @@ file: "{{ topdir_path }}/{{ kdevops_nodes }}" name: build_linux_nodes when: - - kdevops_workflows_dedicated_workflow + - kdevops_workflows_dedicated_workflow|bool - kdevops_workflow_enable_build_linux|default(false)|bool - build_linux_enable_multifs_testing|default(false)|bool - ansible_hosts_template.stat.exists @@ -207,7 +206,7 @@ set_fact: build_linux_enabled_section_types: "{{ build_linux_nodes.guestfs_nodes | map(attribute='name') | list }}" when: - - kdevops_workflows_dedicated_workflow + - kdevops_workflows_dedicated_workflow|bool - kdevops_workflow_enable_build_linux|default(false)|bool - build_linux_enable_multifs_testing|default(false)|bool - build_linux_nodes is defined @@ -245,8 +244,8 @@ include_vars: file: "{{ topdir_path }}/{{ kdevops_nodes }}" when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_fio_tests + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_fio_tests|bool - fio_tests_multi_filesystem|default(false)|bool - ansible_hosts_template.stat.exists @@ -254,8 +253,8 @@ set_fact: fio_tests_node_names: "{{ guestfs_nodes | map(attribute='name') | list }}" when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_fio_tests + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_fio_tests|bool - fio_tests_multi_filesystem|default(false)|bool - guestfs_nodes is defined - ansible_hosts_template.stat.exists @@ -264,8 +263,8 @@ debug: var: fio_tests_node_names when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_fio_tests + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_fio_tests|bool - ansible_hosts_template.stat.exists - name: Generate the Ansible hosts file for a dedicated fio-tests setup (single filesystem) @@ -279,8 +278,8 @@ trim_blocks: True lstrip_blocks: True when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_fio_tests + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_fio_tests|bool - ansible_hosts_template.stat.exists - not fio_tests_multi_filesystem|default(false)|bool @@ -295,8 +294,8 @@ trim_blocks: True lstrip_blocks: True when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_fio_tests + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_fio_tests|bool - ansible_hosts_template.stat.exists - fio_tests_multi_filesystem|default(false)|bool - fio_tests_node_names is defined @@ -311,7 +310,7 @@ lstrip_blocks: True mode: '0644' when: - - kdevops_workflows_dedicated_workflow + - kdevops_workflows_dedicated_workflow|bool - kdevops_workflow_enable_minio|default(false)|bool - ansible_hosts_template.stat.exists - not kdevops_use_declared_hosts|default(false)|bool @@ -326,7 +325,7 @@ lstrip_blocks: True mode: '0644' when: - - kdevops_workflows_dedicated_workflow + - kdevops_workflows_dedicated_workflow|bool - kdevops_workflow_enable_build_linux|default(false)|bool - ansible_hosts_template.stat.exists - not kdevops_use_declared_hosts|default(false)|bool @@ -341,7 +340,7 @@ lstrip_blocks: True mode: '0644' when: - - kdevops_workflows_dedicated_workflow + - kdevops_workflows_dedicated_workflow|bool - kdevops_workflow_enable_vllm|default(false)|bool - ansible_hosts_template.stat.exists - not kdevops_use_declared_hosts|default(false)|bool @@ -356,6 +355,6 @@ ansible.builtin.fail: msg: "Your dedicated workflow lacks rules for what nodes to use, go work on allowed topologies to parallelize testing one per node" when: - - kdevops_workflows_dedicated_workflow + - kdevops_workflows_dedicated_workflow|bool - ansible_hosts_template.stat.exists - not final_hosts_file.stat.exists diff --git a/playbooks/roles/gen_nodes/tasks/main.yml b/playbooks/roles/gen_nodes/tasks/main.yml index b16333629209..2d3792725e89 100644 --- a/playbooks/roles/gen_nodes/tasks/main.yml +++ b/playbooks/roles/gen_nodes/tasks/main.yml @@ -37,14 +37,14 @@ ansible.builtin.set_fact: generic_nodes: "{{ [kdevops_host_prefix] }}" when: - - not kdevops_baseline_and_dev + - not kdevops_baseline_and_dev|bool - name: Set generic nodes array on dual baseline and dev systems tags: vars ansible.builtin.set_fact: generic_nodes: "{{ [kdevops_host_prefix] + [kdevops_host_prefix + '-dev'] }}" when: - - kdevops_baseline_and_dev + - kdevops_baseline_and_dev|bool - name: Set builder nodes array tags: vars @@ -52,7 +52,7 @@ builder_nodes: - "{{ kdevops_host_prefix + '-builder' }}" when: - - bootlinux_builder + - bootlinux_builder|bool - name: Set iscsi_nodes list ansible.builtin.set_fact: @@ -107,8 +107,8 @@ is_fstests: true fs_config_path: "{{ kdevops_playbooks_dir_full_path }}/{{ fs_config_role_path }}" when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_fstests + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_fstests|bool - ansible_nodes_template.stat.exists tags: vars @@ -147,8 +147,24 @@ force: true mode: "0644" when: - - not kdevops_workflows_dedicated_workflow + - not kdevops_workflows_dedicated_workflow|bool - ansible_nodes_template.stat.exists + - not kdevops_enable_nixos|default(false)|bool + +- name: Generate the NixOS kdevops nodes file using {{ kdevops_nodes_template }} as jinja2 source template + tags: ['nodes'] + vars: + node_template: "{{ kdevops_nodes_template | basename }}" + all_generic_nodes: "{{ generic_nodes }}" + nodes: "{{ all_generic_nodes }}" + ansible.builtin.template: + src: "{{ node_template }}" + dest: "{{ topdir_path }}/{{ kdevops_nodes }}" + force: true + when: + - not kdevops_workflows_dedicated_workflow|bool + - ansible_nodes_template.stat.exists + - kdevops_enable_nixos|default(false)|bool - name: Generate the builder kdevops nodes file using nodes file using template as jinja2 source template tags: ["nodes"] @@ -161,7 +177,7 @@ dest: "{{ topdir_path }}/{{ kdevops_nodes }}" force: true when: - - bootlinux_builder + - bootlinux_builder|bool - ansible_nodes_template.stat.exists @@ -177,8 +193,8 @@ force: true mode: "0644" when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_pynfs + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_pynfs|bool - name: Generate the cxl kdevops nodes file using nodes file using template as jinja2 source template @@ -193,8 +209,8 @@ force: true mode: "0644" when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_cxl + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_cxl|bool - name: Generate a kdevops nodes file for the gitr workflow @@ -203,8 +219,8 @@ name: gen_nodes tasks_from: gitr when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_gitr + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_gitr|bool - ansible_nodes_template.stat.exists - name: Generate a kdevops nodes file for the ltp workflow @@ -213,8 +229,8 @@ name: gen_nodes tasks_from: ltp when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_ltp + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_ltp|bool - ansible_nodes_template.stat.exists - name: Generate a kdevops nodes file for the nfstest workflow @@ -223,8 +239,8 @@ name: gen_nodes tasks_from: nfstest when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_nfstest + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_nfstest|bool - ansible_nodes_template.stat.exists - name: Set empty enabled test types list for fstests @@ -273,7 +289,7 @@ - is_fstests|bool - ansible_nodes_template.stat.exists - item.changed - - not kdevops_baseline_and_dev + - not kdevops_baseline_and_dev|bool - name: Now expand the list of enabled fstests for valid configuration sections with dev hosts tags: ["nodes"] @@ -289,7 +305,7 @@ - is_fstests|bool - ansible_nodes_template.stat.exists - item.changed - - kdevops_baseline_and_dev + - kdevops_baseline_and_dev|bool - name: Add the nfs server if one was selected ansible.builtin.set_fact: @@ -350,10 +366,10 @@ }} when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_blktests + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_blktests|bool - ansible_nodes_template.stat.exists - - not kdevops_baseline_and_dev + - not kdevops_baseline_and_dev|bool - name: Infer enabled blktests test section types with dev hosts vars: @@ -365,18 +381,18 @@ ansible.builtin.set_fact: blktests_enabled_test_types: "{{ all_nodes | product(['', '-dev']) | map('join') | list }}" when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_blktests + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_blktests|bool - ansible_nodes_template.stat.exists - - kdevops_baseline_and_dev + - kdevops_baseline_and_dev|bool - name: Debug inferring block test types ansible.builtin.debug: var: blktests_enabled_test_types when: - false - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_blktests + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_blktests|bool - ansible_nodes_template.stat.exists - name: Generate the blktests kdevops nodes file using nodes file using template as jinja2 source template @@ -391,8 +407,8 @@ force: true mode: "0644" when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_blktests + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_blktests|bool - name: Infer enabled selftests test section types @@ -410,10 +426,10 @@ | list }} when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_selftests + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_selftests|bool - ansible_nodes_template.stat.exists - - not kdevops_baseline_and_dev + - not kdevops_baseline_and_dev|bool - name: Infer enabled selftests test section types with dev hosts vars: @@ -425,10 +441,10 @@ ansible.builtin.set_fact: selftests_enabled_test_types: "{{ all_nodes | product(['', '-dev']) | map('join') | list }}" when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_selftests + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_selftests|bool - ansible_nodes_template.stat.exists - - kdevops_baseline_and_dev + - kdevops_baseline_and_dev|bool - name: Generate the selftests kdevops nodes file using nodes file using template as jinja2 source template tags: ["hosts"] @@ -442,8 +458,8 @@ force: true mode: "0644" when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_selftests + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_selftests|bool - name: Collect dynamically supported filesystems @@ -459,8 +475,8 @@ sysbench_enabled_filesystems: "{{ local_supported_filesystems }}" enabled_sysbench_tests: "{{ [] }}" when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_sysbench + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_sysbench|bool - name: Collect enabled sysbench target sections for dynamically supported filesystems loop: "{{ sysbench_enabled_filesystems }}" @@ -477,8 +493,8 @@ ansible.builtin.set_fact: enabled_sysbench_tests: "{{ enabled_sysbench_tests + enabled_fs_node }}" when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_sysbench + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_sysbench|bool - name: Augment sysbench targets with dev nodes loop: "{{ sysbench_enabled_filesystems }}" @@ -495,16 +511,16 @@ ansible.builtin.set_fact: enabled_sysbench_tests: "{{ enabled_sysbench_tests + enabled_fs_node }}" when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_sysbench - - kdevops_baseline_and_dev + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_sysbench|bool + - kdevops_baseline_and_dev|bool - name: Fail if no sysbench tests are enabled ansible.builtin.fail: msg: "No sysbench tests are enabled. You should enable at least one." when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_sysbench + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_sysbench|bool - ansible_nodes_template.stat.exists - enabled_sysbench_tests | length == 0 @@ -520,8 +536,8 @@ force: true mode: "0644" when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_sysbench + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_sysbench|bool - name: Generate the fio-tests kdevops nodes file using {{ kdevops_nodes_template }} as jinja2 source template @@ -535,10 +551,10 @@ dest: "{{ topdir_path }}/{{ kdevops_nodes }}" force: yes when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_fio_tests + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_fio_tests|bool - ansible_nodes_template.stat.exists - - not kdevops_baseline_and_dev + - not kdevops_baseline_and_dev|bool - not fio_tests_multi_filesystem|default(false)|bool - name: Generate the fio-tests kdevops nodes file with dev hosts using {{ kdevops_nodes_template }} as jinja2 source template @@ -552,10 +568,10 @@ dest: "{{ topdir_path }}/{{ kdevops_nodes }}" force: yes when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_fio_tests + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_fio_tests|bool - ansible_nodes_template.stat.exists - - kdevops_baseline_and_dev + - kdevops_baseline_and_dev|bool - not fio_tests_multi_filesystem|default(false)|bool - name: Infer enabled fio-tests multi-filesystem configurations (no dev) @@ -575,11 +591,11 @@ set_fact: fio_tests_enabled_section_types: "{{ [kdevops_host_prefix + '-fio-tests-'] | product(all_fs_configs) | map('join') | list }}" when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_fio_tests + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_fio_tests|bool - fio_tests_multi_filesystem|default(false)|bool - ansible_nodes_template.stat.exists - - not kdevops_baseline_and_dev + - not kdevops_baseline_and_dev|bool - name: Infer enabled fio-tests multi-filesystem configurations with dev vars: @@ -598,11 +614,11 @@ set_fact: fio_tests_expanded_configs: "{{ all_fs_configs }}" when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_fio_tests + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_fio_tests|bool - fio_tests_multi_filesystem|default(false)|bool - ansible_nodes_template.stat.exists - - kdevops_baseline_and_dev + - kdevops_baseline_and_dev|bool - name: Create fio-tests nodes for each filesystem configuration with dev hosts vars: @@ -610,11 +626,11 @@ set_fact: fio_tests_enabled_section_types: "{{ filesystem_nodes | product(['', '-dev']) | map('join') | list }}" when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_fio_tests + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_fio_tests|bool - fio_tests_multi_filesystem|default(false)|bool - ansible_nodes_template.stat.exists - - kdevops_baseline_and_dev + - kdevops_baseline_and_dev|bool - fio_tests_expanded_configs is defined - fio_tests_expanded_configs | length > 0 @@ -629,8 +645,8 @@ dest: "{{ topdir_path }}/{{ kdevops_nodes }}" force: yes when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_fio_tests + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_fio_tests|bool - fio_tests_multi_filesystem|default(false)|bool - ansible_nodes_template.stat.exists - fio_tests_enabled_section_types is defined @@ -651,10 +667,10 @@ | list }} when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_mmtests + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_mmtests|bool - ansible_nodes_template.stat.exists - - not kdevops_baseline_and_dev + - not kdevops_baseline_and_dev|bool - name: Infer enabled mmtests test section types with dev hosts vars: @@ -666,10 +682,10 @@ ansible.builtin.set_fact: mmtests_enabled_test_types: "{{ all_nodes | product(['', '-dev']) | map('join') | list }}" when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_mmtests + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_mmtests|bool - ansible_nodes_template.stat.exists - - kdevops_baseline_and_dev + - kdevops_baseline_and_dev|bool - name: Generate the mmtests kdevops nodes file using nodes file using template as jinja2 source template tags: ["hosts"] @@ -683,8 +699,8 @@ force: true mode: "0644" when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_mmtests + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_mmtests|bool - name: Generate the reboot-limit kdevops nodes file using nodes file using template as jinja2 source template @@ -699,8 +715,8 @@ force: true mode: "0644" when: - - kdevops_workflows_dedicated_workflow - - workflows_reboot_limit + - kdevops_workflows_dedicated_workflow|bool + - workflows_reboot_limit|bool - ansible_nodes_template.stat.exists @@ -716,8 +732,8 @@ force: true mode: "0644" when: - - kdevops_workflows_dedicated_workflow - - workflows_reboot_limit + - kdevops_workflows_dedicated_workflow|bool + - workflows_reboot_limit|bool - ansible_nodes_template.stat.exists @@ -733,10 +749,10 @@ force: true mode: '0644' when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_ai + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_ai|bool - ansible_nodes_template.stat.exists - - not kdevops_baseline_and_dev + - not kdevops_baseline_and_dev|bool - not ai_enable_multifs_testing|default(false)|bool - name: Generate the AI kdevops nodes file with dev hosts using {{ kdevops_nodes_template }} as jinja2 source template @@ -751,10 +767,10 @@ force: true mode: '0644' when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_ai + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_ai|bool - ansible_nodes_template.stat.exists - - kdevops_baseline_and_dev + - kdevops_baseline_and_dev|bool - not ai_enable_multifs_testing|default(false)|bool - name: Infer enabled AI multi-filesystem configurations @@ -794,8 +810,8 @@ set_fact: ai_multifs_enabled_configs: "{{ (xfs_configs + ext4_configs + btrfs_configs) | unique }}" when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_ai + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_ai|bool - ai_enable_multifs_testing|default(false)|bool - ansible_nodes_template.stat.exists @@ -805,11 +821,11 @@ set_fact: ai_enabled_section_types: "{{ filesystem_nodes }}" when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_ai + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_ai|bool - ai_enable_multifs_testing|default(false)|bool - ansible_nodes_template.stat.exists - - not kdevops_baseline_and_dev + - not kdevops_baseline_and_dev|bool - ai_multifs_enabled_configs is defined - ai_multifs_enabled_configs | length > 0 @@ -819,11 +835,11 @@ set_fact: ai_enabled_section_types: "{{ filesystem_nodes | product(['', '-dev']) | map('join') | list }}" when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_ai + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_ai|bool - ai_enable_multifs_testing|default(false)|bool - ansible_nodes_template.stat.exists - - kdevops_baseline_and_dev + - kdevops_baseline_and_dev|bool - ai_multifs_enabled_configs is defined - ai_multifs_enabled_configs | length > 0 @@ -838,8 +854,8 @@ dest: "{{ topdir_path }}/{{ kdevops_nodes }}" force: yes when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_ai + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_ai|bool - ai_enable_multifs_testing|default(false)|bool - ansible_nodes_template.stat.exists - ai_enabled_section_types is defined @@ -859,10 +875,10 @@ force: true mode: "0644" when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_vllm + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_vllm|bool - ansible_nodes_template.stat.exists - - not kdevops_baseline_and_dev + - not kdevops_baseline_and_dev|bool - name: Generate the vLLM kdevops nodes file with dev hosts using {{ kdevops_nodes_template }} as jinja2 source template tags: ['hosts'] @@ -876,10 +892,10 @@ force: true mode: "0644" when: - - kdevops_workflows_dedicated_workflow - - kdevops_workflow_enable_vllm + - kdevops_workflows_dedicated_workflow|bool + - kdevops_workflow_enable_vllm|bool - ansible_nodes_template.stat.exists - - kdevops_baseline_and_dev + - kdevops_baseline_and_dev|bool # MinIO S3 Storage Testing workflow nodes @@ -908,7 +924,7 @@ set_fact: minio_multifs_enabled_configs: "{{ (xfs_configs + ext4_configs + btrfs_configs) | unique }}" when: - - kdevops_workflows_dedicated_workflow + - kdevops_workflows_dedicated_workflow|bool - kdevops_workflow_enable_minio|default(false)|bool - minio_enable_multifs_testing|default(false)|bool - ansible_nodes_template.stat.exists @@ -919,11 +935,11 @@ set_fact: minio_enabled_section_types: "{{ filesystem_nodes }}" when: - - kdevops_workflows_dedicated_workflow + - kdevops_workflows_dedicated_workflow|bool - kdevops_workflow_enable_minio|default(false)|bool - minio_enable_multifs_testing|default(false)|bool - ansible_nodes_template.stat.exists - - not kdevops_baseline_and_dev + - not kdevops_baseline_and_dev|bool - minio_multifs_enabled_configs is defined - minio_multifs_enabled_configs | length > 0 @@ -933,11 +949,11 @@ set_fact: minio_enabled_section_types: "{{ filesystem_nodes | product(['', '-dev']) | map('join') | list }}" when: - - kdevops_workflows_dedicated_workflow + - kdevops_workflows_dedicated_workflow|bool - kdevops_workflow_enable_minio|default(false)|bool - minio_enable_multifs_testing|default(false)|bool - ansible_nodes_template.stat.exists - - kdevops_baseline_and_dev + - kdevops_baseline_and_dev|bool - minio_multifs_enabled_configs is defined - minio_multifs_enabled_configs | length > 0 @@ -953,7 +969,7 @@ force: true mode: '0644' when: - - kdevops_workflows_dedicated_workflow + - kdevops_workflows_dedicated_workflow|bool - kdevops_workflow_enable_minio|default(false)|bool - minio_enable_multifs_testing|default(false)|bool - ansible_nodes_template.stat.exists @@ -973,10 +989,10 @@ force: true mode: '0644' when: - - kdevops_workflows_dedicated_workflow + - kdevops_workflows_dedicated_workflow|bool - kdevops_workflow_enable_minio|default(false)|bool - ansible_nodes_template.stat.exists - - not kdevops_baseline_and_dev + - not kdevops_baseline_and_dev|bool - not minio_enable_multifs_testing|default(false)|bool - name: Generate the MinIO kdevops nodes file with dev hosts using {{ kdevops_nodes_template }} as jinja2 source template @@ -991,10 +1007,10 @@ force: true mode: '0644' when: - - kdevops_workflows_dedicated_workflow + - kdevops_workflows_dedicated_workflow|bool - kdevops_workflow_enable_minio|default(false)|bool - ansible_nodes_template.stat.exists - - kdevops_baseline_and_dev + - kdevops_baseline_and_dev|bool - not minio_enable_multifs_testing|default(false)|bool # Build-linux workflow nodes @@ -1030,7 +1046,7 @@ set_fact: build_linux_multifs_enabled_configs: "{{ (xfs_configs + ext4_configs + btrfs_configs + tmpfs_configs) | unique }}" when: - - kdevops_workflows_dedicated_workflow + - kdevops_workflows_dedicated_workflow|bool - kdevops_workflow_enable_build_linux|default(false)|bool - build_linux_enable_multifs_testing|default(false)|bool - ansible_nodes_template.stat.exists @@ -1041,11 +1057,11 @@ set_fact: build_linux_enabled_section_types: "{{ filesystem_nodes }}" when: - - kdevops_workflows_dedicated_workflow + - kdevops_workflows_dedicated_workflow|bool - kdevops_workflow_enable_build_linux|default(false)|bool - build_linux_enable_multifs_testing|default(false)|bool - ansible_nodes_template.stat.exists - - not kdevops_baseline_and_dev + - not kdevops_baseline_and_dev|bool - build_linux_multifs_enabled_configs is defined - build_linux_multifs_enabled_configs | length > 0 @@ -1055,11 +1071,11 @@ set_fact: build_linux_enabled_section_types: "{{ filesystem_nodes | product(['', '-dev']) | map('join') | list }}" when: - - kdevops_workflows_dedicated_workflow + - kdevops_workflows_dedicated_workflow|bool - kdevops_workflow_enable_build_linux|default(false)|bool - build_linux_enable_multifs_testing|default(false)|bool - ansible_nodes_template.stat.exists - - kdevops_baseline_and_dev + - kdevops_baseline_and_dev|bool - build_linux_multifs_enabled_configs is defined - build_linux_multifs_enabled_configs | length > 0 @@ -1075,7 +1091,7 @@ force: true mode: '0644' when: - - kdevops_workflows_dedicated_workflow + - kdevops_workflows_dedicated_workflow|bool - kdevops_workflow_enable_build_linux|default(false)|bool - build_linux_enable_multifs_testing|default(false)|bool - ansible_nodes_template.stat.exists @@ -1095,10 +1111,10 @@ force: true mode: '0644' when: - - kdevops_workflows_dedicated_workflow + - kdevops_workflows_dedicated_workflow|bool - kdevops_workflow_enable_build_linux|default(false)|bool - ansible_nodes_template.stat.exists - - not kdevops_baseline_and_dev + - not kdevops_baseline_and_dev|bool - not build_linux_enable_multifs_testing|default(false)|bool - name: Generate the Build-linux kdevops nodes file with dev hosts using {{ kdevops_nodes_template }} as jinja2 source template @@ -1113,10 +1129,10 @@ force: true mode: '0644' when: - - kdevops_workflows_dedicated_workflow + - kdevops_workflows_dedicated_workflow|bool - kdevops_workflow_enable_build_linux|default(false)|bool - ansible_nodes_template.stat.exists - - kdevops_baseline_and_dev + - kdevops_baseline_and_dev|bool - not build_linux_enable_multifs_testing|default(false)|bool - name: Get the control host's timezone @@ -1134,7 +1150,7 @@ ansible.builtin.fail: msg: "Your dedicated workflow lacks rules for what nodes to use, go work on allowed topologies to parallelize testing one per node" when: - - kdevops_workflows_dedicated_workflow + - kdevops_workflows_dedicated_workflow|bool - ansible_nodes_template.stat.exists - not dedicated_nodes_template.stat.exists diff --git a/playbooks/roles/gen_pci_kconfig/tasks/main.yml b/playbooks/roles/gen_pci_kconfig/tasks/main.yml index 9424a2a7c0b5..cd062957a68b 100644 --- a/playbooks/roles/gen_pci_kconfig/tasks/main.yml +++ b/playbooks/roles/gen_pci_kconfig/tasks/main.yml @@ -3,9 +3,9 @@ - name: Dump pci output in machine-readible form ansible.builtin.shell: "lspci -Dvmmm > {{ topdir_path }}/.dynamic-kconfig.pci.txt" when: - - kdevops_pcie_dynamic_kconfig + - kdevops_pcie_dynamic_kconfig|bool - name: Generate libvirt PCI-E kcofig files ansible.builtin.shell: "./python/workflows/dynamic-kconfig/gen-dynamic-pci.py {{ topdir_path }}/.dynamic-kconfig.pci.txt > {{ topdir_path }}/Kconfig.passthrough_libvirt.generated" when: - - kdevops_pcie_dynamic_kconfig + - kdevops_pcie_dynamic_kconfig|bool diff --git a/playbooks/roles/gen_tfvars/tasks/main.yml b/playbooks/roles/gen_tfvars/tasks/main.yml index e0d72082f145..b0c500359179 100644 --- a/playbooks/roles/gen_tfvars/tasks/main.yml +++ b/playbooks/roles/gen_tfvars/tasks/main.yml @@ -35,7 +35,7 @@ patterns: "Kconfig*.generated" register: provider_kconfig_files when: - - kdevops_enable_terraform + - kdevops_enable_terraform|bool - name: Check if any dynamic Kconfig files are empty ansible.builtin.fail: @@ -53,7 +53,7 @@ For more information, run 'make help' and see the cloud-config targets section. when: - - kdevops_enable_terraform + - kdevops_enable_terraform|bool - provider_kconfig_files.matched > 0 - item.size == 0 loop: "{{ provider_kconfig_files.files }}" @@ -80,5 +80,5 @@ dest: "{{ topdir_path }}/{{ kdevops_terraform_tfvars }}" force: true when: - - kdevops_enable_terraform + - kdevops_enable_terraform|bool - terraform_tfvars_template.stat.exists diff --git a/playbooks/roles/kdevops_archive/tasks/main.yml b/playbooks/roles/kdevops_archive/tasks/main.yml index 0e41db9d2488..f7079dfa13af 100644 --- a/playbooks/roles/kdevops_archive/tasks/main.yml +++ b/playbooks/roles/kdevops_archive/tasks/main.yml @@ -229,7 +229,7 @@ environment: GIT_LFS_SKIP_SMUDGE: "1" when: - - kdevops_archive_mirror_present + - kdevops_archive_mirror_present|bool register: git_clone_result - name: Remind user this is a demo diff --git a/playbooks/roles/nfsd/tasks/install-deps/redhat/main.yml b/playbooks/roles/nfsd/tasks/install-deps/redhat/main.yml index a3fab512d7e3..d8aa20877392 100644 --- a/playbooks/roles/nfsd/tasks/install-deps/redhat/main.yml +++ b/playbooks/roles/nfsd/tasks/install-deps/redhat/main.yml @@ -20,7 +20,7 @@ nfsd_packages: "{{ nfsd_packages + [fsprogs] }}" when: - fsprogs is defined - - fsprogs + - fsprogs | default('', true) | length > 0 - name: Install nfsd dependencies become: true diff --git a/playbooks/roles/nfsd/tasks/install-deps/suse/main.yml b/playbooks/roles/nfsd/tasks/install-deps/suse/main.yml index 3b6aafd887ae..5d5716fd888c 100644 --- a/playbooks/roles/nfsd/tasks/install-deps/suse/main.yml +++ b/playbooks/roles/nfsd/tasks/install-deps/suse/main.yml @@ -20,7 +20,7 @@ nfsd_packages: "{{ nfsd_packages + [fsprogs] }}" when: - fsprogs is defined - - fsprogs + - fsprogs | default('', true) | length > 0 - name: Add additional packages needed for krb5 to the nfsd packages list ansible.builtin.set_fact: diff --git a/playbooks/roles/reboot-limit/tasks/do-reboot.yml b/playbooks/roles/reboot-limit/tasks/do-reboot.yml index 8966d83d0b31..7f0e398797ea 100644 --- a/playbooks/roles/reboot-limit/tasks/do-reboot.yml +++ b/playbooks/roles/reboot-limit/tasks/do-reboot.yml @@ -172,7 +172,7 @@ ansible.builtin.shell: echo 1 > /proc/sys/kernel/sysrq tags: ["run_tests", "read_count", "vars", "crash-check"] when: - - reboot_limit_boot_count_crash_enable + - reboot_limit_boot_count_crash_enable|bool - ((reboot_limit_count | int % reboot_limit_boot_crash_count | int) == 0) - name: Force a crash if we were asked to @@ -182,7 +182,7 @@ ignore_errors: true tags: ["run_tests", "read_count", "vars", "crash-check"] when: - - reboot_limit_boot_count_crash_enable + - reboot_limit_boot_count_crash_enable|bool - ((reboot_limit_count | int % reboot_limit_boot_crash_count | int) == 0) - name: Write current updated boot count variable file to be {{ reboot_limit_count }} diff --git a/playbooks/roles/update_etc_hosts/tasks/main.yml b/playbooks/roles/update_etc_hosts/tasks/main.yml index 4b5f7c44319f..e3b6c92a38c2 100644 --- a/playbooks/roles/update_etc_hosts/tasks/main.yml +++ b/playbooks/roles/update_etc_hosts/tasks/main.yml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: private_network: "{{ terraform_private_net_prefix }}/{{ terraform_private_net_mask }}" when: - - terraform_private_net_enabled + - terraform_private_net_enabled|bool - name: Build list of hosts ansible.builtin.set_fact: @@ -57,7 +57,7 @@ state: present with_items: "{{ ueh_hosts }}" when: - - terraform_private_net_enabled + - terraform_private_net_enabled|bool - not (kdevops_enable_nixos_flake | default(false)) - name: Add IP address of all hosts to all hosts @@ -70,7 +70,7 @@ state: present with_items: "{{ ueh_hosts }}" when: - - not terraform_private_net_enabled + - not terraform_private_net_enabled|bool - not (kdevops_enable_nixos_flake | default(false)) - name: Fix up hostname on Debian guestfs hosts diff --git a/playbooks/roles/volume_group/tasks/guestfs.yml b/playbooks/roles/volume_group/tasks/guestfs.yml index f5b1601ad11c..2775d3196234 100644 --- a/playbooks/roles/volume_group/tasks/guestfs.yml +++ b/playbooks/roles/volume_group/tasks/guestfs.yml @@ -15,28 +15,24 @@ ansible.builtin.set_fact: by_id_pattern: "nvme-QEMU_NVMe_Ctrl_kdevops*" when: - - libvirt_extra_storage_drive_nvme is defined - libvirt_extra_storage_drive_nvme|bool - name: Set the virtio block device search pattern ansible.builtin.set_fact: by_id_pattern: "virtio-kdevops*" when: - - libvirt_extra_storage_drive_virtio is defined - libvirt_extra_storage_drive_virtio|bool - name: Set the IDE device search pattern ansible.builtin.set_fact: by_id_pattern: "ata-QEMU_HARDDISK_kdevops*" when: - - libvirt_extra_storage_drive_ide is defined - libvirt_extra_storage_drive_ide|bool - name: Set the SCSI device search pattern ansible.builtin.set_fact: by_id_pattern: "scsi-0QEMU_QEMU_HARDDISK_kdevops*" when: - - libvirt_extra_storage_drive_scsi is defined - libvirt_extra_storage_drive_scsi|bool - name: Verify there are block devices to search -- 2.54.0