* [PATCH v5 00/12] Define Ansible inventory in the Ansible Configuration file
@ 2025-07-24 19:36 Daniel Gomez
2025-07-24 19:36 ` [PATCH v5 01/12] playbooks: fix playbook name for all hosts plays Daniel Gomez
` (13 more replies)
0 siblings, 14 replies; 20+ messages in thread
From: Daniel Gomez @ 2025-07-24 19:36 UTC (permalink / raw)
To: Luis Chamberlain, Chuck Lever; +Cc: kdevops, Daniel Gomez, Daniel Gomez
Following Chuck's proposed changes to make task parallelism configurable
via the Ansible configuration file [1], and the subsequent cleanup
of ansible-playbook calls [2] along with the Python interpreter
improvements [3] to better support distros like NixOS through simplified
global interpreter configuration [4], I considered applying the same
approach to the inventory file. This would further streamline our
Ansible wrapper in the kdevops Makefiles.
Why make this change? By specifying the inventory file (typically
'hosts' file in kdevops) directly in ansible.cfg, we eliminate the
need for repeated -i/--inventory arguments and gain flexibility in
where the inventory file is located. This also supports the broader
sandboxing goal discussed in [5]. Moreover, by including localhost in
the inventory, we can clean up the Makefile wrapper even further by
removing --connection=localhost and -i localhost options, while also
enabling workflows to run directly on the controller node (with some
extra more modifications).
https://lore.kernel.org/kdevops/20240827-ansible-cleanups-v1-0-2828a816de5e@samsung.com/
[1]
Increase default task parallelism
https://lore.kernel.org/kdevops/20250404204827.34941-1-cel@kernel.org/
[2]
[PATCH 2/2] Makefile: Remove "-f 30" command line argument
https://lore.kernel.org/kdevops/20250417172119.3190398-2-cel@kernel.org/
[3]
https://lore.kernel.org/kdevops/20250404-python-interpreter-v1-0-04783b627ce7@samsung.com/
[4]
https://lore.kernel.org/kdevops/kwpt5iizzmryybpg6z3fgs6koak27rjggydfighd42wn7mxqja@2hwvtppppzsk/
[5]
https://lore.kernel.org/kdevops/20240827-ansible-cleanups-v1-0-2828a816de5e@samsung.com/
This series promotes the Ansible inventory file (typically 'hosts'
in kdevops) to the Ansible Configuration file (ansible.cfg). By doing
this, we allow to control the hosts globally rather than in all the
ansible-playbook commands, as well as clean up the ansible-playbook
command.
So, we don't need to define anymore the inventory file in the command.
However, playbooks may still be controlled on which targets the playbook
is run. This is done through the playbook itself and/or through the
ansible-playbook argument --limit. Also notice delegate_to is needed
when the playbook runs and iterates on specific nodes such as baseline
and dev but a specific task needs to be handled back to the controller
node.
As part of the series, the term 'all' to refer to all hosts is redefined
to include the localhost. This removes the need to be explicit with
localhost playbooks runs, as it's now just another target in the
inventory file. This term redefinition requires to change playbooks that
use the term all, either through ansible-playbook command or through
the host: field in the YAML playbook file. For this reason, the term
has been replaced in most cases with 'baseline:dev', which means all
targets in the inventory file in the baseline and dev groups, matching
the 'all' concept in the former configuration 'hosts' file. Except the
bootlinux.yml and guestfs.yml playbooks, all playbooks run either on
localhost or remote targets (the previous 'all' definition). Therefore,
all playbooks have been converted to use 'hosts: baseline:dev'. For
the bootlinux.yml playbook, 'all' is kept and the control of host
execution is done via the --limit argument. It was found that only
the linux-clone-9p target runs the bootlinux playbook in the localhost
while the rest of linux-* targets run the playbook in all the remotes
(baseline:dev). For guestfs.yml, a combination of --limit + delegate_to
is needed for the reason explained above: to iterate on the targets
(baseline:dev) but delegate certain tags to the controller node with
delegate_to.
In addition, in order to help me debug this change, I found it
convenient to print the Makefile target name being run before the
command. This allows to be more explicit in verbose mode (V=1) when a
playbook is run (or any subsequent command in the target). And makes it
easier to discover which target the ansible-playbook command belongs to
when debugging playbook execution. To clarify, V=1 already prints the
command but not the Makefile target. The command output behaviour will
be a bit different as it is today as the command itself will be printed
in one line, instead of multiple.
Series has been tested here:
v1:
https://github.com/linux-kdevops/kdevops/actions/runs/14773869477
v3:
https://github.com/linux-kdevops/kdevops/actions/runs/14846101950
v4:
https://github.com/linux-kdevops/kdevops/actions/runs/16033723055
v5:
https://github.com/linux-kdevops/kdevops/actions/runs/16506085205
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
Changes in v5:
- Rebase on top of main as of 2025-07-24
- Update the new mmtests and stead_state Makefiles accordingly
- Test gitr and nfstest workflows with nfsd enabled
- Test pynfs workflow with iscsi service
- Fix spelling reported by Chuck
- Fix Ansible WARNING when generating ansible.cfg reported by Chuck.
Revert to specify inventory and target. After all, we can't leverage the
inventory in ansible.cfg as it's not generated yet
- Replace hosts field baseline:dev with iscsi in playbooks/iscsi.yml and
do the same for kdc, krb5 and nfsd, smbd playbooks. This also allows to
remove --limit from their ansible-playbook incantations
- Fix duplicate name field in playbooks/nfstest.yml
- Fix workflows that depend on nfsd, iscsi, smbd, kdc, krb5 guests by
introducing a new group "service", and use it for bringup operations and
SSH wait in $KDEVOPS_PROVISIONED_SSH (.provisioned_once_ssh) target.
Reported by Chuck
- Link to v4: https://lore.kernel.org/r/20250702-ansible_cfg_inventory-v4-0-67a54babd404@samsung.com
Changes in v4:
- Add trailers (from Luis)
- Rebase on top of main
- Link to v3: https://lore.kernel.org/r/20250505-ansible_cfg_inventory-v3-0-a153d93c35c4@samsung.com
Changes in v3:
- Fix LIMIT_HOSTS. When HOSTS="host1" was used, the --limit replacement
did not work anymore because of the quotes where not needed when using
long form arguments
- Fix bootlinux-local limit in linux target.
- Replace all:!localhost with baseline:dev as suggested by Luis. This
allows to include localhost as part of the baseline and/or dev groups
for baremetal workflows
- Allow to configure the ansible.cfg location. This requires to export
the ANSIBLE_CONFIG. This also enables sandboxing
- Fix debug mode when ansible.cfg is created (command was not printed
because of double @)
- Add back KDEVOPS_HOSTS as cli option. KDEVOPS_HOSTS was not part of
the cli before but it was allowed to be overwritten at command line
time. This allows to be explicit and keeps backwards compatibility with
the variable
- Extend ANSIBLE_CFG_FILE help as per Chuck's suggestion
- Move ANSIBLE_CFG_FILE location in Kconfig and place it after
SET_BY_CLI options
- Remove crash_watchdog.py inventory arguments (Reported by Luis)
- Remove inventory arguments from docs, READMEs and remaining Makefiles
- Move ueh_hosts hunk to fix undefined variable in patch "gen_hosts:
templates: add localhost to all hosts"
- Rename CONFIG_KDEVOPS_ANSIBLE_INVENTORY_FILE to CONFIG_ANSIBLE_CFG_INVENTORY
in scripts/lib.sh and kconfigs/Kconfig.ansible_provisioning
- Update cover letter reasoning and commit messages for better clarity
- Link to v2: https://lore.kernel.org/r/20250502-ansible_cfg_inventory-v2-0-d3c19ff4aa6e@samsung.com
Changes in v2:
- Update ANSIBLE_CFG_INVENTORY help description as per Chuck suggestion
- Add docs/kdevops-ansible-configuration.md for extensive module
documentation
- Include fix to avoid generating always the ansible.cfg and hosts
files. Reported by Chuck
The same commit change also includes support to change the ansible.cfg
path.
- Link to v1: https://lore.kernel.org/r/20250501-ansible_cfg_inventory-v1-0-c568bbaa3502@samsung.com
---
Daniel Gomez (12):
playbooks: fix playbook name for all hosts plays
playbooks: fix playbook name for localhost plays
Makefile: use long form of limit argument for clarity
Makefile: print target when debug
.github/workflows/fstests.yml: enable make verbosity
ansible_cfg: add inventory support
gen_hosts: add service group to inventory templates
gen_hosts: templates: include localhost in the all group
Makefile: use inventory from ansible.cfg
ansible_cfg: add support to change ansible.cfg file location
docs: ansible_cfg: add documentation
build.Makefile: fix verbosity of clean target
.github/workflows/fstests.yml | 16 ++--
MAINTAINERS | 2 +-
Makefile | 41 +++++----
Makefile.btrfs_progs | 4 +-
Makefile.build_qemu | 12 +--
Makefile.hypervisor-tunings | 3 +-
Makefile.kdevops | 19 ++--
Makefile.linux-mirror | 6 +-
Makefile.postfix | 3 +-
docs/kdevops-ansible-configuration.md | 102 +++++++++++++++++++++
docs/kdevops-terraform.md | 2 +-
kconfigs/Kconfig.ansible_cfg | 46 ++++++++++
kconfigs/Kconfig.ansible_provisioning | 8 +-
playbooks/blktests.yml | 3 +-
playbooks/bootlinux.yml | 3 +-
playbooks/build_qemu.yml | 3 +-
playbooks/common.yml | 3 +-
playbooks/create_data_partition.yml | 3 +-
playbooks/cxl.yml | 3 +-
playbooks/devconfig.yml | 3 +-
playbooks/fstests.yml | 6 +-
playbooks/gen-pci-kconfig.yml | 3 +-
playbooks/gen_hosts.yml | 3 +-
playbooks/gen_nodes.yml | 3 +-
playbooks/gen_tfvars.yml | 3 +-
playbooks/gitr.yml | 3 +-
playbooks/hypervisor-tuning.yml | 3 +-
playbooks/install-menuconfig-deps.yml | 3 +-
playbooks/install_systemd_journal_remote.yml | 3 +-
playbooks/install_systemd_timesyncd.yml | 3 +-
playbooks/install_terraform.yml | 3 +-
playbooks/install_vagrant_boxes.yml | 3 +-
playbooks/iscsi.yml | 3 +-
playbooks/kdc.yml | 3 +-
playbooks/kdevops_archive.yml | 3 +-
playbooks/krb5.yml | 3 +-
playbooks/ktls.yml | 3 +-
playbooks/libvirt_pcie_passthrough.yml | 3 +-
playbooks/libvirt_storage_pool_create.yml | 3 +-
playbooks/libvirt_user.yml | 3 +-
playbooks/linux-mirror.yml | 3 +-
playbooks/ltp.yml | 3 +-
playbooks/nfsd.yml | 3 +-
playbooks/nfstest.yml | 3 +-
playbooks/pkg.yml | 3 +-
playbooks/postfix_relay_host.yml | 3 +-
playbooks/pynfs.yml | 3 +-
playbooks/reboot-limit.yml | 3 +-
playbooks/roles/ansible_cfg/tasks/main.yml | 3 +-
.../roles/ansible_cfg/templates/ansible.cfg.j2 | 1 +
playbooks/roles/bootlinux/README.md | 12 +--
playbooks/roles/common/README.md | 2 +-
playbooks/roles/devconfig/README.md | 2 +-
playbooks/roles/gen_hosts/defaults/main.yml | 1 -
playbooks/roles/gen_hosts/tasks/main.yml | 54 +++++------
playbooks/roles/gen_hosts/templates/blktests.j2 | 1 +
playbooks/roles/gen_hosts/templates/cxl.j2 | 1 +
playbooks/roles/gen_hosts/templates/fstests.j2 | 16 ++++
playbooks/roles/gen_hosts/templates/gitr.j2 | 10 ++
playbooks/roles/gen_hosts/templates/hosts.j2 | 11 +++
playbooks/roles/gen_hosts/templates/ltp.j2 | 1 +
playbooks/roles/gen_hosts/templates/nfstest.j2 | 10 ++
playbooks/roles/gen_hosts/templates/pynfs.j2 | 8 ++
playbooks/roles/gen_hosts/templates/selftests.j2 | 1 +
playbooks/roles/gen_hosts/templates/sysbench.j2 | 1 +
playbooks/roles/guestfs/tasks/main.yml | 6 ++
playbooks/roles/libvirt_user/README.md | 4 +-
playbooks/roles/pkg/README.md | 2 +-
playbooks/roles/update_etc_hosts/tasks/main.yml | 2 +-
playbooks/rxe.yml | 3 +-
playbooks/selftests.yml | 3 +-
playbooks/siw.yml | 3 +-
playbooks/smbd.yml | 3 +-
playbooks/sysbench.yml | 3 +-
playbooks/terraform.yml | 4 +-
playbooks/update_etc_hosts.yml | 3 +-
playbooks/update_ssh_config_guestfs.yml | 3 +-
playbooks/update_ssh_config_vagrant.yml | 3 +-
scripts/archive.Makefile | 3 +-
scripts/build.Makefile | 2 +-
scripts/devconfig.Makefile | 8 +-
scripts/dynamic-pci-kconfig.Makefile | 3 +-
scripts/firstconfig.Makefile | 5 +-
scripts/gen-hosts.Makefile | 1 -
scripts/guestfs.Makefile | 19 ++--
scripts/install-menuconfig-deps.Makefile | 3 +-
scripts/iscsi.Makefile | 1 -
scripts/journal-server.Makefile | 23 +++--
scripts/kotd.Makefile | 16 ++--
scripts/krb5.Makefile | 2 -
scripts/ktls.Makefile | 1 -
scripts/lib.sh | 2 +-
scripts/nfsd.Makefile | 1 -
scripts/provision.Makefile | 5 +-
scripts/rdma.Makefile | 2 -
scripts/smbd.Makefile | 1 -
scripts/systemd-timesync.Makefile | 8 +-
scripts/terraform.Makefile | 6 +-
scripts/update_etc_hosts.Makefile | 2 +-
scripts/vagrant.Makefile | 10 +-
scripts/workflows/lib/crash.py | 4 +-
workflows/blktests/Makefile | 20 ++--
workflows/common/Makefile | 2 +-
workflows/cxl/Makefile | 14 +--
workflows/demos/reboot-limit/Makefile | 32 ++++---
workflows/fstests/Makefile | 40 +++++---
workflows/gitr/Makefile | 8 +-
workflows/linux/Makefile | 60 +++++++-----
workflows/ltp/Makefile | 8 +-
workflows/mmtests/Makefile | 12 +--
workflows/nfstest/Makefile | 8 +-
workflows/pynfs/Makefile | 12 +--
workflows/selftests/Makefile | 11 ++-
workflows/steady_state/Makefile | 8 +-
workflows/sysbench/Makefile | 12 +--
115 files changed, 601 insertions(+), 323 deletions(-)
---
base-commit: df5f66ca52a8dd0794c4c0ea72c1068643a18279
change-id: 20250430-ansible_cfg_inventory-7955944ce8ff
Best regards,
--
Daniel Gomez <da.gomez@samsung.com>
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v5 01/12] playbooks: fix playbook name for all hosts plays
2025-07-24 19:36 [PATCH v5 00/12] Define Ansible inventory in the Ansible Configuration file Daniel Gomez
@ 2025-07-24 19:36 ` Daniel Gomez
2025-07-24 19:36 ` [PATCH v5 02/12] playbooks: fix playbook name for localhost plays Daniel Gomez
` (12 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: Daniel Gomez @ 2025-07-24 19:36 UTC (permalink / raw)
To: Luis Chamberlain, Chuck Lever; +Cc: kdevops, Daniel Gomez, Daniel Gomez
From: Daniel Gomez <da.gomez@samsung.com>
Fix name rule by naming all the playbooks that run in all hosts.
https://ansible.readthedocs.io/projects/lint/rules/name/
Reviewed-by: Luis Chamberlain <mcgrof@kernel.org>
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
playbooks/blktests.yml | 3 ++-
playbooks/bootlinux.yml | 3 ++-
playbooks/common.yml | 3 ++-
playbooks/create_data_partition.yml | 3 ++-
playbooks/cxl.yml | 3 ++-
playbooks/devconfig.yml | 3 ++-
playbooks/fstests.yml | 3 ++-
playbooks/gitr.yml | 3 ++-
playbooks/iscsi.yml | 3 ++-
playbooks/kdc.yml | 3 ++-
playbooks/krb5.yml | 3 ++-
playbooks/ktls.yml | 3 ++-
playbooks/ltp.yml | 3 ++-
playbooks/nfsd.yml | 3 ++-
playbooks/nfstest.yml | 3 ++-
playbooks/pkg.yml | 3 ++-
playbooks/pynfs.yml | 3 ++-
playbooks/reboot-limit.yml | 3 ++-
playbooks/rxe.yml | 3 ++-
playbooks/selftests.yml | 3 ++-
playbooks/siw.yml | 3 ++-
playbooks/smbd.yml | 3 ++-
playbooks/sysbench.yml | 3 ++-
playbooks/terraform.yml | 1 +
playbooks/update_etc_hosts.yml | 3 ++-
25 files changed, 49 insertions(+), 24 deletions(-)
diff --git a/playbooks/blktests.yml b/playbooks/blktests.yml
index 99732af..db58d43 100644
--- a/playbooks/blktests.yml
+++ b/playbooks/blktests.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: Configure and run the block layer testing workflow
+ hosts: all
roles:
- role: blktests
diff --git a/playbooks/bootlinux.yml b/playbooks/bootlinux.yml
index 418bbed..676469d 100644
--- a/playbooks/bootlinux.yml
+++ b/playbooks/bootlinux.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: bootlinux
+ hosts: all
roles:
- role: bootlinux
diff --git a/playbooks/common.yml b/playbooks/common.yml
index 48485e3..d49e7d0 100644
--- a/playbooks/common.yml
+++ b/playbooks/common.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: Common tasks
+ hosts: all
roles:
- role: common
diff --git a/playbooks/create_data_partition.yml b/playbooks/create_data_partition.yml
index fe7890b..fa92567 100644
--- a/playbooks/create_data_partition.yml
+++ b/playbooks/create_data_partition.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: Create Directory Data Path (e.g. /data partition)
+ hosts: all
roles:
- role: create_data_partition
diff --git a/playbooks/cxl.yml b/playbooks/cxl.yml
index 8763859..65277d4 100644
--- a/playbooks/cxl.yml
+++ b/playbooks/cxl.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: cxl
+ hosts: all
roles:
- role: cxl
diff --git a/playbooks/devconfig.yml b/playbooks/devconfig.yml
index 871651d..b4a7393 100644
--- a/playbooks/devconfig.yml
+++ b/playbooks/devconfig.yml
@@ -1,5 +1,6 @@
---
-- hosts: all
+- name: Configure developer environment on target systems
+ hosts: all
gather_facts: no
roles:
- role: devconfig
diff --git a/playbooks/fstests.yml b/playbooks/fstests.yml
index de8cb25..191c807 100644
--- a/playbooks/fstests.yml
+++ b/playbooks/fstests.yml
@@ -3,6 +3,7 @@
roles:
- role: fstests_prep_localhost
-- hosts: all
+- name: Configure and run the filesystem testing suite workflow
+ hosts: all
roles:
- role: fstests
diff --git a/playbooks/gitr.yml b/playbooks/gitr.yml
index 4c3e3ba..c210cc3 100644
--- a/playbooks/gitr.yml
+++ b/playbooks/gitr.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: Git regresion filesystem test workflow
+ hosts: all
roles:
- role: gitr
diff --git a/playbooks/iscsi.yml b/playbooks/iscsi.yml
index cea4000..fb1e7a2 100644
--- a/playbooks/iscsi.yml
+++ b/playbooks/iscsi.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: Provision and manage iSCSI targets and LUNs for shared block storage
+ hosts: all
roles:
- role: iscsi
diff --git a/playbooks/kdc.yml b/playbooks/kdc.yml
index 66709db..cab5265 100644
--- a/playbooks/kdc.yml
+++ b/playbooks/kdc.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: Setup MIT Kerberos V5 KDC with realm and admin settings
+ hosts: all
roles:
- role: kdc
diff --git a/playbooks/krb5.yml b/playbooks/krb5.yml
index 52ca3ef..a79475f 100644
--- a/playbooks/krb5.yml
+++ b/playbooks/krb5.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: Setup MIT Kerberos V5 KDC and configure NFS clients for Kerberos authentication
+ hosts: all
roles:
- role: krb5
diff --git a/playbooks/ktls.yml b/playbooks/ktls.yml
index 8b7044c..b07a161 100644
--- a/playbooks/ktls.yml
+++ b/playbooks/ktls.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: Provision self-signed TLS certs and enable tlshd for kernel TLS testing (ktls)
+ hosts: all
roles:
- role: ktls
diff --git a/playbooks/ltp.yml b/playbooks/ltp.yml
index 5921cef..d1e8835 100644
--- a/playbooks/ltp.yml
+++ b/playbooks/ltp.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: Configure and run the Linux Test Project (LTP) suite workflow
+ hosts: all
roles:
- role: ltp
diff --git a/playbooks/nfsd.yml b/playbooks/nfsd.yml
index 6c77358..b129300 100644
--- a/playbooks/nfsd.yml
+++ b/playbooks/nfsd.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: Set up and start the NFS server with configurable exports
+ hosts: all
roles:
- role: nfsd
diff --git a/playbooks/nfstest.yml b/playbooks/nfstest.yml
index d414091..5df62ff 100644
--- a/playbooks/nfstest.yml
+++ b/playbooks/nfstest.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: Configure and run the nfstest workflow for NFS testing
+ hosts: all
roles:
- role: nfstest
diff --git a/playbooks/pkg.yml b/playbooks/pkg.yml
index f9d3e62..d6718a1 100644
--- a/playbooks/pkg.yml
+++ b/playbooks/pkg.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: Package name wrapper
+ hosts: all
roles:
- role: pkg
diff --git a/playbooks/pynfs.yml b/playbooks/pynfs.yml
index ad5b3e2..1ce6cb7 100644
--- a/playbooks/pynfs.yml
+++ b/playbooks/pynfs.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: Configure and run pynfs testing workflow
+ hosts: all
roles:
- role: pynfs
diff --git a/playbooks/reboot-limit.yml b/playbooks/reboot-limit.yml
index 3793623..7cbaea0 100644
--- a/playbooks/reboot-limit.yml
+++ b/playbooks/reboot-limit.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: Configure and run the reboot-limit workflow
+ hosts: all
roles:
- role: reboot-limit
diff --git a/playbooks/rxe.yml b/playbooks/rxe.yml
index dc51c03..a5d058f 100644
--- a/playbooks/rxe.yml
+++ b/playbooks/rxe.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: Set up software-emulated RoCE RDMA over Ethernet (rxe) via udev
+ hosts: all
roles:
- role: rxe
diff --git a/playbooks/selftests.yml b/playbooks/selftests.yml
index 6f7d777..89bc824 100644
--- a/playbooks/selftests.yml
+++ b/playbooks/selftests.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: Configure and run Linux kernel selftests (kselftests)
+ hosts: all
roles:
- role: selftests
diff --git a/playbooks/siw.yml b/playbooks/siw.yml
index 5258a5a..e6b9d61 100644
--- a/playbooks/siw.yml
+++ b/playbooks/siw.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: Set up software-emulated iWARP RDMA over TCP/IP (siw) via udev
+ hosts: all
roles:
- role: siw
diff --git a/playbooks/smbd.yml b/playbooks/smbd.yml
index 47cd022..ec5176a 100644
--- a/playbooks/smbd.yml
+++ b/playbooks/smbd.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: Set up Samba server with shared volume and system integration
+ hosts: all
roles:
- role: smbd
diff --git a/playbooks/sysbench.yml b/playbooks/sysbench.yml
index 6102635..37d7824 100644
--- a/playbooks/sysbench.yml
+++ b/playbooks/sysbench.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: Configure and run the sysbench workflow
+ hosts: baseline:dev
roles:
- role: sysbench
diff --git a/playbooks/terraform.yml b/playbooks/terraform.yml
index 15872a6..9b5baed 100644
--- a/playbooks/terraform.yml
+++ b/playbooks/terraform.yml
@@ -1,5 +1,6 @@
---
- name: Provision target nodes with terraform
+ hosts: all
gather_facts: false
hosts: all
roles:
diff --git a/playbooks/update_etc_hosts.yml b/playbooks/update_etc_hosts.yml
index a0c2174..269f23c 100644
--- a/playbooks/update_etc_hosts.yml
+++ b/playbooks/update_etc_hosts.yml
@@ -1,5 +1,6 @@
---
-- hosts: all
+- name: Update target /etc/hosts with all targets and disable cloud-init
+ hosts: all
gather_facts: no
roles:
- role: update_etc_hosts
--
2.50.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v5 02/12] playbooks: fix playbook name for localhost plays
2025-07-24 19:36 [PATCH v5 00/12] Define Ansible inventory in the Ansible Configuration file Daniel Gomez
2025-07-24 19:36 ` [PATCH v5 01/12] playbooks: fix playbook name for all hosts plays Daniel Gomez
@ 2025-07-24 19:36 ` Daniel Gomez
2025-07-24 19:36 ` [PATCH v5 03/12] Makefile: use long form of limit argument for clarity Daniel Gomez
` (11 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: Daniel Gomez @ 2025-07-24 19:36 UTC (permalink / raw)
To: Luis Chamberlain, Chuck Lever; +Cc: kdevops, Daniel Gomez, Daniel Gomez
From: Daniel Gomez <da.gomez@samsung.com>
Fix name rule by naming all the playbooks that run in localhost.
https://ansible.readthedocs.io/projects/lint/rules/name/
Reviewed-by: Luis Chamberlain <mcgrof@kernel.org>
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
playbooks/build_qemu.yml | 3 ++-
playbooks/fstests.yml | 3 ++-
playbooks/gen-pci-kconfig.yml | 3 ++-
playbooks/gen_hosts.yml | 3 ++-
playbooks/gen_nodes.yml | 3 ++-
playbooks/gen_tfvars.yml | 3 ++-
playbooks/hypervisor-tuning.yml | 3 ++-
| 3 ++-
playbooks/install_systemd_journal_remote.yml | 3 ++-
playbooks/install_systemd_timesyncd.yml | 3 ++-
playbooks/install_terraform.yml | 3 ++-
playbooks/install_vagrant_boxes.yml | 3 ++-
playbooks/kdevops_archive.yml | 3 ++-
playbooks/libvirt_pcie_passthrough.yml | 3 ++-
playbooks/libvirt_storage_pool_create.yml | 3 ++-
playbooks/libvirt_user.yml | 3 ++-
playbooks/linux-mirror.yml | 3 ++-
playbooks/postfix_relay_host.yml | 3 ++-
playbooks/update_ssh_config_guestfs.yml | 3 ++-
playbooks/update_ssh_config_vagrant.yml | 3 ++-
20 files changed, 40 insertions(+), 20 deletions(-)
diff --git a/playbooks/build_qemu.yml b/playbooks/build_qemu.yml
index d094c25..861647e 100644
--- a/playbooks/build_qemu.yml
+++ b/playbooks/build_qemu.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: Build and install QEMU
+ hosts: localhost
roles:
- role: build_qemu
diff --git a/playbooks/fstests.yml b/playbooks/fstests.yml
index 191c807..35a2122 100644
--- a/playbooks/fstests.yml
+++ b/playbooks/fstests.yml
@@ -1,5 +1,6 @@
---
-- hosts: localhost
+- name: Enable fstests JUnit XML result processing
+ hosts: localhost
roles:
- role: fstests_prep_localhost
diff --git a/playbooks/gen-pci-kconfig.yml b/playbooks/gen-pci-kconfig.yml
index a20aba7..7a4ce89 100644
--- a/playbooks/gen-pci-kconfig.yml
+++ b/playbooks/gen-pci-kconfig.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: Generate dynamic PCI-E passthrough Kconfig files for libvirt guests
+ hosts: localhost
roles:
- role: gen_pci_kconfig
diff --git a/playbooks/gen_hosts.yml b/playbooks/gen_hosts.yml
index 942b4f2..c6b3b73 100644
--- a/playbooks/gen_hosts.yml
+++ b/playbooks/gen_hosts.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: Generate Ansible inventory for guests (hosts)
+ hosts: localhost
roles:
- role: gen_hosts
diff --git a/playbooks/gen_nodes.yml b/playbooks/gen_nodes.yml
index c298b34..39a259f 100644
--- a/playbooks/gen_nodes.yml
+++ b/playbooks/gen_nodes.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: Generate guests node configuration (libvirt domain XML)
+ hosts: localhost
roles:
- role: gen_nodes
diff --git a/playbooks/gen_tfvars.yml b/playbooks/gen_tfvars.yml
index 5ff85af..9d75c86 100644
--- a/playbooks/gen_tfvars.yml
+++ b/playbooks/gen_tfvars.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: Generate Terraform variables file (terraform/terraform.tfvars)
+ hosts: localhost
roles:
- role: gen_tfvars
diff --git a/playbooks/hypervisor-tuning.yml b/playbooks/hypervisor-tuning.yml
index 29f735d..c295b87 100644
--- a/playbooks/hypervisor-tuning.yml
+++ b/playbooks/hypervisor-tuning.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: Apply hypervisor tuning settings (KSM and Zswap)
+ hosts: localhost
roles:
- role: hypervisor-tuning
--git a/playbooks/install-menuconfig-deps.yml b/playbooks/install-menuconfig-deps.yml
index 845b287..be1c643 100644
--- a/playbooks/install-menuconfig-deps.yml
+++ b/playbooks/install-menuconfig-deps.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: Install dependencies for Kconfig menuconfig
+ hosts: localhost
roles:
- role: install-menuconfig-deps
diff --git a/playbooks/install_systemd_journal_remote.yml b/playbooks/install_systemd_journal_remote.yml
index 46014d2..5cc0870 100644
--- a/playbooks/install_systemd_journal_remote.yml
+++ b/playbooks/install_systemd_journal_remote.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: Install and configure systemd-journal-remote for remote journal collection
+ hosts: localhost
roles:
- role: install_systemd_journal_remote
diff --git a/playbooks/install_systemd_timesyncd.yml b/playbooks/install_systemd_timesyncd.yml
index ed1a31e..7590645 100644
--- a/playbooks/install_systemd_timesyncd.yml
+++ b/playbooks/install_systemd_timesyncd.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: Install and configure systemd-timesyncd for NTP time sync
+ hosts: localhost
roles:
- role: install_systemd_timesyncd
diff --git a/playbooks/install_terraform.yml b/playbooks/install_terraform.yml
index 1426378..5a5fa72 100644
--- a/playbooks/install_terraform.yml
+++ b/playbooks/install_terraform.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: Install Terraform
+ hosts: localhost
roles:
- role: install_terraform
diff --git a/playbooks/install_vagrant_boxes.yml b/playbooks/install_vagrant_boxes.yml
index 8cffb36..01c0728 100644
--- a/playbooks/install_vagrant_boxes.yml
+++ b/playbooks/install_vagrant_boxes.yml
@@ -1,5 +1,6 @@
---
-- hosts: localhost
+- name: install_vagrant_boxes
+ hosts: localhost
tasks:
- include_role:
name: install_vagrant_boxes
diff --git a/playbooks/kdevops_archive.yml b/playbooks/kdevops_archive.yml
index a61f794..cbf8dea 100644
--- a/playbooks/kdevops_archive.yml
+++ b/playbooks/kdevops_archive.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: Archive and push kdevops CI test results
+ hosts: localhost
roles:
- role: kdevops_archive
diff --git a/playbooks/libvirt_pcie_passthrough.yml b/playbooks/libvirt_pcie_passthrough.yml
index 39d5c8e..f128bdd 100644
--- a/playbooks/libvirt_pcie_passthrough.yml
+++ b/playbooks/libvirt_pcie_passthrough.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: Configure PCIe passthrough for libvirt VMs
+ hosts: localhost
roles:
- role: libvirt_pcie_passthrough
diff --git a/playbooks/libvirt_storage_pool_create.yml b/playbooks/libvirt_storage_pool_create.yml
index f127f5e..8f0d7b0 100644
--- a/playbooks/libvirt_storage_pool_create.yml
+++ b/playbooks/libvirt_storage_pool_create.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: Create and configure a Libvirt storage pool
+ hosts: localhost
roles:
- role: libvirt_storage_pool_create
diff --git a/playbooks/libvirt_user.yml b/playbooks/libvirt_user.yml
index 6e3889c..7923b05 100644
--- a/playbooks/libvirt_user.yml
+++ b/playbooks/libvirt_user.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: Allow user to run libvirt guests
+ hosts: localhost
roles:
- role: libvirt_user
diff --git a/playbooks/linux-mirror.yml b/playbooks/linux-mirror.yml
index 0808ebc..2af0f89 100644
--- a/playbooks/linux-mirror.yml
+++ b/playbooks/linux-mirror.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: Install Git mirrors using systemd.timer
+ hosts: localhost
roles:
- role: linux-mirror
diff --git a/playbooks/postfix_relay_host.yml b/playbooks/postfix_relay_host.yml
index b04079b..c7b3427 100644
--- a/playbooks/postfix_relay_host.yml
+++ b/playbooks/postfix_relay_host.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: Configure and enable Postfix with a custom relay host
+ hosts: localhost
roles:
- role: postfix_relay_host
diff --git a/playbooks/update_ssh_config_guestfs.yml b/playbooks/update_ssh_config_guestfs.yml
index 346b902..56faed2 100644
--- a/playbooks/update_ssh_config_guestfs.yml
+++ b/playbooks/update_ssh_config_guestfs.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: Update OpenSSH client configuration file (libguestfs)
+ hosts: localhost
roles:
- role: update_ssh_config_guestfs
diff --git a/playbooks/update_ssh_config_vagrant.yml b/playbooks/update_ssh_config_vagrant.yml
index c8d0e99..7a2162e 100644
--- a/playbooks/update_ssh_config_vagrant.yml
+++ b/playbooks/update_ssh_config_vagrant.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: update_ssh_config_vagrant
+ hosts: localhost
roles:
- role: update_ssh_config_vagrant
--
2.50.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v5 03/12] Makefile: use long form of limit argument for clarity
2025-07-24 19:36 [PATCH v5 00/12] Define Ansible inventory in the Ansible Configuration file Daniel Gomez
2025-07-24 19:36 ` [PATCH v5 01/12] playbooks: fix playbook name for all hosts plays Daniel Gomez
2025-07-24 19:36 ` [PATCH v5 02/12] playbooks: fix playbook name for localhost plays Daniel Gomez
@ 2025-07-24 19:36 ` Daniel Gomez
2025-07-24 19:36 ` [PATCH v5 04/12] Makefile: print target when debug Daniel Gomez
` (10 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: Daniel Gomez @ 2025-07-24 19:36 UTC (permalink / raw)
To: Luis Chamberlain, Chuck Lever; +Cc: kdevops, Daniel Gomez, Daniel Gomez
From: Daniel Gomez <da.gomez@samsung.com>
Replace the short -l argument option with the more explicit --limit in
the Makefile for ansible-playbook runs. This improves readability and
makes the purpose of the flag clearer.
Remove the quotes when using the long form to properly expand
LIMIT_HOSTS with the long form.
Reviewed-by: Luis Chamberlain <mcgrof@kernel.org>
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index c6a5c32..baa4a5c 100644
--- a/Makefile
+++ b/Makefile
@@ -62,7 +62,7 @@ include scripts/ansible.Makefile
LIMIT_HOSTS :=
ifneq (,$(HOSTS))
-LIMIT_HOSTS := '-l $(subst ${space},$(comma),$(HOSTS))'
+LIMIT_HOSTS := --limit $(subst ${space},$(comma),$(HOSTS))
endif
export LIMIT_TESTS :=
--
2.50.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v5 04/12] Makefile: print target when debug
2025-07-24 19:36 [PATCH v5 00/12] Define Ansible inventory in the Ansible Configuration file Daniel Gomez
` (2 preceding siblings ...)
2025-07-24 19:36 ` [PATCH v5 03/12] Makefile: use long form of limit argument for clarity Daniel Gomez
@ 2025-07-24 19:36 ` Daniel Gomez
2025-07-24 19:36 ` [PATCH v5 05/12] .github/workflows/fstests.yml: enable make verbosity Daniel Gomez
` (9 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: Daniel Gomez @ 2025-07-24 19:36 UTC (permalink / raw)
To: Luis Chamberlain, Chuck Lever; +Cc: kdevops, Daniel Gomez, Daniel Gomez
From: Daniel Gomez <da.gomez@samsung.com>
When debugging with V=1, print also the Makefile target before the
command.
This allows to specify the target as well as keep verbosity of the
command being executed. The only limitation is that commands are printed
in one line.
Example:
make V=1
==> [ansible.cfg]
+ ansible-playbook playbooks/ansible_cfg.yml --extra-vars=@./.extra_vars_auto.yaml
[WARNING]: You are running the development version of Ansible. You
should only run Ansible from "devel" if you are modifying the Ansible
engine, or trying out features under development. This is a rapidly
changing source of code and can become unstable at any point.
PLAY 1: ANSIBLE CONFIGURATION ROLE
task 1. [started TASK: Gathering Facts on localhost]
task 2. [started TASK: ansible_cfg : Import optional extra_args file on localhost]
task 3. [started TASK: ansible_cfg : Generate kdevops ansible.cfg on localhost]
==> [inventory]
+ ansible-playbook playbooks/gen_hosts.yml --extra-vars=@./extra_vars.yaml
{...}
Before:
make V=1
[WARNING]: You are running the development version of Ansible. You
should only run Ansible from "devel" if you are modifying the Ansible
engine, or trying out features under development. This is a rapidly
changing source of code and can become unstable at any point.
PLAY 1: ANSIBLE CONFIGURATION ROLE
task 1. [started TASK: Gathering Facts on localhost]
task 2. [started TASK: ansible_cfg : Import optional extra_args file on localhost]
task 3. [started TASK: ansible_cfg : Generate kdevops ansible.cfg on localhost]
ansible-playbook \
playbooks/gen_hosts.yml \
--extra-vars=@./extra_vars.yaml
[WARNING]: You are running the development version of Ansible. You
should only run Ansible from "devel" if you are modifying the Ansible
engine, or trying out features under development. This is a rapidly
changing source of code and can become unstable at any point.
PLAY 1: GEN_HOSTS
task 1. [started TASK: Gathering Facts on localhost]
{...}
Reviewed-by: Luis Chamberlain <mcgrof@kernel.org>
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
Makefile | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index baa4a5c..5369428 100644
--- a/Makefile
+++ b/Makefile
@@ -38,8 +38,12 @@ KDEVOPS_DEPCHECK = .kdevops.depcheck
PHONY += kconfig-help-menu
+define print_target
+ echo "==> [$1]"
+endef
+
ifeq ($(V),1)
-export Q=
+export Q=@$(call print_target,$@) && set -x &&
export NQ=true
else
export Q=@
--
2.50.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v5 05/12] .github/workflows/fstests.yml: enable make verbosity
2025-07-24 19:36 [PATCH v5 00/12] Define Ansible inventory in the Ansible Configuration file Daniel Gomez
` (3 preceding siblings ...)
2025-07-24 19:36 ` [PATCH v5 04/12] Makefile: print target when debug Daniel Gomez
@ 2025-07-24 19:36 ` Daniel Gomez
2025-07-24 19:36 ` [PATCH v5 06/12] ansible_cfg: add inventory support Daniel Gomez
` (8 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: Daniel Gomez @ 2025-07-24 19:36 UTC (permalink / raw)
To: Luis Chamberlain, Chuck Lever; +Cc: kdevops, Daniel Gomez, Daniel Gomez
From: Daniel Gomez <da.gomez@samsung.com>
This prints the commands as well as the Makefile target being run.
Reviewed-by: Luis Chamberlain <mcgrof@kernel.org>
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
.github/workflows/fstests.yml | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/.github/workflows/fstests.yml b/.github/workflows/fstests.yml
index 5988a86..e13978c 100644
--- a/.github/workflows/fstests.yml
+++ b/.github/workflows/fstests.yml
@@ -45,23 +45,23 @@ jobs:
- name: Run kdevops make
run: |
- make -j$(nproc)
+ make V=1 -j$(nproc)
- name: Run kdevops make bringup
run: |
- make bringup
+ make V=1 bringup
- name: Build linux and boot test nodes on test kernel
run: |
- make linux
+ make V=1 linux
- name: Build fstests
run: |
- make fstests
+ make V=1 fstests
- name: Run just one fstest to verify we tests and test collection works
run: |
- make fstests-baseline TESTS=generic/003
+ make V=1 fstests-baseline TESTS=generic/003
echo "ok" > ci.result
find workflows/fstests/results/last-run -name xunit_results.txt -type f -exec cat {} \; > ci.commit_extra || true
if ! grep -E "failures, [1-9]|errors, [1-9]" ci.commit_extra; then
@@ -71,7 +71,7 @@ jobs:
- name: Get systemd journal files
if: always() # This ensures the step runs even if previous steps failed
run: |
- make journal-dump
+ make V=1 journal-dump
- name: Start SSH Agent
if: always() # Ensure this step runs even if previous steps failed
@@ -82,7 +82,7 @@ jobs:
- name: Build our kdevops archive results
if: always() # This ensures the step runs even if previous steps failed
run: |
- make ci-archive
+ make V=1 ci-archive
- name: Upload our kdevops results archive
if: always() # This ensures the step runs even if previous steps failed
@@ -95,4 +95,4 @@ jobs:
- name: Run kdevops make destroy
if: always() # This ensures the step runs even if previous steps failed
run: |
- make destroy
+ make V=1 destroy
--
2.50.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v5 06/12] ansible_cfg: add inventory support
2025-07-24 19:36 [PATCH v5 00/12] Define Ansible inventory in the Ansible Configuration file Daniel Gomez
` (4 preceding siblings ...)
2025-07-24 19:36 ` [PATCH v5 05/12] .github/workflows/fstests.yml: enable make verbosity Daniel Gomez
@ 2025-07-24 19:36 ` Daniel Gomez
2025-07-24 19:36 ` [PATCH v5 07/12] gen_hosts: add service group to inventory templates Daniel Gomez
` (7 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: Daniel Gomez @ 2025-07-24 19:36 UTC (permalink / raw)
To: Luis Chamberlain, Chuck Lever; +Cc: kdevops, Daniel Gomez, Daniel Gomez
From: Daniel Gomez <da.gomez@samsung.com>
Allow to configure the inventory file (currently via KDEVOPS_HOSTFILE
and KDEVOPS_HOSTS) via ansible.cfg.
The Ansible inventory file [1][2][3] is used in all kdevops/Makefile
ansible-playbook calls. Enable this configuration to the global Ansible
configuration file (ansible.cfg) and allow to define the inventory via
Kconfig. This will simplify the playbook invocation.
[1]
https://docs.ansible.com/ansible/latest/reference_appendices/
config.html#default-host-list
[2]
https://docs.ansible.com/ansible/latest/cli/
ansible-inventory.html#cmdoption-ansible-inventory-i
[3]
https://docs.ansible.com/ansible/latest/reference_appendices/
config.html#envvar-ANSIBLE_INVENTORY
This has no effect yet, as all ansible-playbook calls currently specify
the --inventory (-i) argument. The next commits will clean up the code
and allow the inventory defined in ansible.cfg to take effect.
Keep the ANSIBLE_CFG_ prefix to refer to the kdevops Ansible
configuration module. This isn't part of the Ansible config file, but
rather of the kdevops module that configures Ansible.
Reviewed-by: Luis Chamberlain <mcgrof@kernel.org>
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
kconfigs/Kconfig.ansible_cfg | 18 ++++++++++++++++++
kconfigs/Kconfig.ansible_provisioning | 8 +-------
playbooks/roles/ansible_cfg/templates/ansible.cfg.j2 | 1 +
scripts/lib.sh | 2 +-
4 files changed, 21 insertions(+), 8 deletions(-)
diff --git a/kconfigs/Kconfig.ansible_cfg b/kconfigs/Kconfig.ansible_cfg
index a8b6cef..735160c 100644
--- a/kconfigs/Kconfig.ansible_cfg
+++ b/kconfigs/Kconfig.ansible_cfg
@@ -224,6 +224,24 @@ config ANSIBLE_CFG_TASK_DEBUGGER
https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_debugger.html#id10
+config ANSIBLE_CFG_INVENTORY
+ string "Ansible inventory sources"
+ output yaml
+ default "$(TOPDIR_PATH)/hosts"
+ help
+ Comma-separated list of Ansible inventory source paths.
+
+ This is mapped to the [defaults] section of the Ansible configuration
+ file (ansible.cfg):
+ inventory = <value>
+
+ Each entry can be a path to an inventory file or directory,
+ such as:
+ /path/to/hosts,/path/to/inventory_dir
+
+ For more details, refer to the Ansible documentation:
+ https://docs.ansible.com/ansible/latest/reference_appendices/config.html#default-host-list
+
if DISTRO_OPENSUSE
config ANSIBLE_CFG_RECONNECTION_RETRIES
diff --git a/kconfigs/Kconfig.ansible_provisioning b/kconfigs/Kconfig.ansible_provisioning
index 63f0430..194b0b3 100644
--- a/kconfigs/Kconfig.ansible_provisioning
+++ b/kconfigs/Kconfig.ansible_provisioning
@@ -13,7 +13,7 @@ config KDEVOPS_ANSIBLE_PROVISION_ENABLE
help
If enabled we will provision the target hosts with ansible as a last
last step after bringup. This playbook used to provision is
- configurable refer to CONFIG_KDEVOPS_ANSIBLE_INVENTORY_FILE.
+ configurable refer to CONFIG_ANSIBLE_CFG_INVENTORY.
if KDEVOPS_ANSIBLE_PROVISION_ENABLE
@@ -98,12 +98,6 @@ config KDEVOPS_DEVCONFIG_SYSTEMD_WATCHDOG_TIMEOUT_KEXEC
endif # KDEVOPS_DEVCONFIG_ENABLE_SYSTEMD_WATCHDOG
-config KDEVOPS_ANSIBLE_INVENTORY_FILE
- string "The ansible inventory file to use"
- default $(shell, scripts/append-makefile-vars.sh $(KDEVOPS_HOSTFILE))
- help
- The file to use for the ansible inventory.
-
config HAVE_DISTRO_PREFERS_ANSIBLE_PYTHON2
bool
default n
diff --git a/playbooks/roles/ansible_cfg/templates/ansible.cfg.j2 b/playbooks/roles/ansible_cfg/templates/ansible.cfg.j2
index f71033b..e968bb3 100644
--- a/playbooks/roles/ansible_cfg/templates/ansible.cfg.j2
+++ b/playbooks/roles/ansible_cfg/templates/ansible.cfg.j2
@@ -11,6 +11,7 @@ show_task_path_on_failure = {{ ansible_cfg_callback_plugin_show_task_path_on_fai
interpreter_python = {{ ansible_cfg_interpreter_python_string }}
forks = {{ ansible_cfg_forks }}
enable_task_debugger = {{ ansible_cfg_task_debugger }}
+inventory = {{ ansible_cfg_inventory }}
{% if ansible_facts['distribution'] == 'openSUSE' %}
[connection]
retries = {{ ansible_cfg_reconnection_retries }}
diff --git a/scripts/lib.sh b/scripts/lib.sh
index 936e3ce..0419fd3 100644
--- a/scripts/lib.sh
+++ b/scripts/lib.sh
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: copyleft-next-0.3.1
PLAYBOOKDIR=$CONFIG_KDEVOPS_PLAYBOOK_DIR
-INVENTORY=$CONFIG_KDEVOPS_ANSIBLE_INVENTORY_FILE
+INVENTORY=$CONFIG_ANSIBLE_CFG_INVENTORY
export KDEVOPSHOSTSPREFIX=$CONFIG_KDEVOPS_HOSTS_PREFIX
MANUAL_KILL_NOTICE_FILE="${TOPDIR}/.running_kill_pids.sh"
--
2.50.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v5 07/12] gen_hosts: add service group to inventory templates
2025-07-24 19:36 [PATCH v5 00/12] Define Ansible inventory in the Ansible Configuration file Daniel Gomez
` (5 preceding siblings ...)
2025-07-24 19:36 ` [PATCH v5 06/12] ansible_cfg: add inventory support Daniel Gomez
@ 2025-07-24 19:36 ` Daniel Gomez
2025-07-24 19:51 ` Luis Chamberlain
2025-07-24 20:02 ` Chuck Lever
2025-07-24 19:36 ` [PATCH v5 08/12] gen_hosts: templates: include localhost in the all group Daniel Gomez
` (6 subsequent siblings)
13 siblings, 2 replies; 20+ messages in thread
From: Daniel Gomez @ 2025-07-24 19:36 UTC (permalink / raw)
To: Luis Chamberlain, Chuck Lever; +Cc: kdevops, Daniel Gomez, Daniel Gomez
From: Daniel Gomez <da.gomez@samsung.com>
Introduce a new 'service' group in all inventory templates that includes
service hosts (iscsi, nfsd, smbd, kdc). This provides a convenient way
to target all service hosts collectively for operations like guestfs
bringup and SSH configuration.
The service group includes:
- iscsi hosts (when kdevops_enable_iscsi is enabled)
- nfsd hosts (when kdevops_nfsd_enable is enabled)
- smbd hosts (when kdevops_smbd_enable is enabled)
- kdc hosts (when kdevops_krb5_enable is enabled)
This addresses issues where operations limited to 'baseline:dev' would
miss required service hosts, causing workflow failures.
Generated-by: Claude AI
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
playbooks/roles/gen_hosts/templates/fstests.j2 | 15 +++++++++++++++
playbooks/roles/gen_hosts/templates/gitr.j2 | 9 +++++++++
playbooks/roles/gen_hosts/templates/hosts.j2 | 9 +++++++++
playbooks/roles/gen_hosts/templates/nfstest.j2 | 9 +++++++++
playbooks/roles/gen_hosts/templates/pynfs.j2 | 7 +++++++
5 files changed, 49 insertions(+)
diff --git a/playbooks/roles/gen_hosts/templates/fstests.j2 b/playbooks/roles/gen_hosts/templates/fstests.j2
index abcdafd..a489c12 100644
--- a/playbooks/roles/gen_hosts/templates/fstests.j2
+++ b/playbooks/roles/gen_hosts/templates/fstests.j2
@@ -69,3 +69,18 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
[krb5:vars]
ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
+[service]
+{% if kdevops_enable_iscsi %}
+{{ kdevops_hosts_prefix }}-iscsi
+{% endif %}
+{% if kdevops_nfsd_enable %}
+{{ kdevops_hosts_prefix }}-nfsd
+{% endif %}
+{% if kdevops_smbd_enable %}
+{{ kdevops_hosts_prefix }}-smbd
+{% endif %}
+{% if kdevops_krb5_enable %}
+{{ kdevops_hosts_prefix }}-kdc
+{% endif %}
+[service:vars]
+ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
diff --git a/playbooks/roles/gen_hosts/templates/gitr.j2 b/playbooks/roles/gen_hosts/templates/gitr.j2
index b8f393d..41aee2b 100644
--- a/playbooks/roles/gen_hosts/templates/gitr.j2
+++ b/playbooks/roles/gen_hosts/templates/gitr.j2
@@ -37,3 +37,12 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
[nfsd:vars]
ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
+[service]
+{% if kdevops_enable_iscsi %}
+{{ kdevops_hosts_prefix }}-iscsi
+{% endif %}
+{% if kdevops_nfsd_enable %}
+{{ kdevops_hosts_prefix }}-nfsd
+{% endif %}
+[service:vars]
+ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
diff --git a/playbooks/roles/gen_hosts/templates/hosts.j2 b/playbooks/roles/gen_hosts/templates/hosts.j2
index 5032f59..639f5a4 100644
--- a/playbooks/roles/gen_hosts/templates/hosts.j2
+++ b/playbooks/roles/gen_hosts/templates/hosts.j2
@@ -44,4 +44,13 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
[nfsd:vars]
ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
+[service]
+{% if kdevops_enable_iscsi %}
+{{ kdevops_hosts_prefix }}-iscsi
+{% endif %}
+{% if kdevops_nfsd_enable %}
+{{ kdevops_hosts_prefix }}-nfsd
+{% endif %}
+[service:vars]
+ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
diff --git a/playbooks/roles/gen_hosts/templates/nfstest.j2 b/playbooks/roles/gen_hosts/templates/nfstest.j2
index 6a0d6cd..fb47471 100644
--- a/playbooks/roles/gen_hosts/templates/nfstest.j2
+++ b/playbooks/roles/gen_hosts/templates/nfstest.j2
@@ -37,3 +37,12 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
[nfsd:vars]
ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
+[service]
+{% if kdevops_enable_iscsi %}
+{{ kdevops_hosts_prefix }}-iscsi
+{% endif %}
+{% if kdevops_nfsd_enable %}
+{{ kdevops_hosts_prefix }}-nfsd
+{% endif %}
+[service:vars]
+ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
diff --git a/playbooks/roles/gen_hosts/templates/pynfs.j2 b/playbooks/roles/gen_hosts/templates/pynfs.j2
index c018c54..cac6fc6 100644
--- a/playbooks/roles/gen_hosts/templates/pynfs.j2
+++ b/playbooks/roles/gen_hosts/templates/pynfs.j2
@@ -22,3 +22,10 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{{ kdevops_hosts_prefix }}-nfsd
[nfsd:vars]
ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+[service]
+{% if kdevops_enable_iscsi %}
+{{ kdevops_hosts_prefix }}-iscsi
+{% endif %}
+{{ kdevops_hosts_prefix }}-nfsd
+[service:vars]
+ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
--
2.50.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v5 08/12] gen_hosts: templates: include localhost in the all group
2025-07-24 19:36 [PATCH v5 00/12] Define Ansible inventory in the Ansible Configuration file Daniel Gomez
` (6 preceding siblings ...)
2025-07-24 19:36 ` [PATCH v5 07/12] gen_hosts: add service group to inventory templates Daniel Gomez
@ 2025-07-24 19:36 ` Daniel Gomez
2025-07-24 19:36 ` [PATCH v5 09/12] Makefile: use inventory from ansible.cfg Daniel Gomez
` (5 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: Daniel Gomez @ 2025-07-24 19:36 UTC (permalink / raw)
To: Luis Chamberlain, Chuck Lever; +Cc: kdevops, Daniel Gomez, Daniel Gomez
From: Daniel Gomez <da.gomez@samsung.com>
This change redefines the Ansible inventory 'all' pattern to include the
controller host (localhost), which was previously excluded.
Until now, the generated inventory (typically at $TOPDIR_PATH/hosts)
only listed the target nodes, omitting the controller. As a result,
playbooks that needed to operate on the controller node had to
explicitly define localhost as a target with a specific connection.
By including localhost in the inventory, we simplify Ansible usage (in
the following commits) by removing the need to pass localhost-specific
overrides on the command line. Kdevops can now let Ansible consistently
operate on all relevant nodes defined in the inventory.
Playbooks are also updated to limit the hosts pattern to baseline and
dev groups instead of using all, ensuring that tasks are correctly
scoped as expected by kdevops.
Finally, update ueh_hosts in the update_etc_hosts role to include only
the hosts targeted in the current play, rather than all hosts in the
inventory. This avoids the error below when the inventory includes
localhost in the all group:
"The task includes an option with an undefined variable. The error
was: 'ansible.vars.hostvars.HostVarsVars object' has no attribute
'ansible_all_ipv4_addresses'. 'ansible.vars.hostvars.HostVarsVars
object' has no attribute 'ansible_all_ipv4_addresses'"
[1]
https://docs.ansible.com/ansible/latest/inventory_guide/
intro_patterns.html#common-patterns
Reviewed-by: Luis Chamberlain <mcgrof@kernel.org>
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
playbooks/blktests.yml | 2 +-
playbooks/common.yml | 2 +-
playbooks/create_data_partition.yml | 2 +-
playbooks/cxl.yml | 2 +-
playbooks/devconfig.yml | 2 +-
playbooks/fstests.yml | 2 +-
playbooks/gitr.yml | 2 +-
playbooks/iscsi.yml | 2 +-
playbooks/kdc.yml | 2 +-
playbooks/krb5.yml | 2 +-
playbooks/ktls.yml | 2 +-
playbooks/ltp.yml | 2 +-
playbooks/nfsd.yml | 2 +-
playbooks/nfstest.yml | 2 +-
playbooks/pkg.yml | 2 +-
playbooks/pynfs.yml | 2 +-
playbooks/reboot-limit.yml | 2 +-
playbooks/roles/common/README.md | 2 +-
playbooks/roles/devconfig/README.md | 2 +-
playbooks/roles/gen_hosts/templates/blktests.j2 | 1 +
playbooks/roles/gen_hosts/templates/cxl.j2 | 1 +
playbooks/roles/gen_hosts/templates/fstests.j2 | 1 +
playbooks/roles/gen_hosts/templates/gitr.j2 | 1 +
playbooks/roles/gen_hosts/templates/hosts.j2 | 2 ++
playbooks/roles/gen_hosts/templates/ltp.j2 | 1 +
playbooks/roles/gen_hosts/templates/nfstest.j2 | 1 +
playbooks/roles/gen_hosts/templates/pynfs.j2 | 1 +
playbooks/roles/gen_hosts/templates/selftests.j2 | 1 +
playbooks/roles/gen_hosts/templates/sysbench.j2 | 1 +
playbooks/roles/pkg/README.md | 2 +-
playbooks/roles/update_etc_hosts/tasks/main.yml | 2 +-
playbooks/rxe.yml | 2 +-
playbooks/selftests.yml | 2 +-
playbooks/siw.yml | 2 +-
playbooks/smbd.yml | 2 +-
playbooks/terraform.yml | 5 ++---
playbooks/update_etc_hosts.yml | 2 +-
scripts/devconfig.Makefile | 4 ++--
scripts/guestfs.Makefile | 2 +-
workflows/linux/Makefile | 2 +-
40 files changed, 43 insertions(+), 33 deletions(-)
diff --git a/playbooks/blktests.yml b/playbooks/blktests.yml
index db58d43..9285e8e 100644
--- a/playbooks/blktests.yml
+++ b/playbooks/blktests.yml
@@ -1,5 +1,5 @@
---
- name: Configure and run the block layer testing workflow
- hosts: all
+ hosts: baseline:dev
roles:
- role: blktests
diff --git a/playbooks/common.yml b/playbooks/common.yml
index d49e7d0..45b106d 100644
--- a/playbooks/common.yml
+++ b/playbooks/common.yml
@@ -1,5 +1,5 @@
---
- name: Common tasks
- hosts: all
+ hosts: baseline:dev
roles:
- role: common
diff --git a/playbooks/create_data_partition.yml b/playbooks/create_data_partition.yml
index fa92567..b180cf4 100644
--- a/playbooks/create_data_partition.yml
+++ b/playbooks/create_data_partition.yml
@@ -1,5 +1,5 @@
---
- name: Create Directory Data Path (e.g. /data partition)
- hosts: all
+ hosts: baseline:dev
roles:
- role: create_data_partition
diff --git a/playbooks/cxl.yml b/playbooks/cxl.yml
index 65277d4..8880ee7 100644
--- a/playbooks/cxl.yml
+++ b/playbooks/cxl.yml
@@ -1,5 +1,5 @@
---
- name: cxl
- hosts: all
+ hosts: baseline:dev
roles:
- role: cxl
diff --git a/playbooks/devconfig.yml b/playbooks/devconfig.yml
index b4a7393..b0b9d42 100644
--- a/playbooks/devconfig.yml
+++ b/playbooks/devconfig.yml
@@ -1,6 +1,6 @@
---
- name: Configure developer environment on target systems
- hosts: all
+ hosts: baseline:dev
gather_facts: no
roles:
- role: devconfig
diff --git a/playbooks/fstests.yml b/playbooks/fstests.yml
index 35a2122..193ecdc 100644
--- a/playbooks/fstests.yml
+++ b/playbooks/fstests.yml
@@ -5,6 +5,6 @@
- role: fstests_prep_localhost
- name: Configure and run the filesystem testing suite workflow
- hosts: all
+ hosts: baseline:dev
roles:
- role: fstests
diff --git a/playbooks/gitr.yml b/playbooks/gitr.yml
index c210cc3..a7464e5 100644
--- a/playbooks/gitr.yml
+++ b/playbooks/gitr.yml
@@ -1,5 +1,5 @@
---
- name: Git regresion filesystem test workflow
- hosts: all
+ hosts: baseline:dev
roles:
- role: gitr
diff --git a/playbooks/iscsi.yml b/playbooks/iscsi.yml
index fb1e7a2..5bcfb73 100644
--- a/playbooks/iscsi.yml
+++ b/playbooks/iscsi.yml
@@ -1,5 +1,5 @@
---
- name: Provision and manage iSCSI targets and LUNs for shared block storage
- hosts: all
+ hosts: iscsi
roles:
- role: iscsi
diff --git a/playbooks/kdc.yml b/playbooks/kdc.yml
index cab5265..35b576c 100644
--- a/playbooks/kdc.yml
+++ b/playbooks/kdc.yml
@@ -1,5 +1,5 @@
---
- name: Setup MIT Kerberos V5 KDC with realm and admin settings
- hosts: all
+ hosts: kdc
roles:
- role: kdc
diff --git a/playbooks/krb5.yml b/playbooks/krb5.yml
index a79475f..96d41a5 100644
--- a/playbooks/krb5.yml
+++ b/playbooks/krb5.yml
@@ -1,5 +1,5 @@
---
- name: Setup MIT Kerberos V5 KDC and configure NFS clients for Kerberos authentication
- hosts: all
+ hosts: krb5
roles:
- role: krb5
diff --git a/playbooks/ktls.yml b/playbooks/ktls.yml
index b07a161..8c3d42b 100644
--- a/playbooks/ktls.yml
+++ b/playbooks/ktls.yml
@@ -1,5 +1,5 @@
---
- name: Provision self-signed TLS certs and enable tlshd for kernel TLS testing (ktls)
- hosts: all
+ hosts: baseline:dev
roles:
- role: ktls
diff --git a/playbooks/ltp.yml b/playbooks/ltp.yml
index d1e8835..7c00488 100644
--- a/playbooks/ltp.yml
+++ b/playbooks/ltp.yml
@@ -1,5 +1,5 @@
---
- name: Configure and run the Linux Test Project (LTP) suite workflow
- hosts: all
+ hosts: baseline:dev
roles:
- role: ltp
diff --git a/playbooks/nfsd.yml b/playbooks/nfsd.yml
index b129300..feed988 100644
--- a/playbooks/nfsd.yml
+++ b/playbooks/nfsd.yml
@@ -1,5 +1,5 @@
---
- name: Set up and start the NFS server with configurable exports
- hosts: all
+ hosts: nfsd
roles:
- role: nfsd
diff --git a/playbooks/nfstest.yml b/playbooks/nfstest.yml
index 5df62ff..e77273b 100644
--- a/playbooks/nfstest.yml
+++ b/playbooks/nfstest.yml
@@ -1,5 +1,5 @@
---
- name: Configure and run the nfstest workflow for NFS testing
- hosts: all
+ hosts: baseline:dev
roles:
- role: nfstest
diff --git a/playbooks/pkg.yml b/playbooks/pkg.yml
index d6718a1..4d8aa5f 100644
--- a/playbooks/pkg.yml
+++ b/playbooks/pkg.yml
@@ -1,5 +1,5 @@
---
- name: Package name wrapper
- hosts: all
+ hosts: baseline:dev
roles:
- role: pkg
diff --git a/playbooks/pynfs.yml b/playbooks/pynfs.yml
index 1ce6cb7..421ee77 100644
--- a/playbooks/pynfs.yml
+++ b/playbooks/pynfs.yml
@@ -1,5 +1,5 @@
---
- name: Configure and run pynfs testing workflow
- hosts: all
+ hosts: baseline:dev
roles:
- role: pynfs
diff --git a/playbooks/reboot-limit.yml b/playbooks/reboot-limit.yml
index 7cbaea0..96b8cb4 100644
--- a/playbooks/reboot-limit.yml
+++ b/playbooks/reboot-limit.yml
@@ -1,5 +1,5 @@
---
- name: Configure and run the reboot-limit workflow
- hosts: all
+ hosts: baseline:dev
roles:
- role: reboot-limit
diff --git a/playbooks/roles/common/README.md b/playbooks/roles/common/README.md
index 2b0084c..c5b0bbd 100644
--- a/playbooks/roles/common/README.md
+++ b/playbooks/roles/common/README.md
@@ -27,7 +27,7 @@ Below is an example playbook task:
```
---
-- hosts: all
+- hosts: baseline:dev
roles:
- role: common
```
diff --git a/playbooks/roles/devconfig/README.md b/playbooks/roles/devconfig/README.md
index fa35539..10e4b21 100644
--- a/playbooks/roles/devconfig/README.md
+++ b/playbooks/roles/devconfig/README.md
@@ -58,7 +58,7 @@ Below is an example playbook task:
```
---
-- hosts: all
+- hosts: baseline:dev
roles:
- role: devconfig
```
diff --git a/playbooks/roles/gen_hosts/templates/blktests.j2 b/playbooks/roles/gen_hosts/templates/blktests.j2
index 1c2f8f7..5bf50ac 100644
--- a/playbooks/roles/gen_hosts/templates/blktests.j2
+++ b/playbooks/roles/gen_hosts/templates/blktests.j2
@@ -1,4 +1,5 @@
[all]
+localhost ansible_connection=local
{% for test_type in blktests_enabled_test_types %}
{{ kdevops_host_prefix }}-{{ test_type }}
{% if kdevops_baseline_and_dev %}
diff --git a/playbooks/roles/gen_hosts/templates/cxl.j2 b/playbooks/roles/gen_hosts/templates/cxl.j2
index 1b3034e..64bec45 100644
--- a/playbooks/roles/gen_hosts/templates/cxl.j2
+++ b/playbooks/roles/gen_hosts/templates/cxl.j2
@@ -1,4 +1,5 @@
[all]
+localhost ansible_connection=local
{{ kdevops_hosts_prefix }}
{% if kdevops_baseline_and_dev == True %}
{{ kdevops_hosts_prefix }}-dev
diff --git a/playbooks/roles/gen_hosts/templates/fstests.j2 b/playbooks/roles/gen_hosts/templates/fstests.j2
index a489c12..ac086c6 100644
--- a/playbooks/roles/gen_hosts/templates/fstests.j2
+++ b/playbooks/roles/gen_hosts/templates/fstests.j2
@@ -1,4 +1,5 @@
[all]
+localhost ansible_connection=local
{% for s in fstests_enabled_test_types %}
{{ kdevops_host_prefix }}-{{ s }}
{% if kdevops_baseline_and_dev %}
diff --git a/playbooks/roles/gen_hosts/templates/gitr.j2 b/playbooks/roles/gen_hosts/templates/gitr.j2
index 41aee2b..7f9094d 100644
--- a/playbooks/roles/gen_hosts/templates/gitr.j2
+++ b/playbooks/roles/gen_hosts/templates/gitr.j2
@@ -1,4 +1,5 @@
[all]
+localhost ansible_connection=local
{% for s in gitr_enabled_hosts %}
{{ kdevops_host_prefix }}-{{ s }}
{% if kdevops_baseline_and_dev %}
diff --git a/playbooks/roles/gen_hosts/templates/hosts.j2 b/playbooks/roles/gen_hosts/templates/hosts.j2
index 639f5a4..ca6adcf 100644
--- a/playbooks/roles/gen_hosts/templates/hosts.j2
+++ b/playbooks/roles/gen_hosts/templates/hosts.j2
@@ -7,9 +7,11 @@ its own jinja2 template file and define its own ansible task for its generation.
#}
{% if kdevops_workflows_dedicated_workflow %}
[all]
+localhost ansible_connection=local
write-your-own-template-for-your-workflow-and-task
{% else %}
[all]
+localhost ansible_connection=local
{{ kdevops_hosts_prefix }}
{% if kdevops_baseline_and_dev == True %}
{{ kdevops_hosts_prefix }}-dev
diff --git a/playbooks/roles/gen_hosts/templates/ltp.j2 b/playbooks/roles/gen_hosts/templates/ltp.j2
index 5b6ad94..828fd63 100644
--- a/playbooks/roles/gen_hosts/templates/ltp.j2
+++ b/playbooks/roles/gen_hosts/templates/ltp.j2
@@ -1,4 +1,5 @@
[all]
+localhost ansible_connection=local
{% for s in ltp_enabled_hosts %}
{{ kdevops_host_prefix }}-{{ s }}
{% if kdevops_baseline_and_dev %}
diff --git a/playbooks/roles/gen_hosts/templates/nfstest.j2 b/playbooks/roles/gen_hosts/templates/nfstest.j2
index fb47471..e427ac3 100644
--- a/playbooks/roles/gen_hosts/templates/nfstest.j2
+++ b/playbooks/roles/gen_hosts/templates/nfstest.j2
@@ -1,4 +1,5 @@
[all]
+localhost ansible_connection=local
{% for s in nfstest_enabled_hosts %}
{{ kdevops_host_prefix }}-{{ s }}
{% if kdevops_baseline_and_dev %}
diff --git a/playbooks/roles/gen_hosts/templates/pynfs.j2 b/playbooks/roles/gen_hosts/templates/pynfs.j2
index cac6fc6..85c87da 100644
--- a/playbooks/roles/gen_hosts/templates/pynfs.j2
+++ b/playbooks/roles/gen_hosts/templates/pynfs.j2
@@ -1,4 +1,5 @@
[all]
+localhost ansible_connection=local
{{ kdevops_hosts_prefix }}-nfsd
[all:vars]
ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
diff --git a/playbooks/roles/gen_hosts/templates/selftests.j2 b/playbooks/roles/gen_hosts/templates/selftests.j2
index 085b733..e505bbf 100644
--- a/playbooks/roles/gen_hosts/templates/selftests.j2
+++ b/playbooks/roles/gen_hosts/templates/selftests.j2
@@ -1,4 +1,5 @@
[all]
+localhost ansible_connection=local
{% for test_type in selftests_enabled_test_types %}
{{ kdevops_host_prefix }}-{{ test_type }}
{% if kdevops_baseline_and_dev %}
diff --git a/playbooks/roles/gen_hosts/templates/sysbench.j2 b/playbooks/roles/gen_hosts/templates/sysbench.j2
index 76503ab..107eebc 100644
--- a/playbooks/roles/gen_hosts/templates/sysbench.j2
+++ b/playbooks/roles/gen_hosts/templates/sysbench.j2
@@ -1,4 +1,5 @@
[all]
+localhost ansible_connection=local
{% for test_type in enabled_sysbench_tests %}
{{ kdevops_host_prefix }}-{{ test_type }}
{% if kdevops_baseline_and_dev %}
diff --git a/playbooks/roles/pkg/README.md b/playbooks/roles/pkg/README.md
index a3309d5..620d9ef 100644
--- a/playbooks/roles/pkg/README.md
+++ b/playbooks/roles/pkg/README.md
@@ -22,7 +22,7 @@ Below is an example playbook task:
```
---
-- hosts: all
+- hosts: baseline:dev
roles:
- role: dpkg
```
diff --git a/playbooks/roles/update_etc_hosts/tasks/main.yml b/playbooks/roles/update_etc_hosts/tasks/main.yml
index 4c1307f..2b9af91 100644
--- a/playbooks/roles/update_etc_hosts/tasks/main.yml
+++ b/playbooks/roles/update_etc_hosts/tasks/main.yml
@@ -26,7 +26,7 @@
- name: Build list of hosts
set_fact:
- ueh_hosts: "{{ groups.all | flatten(levels=1) | reject('eq', inventory_hostname) }}"
+ ueh_hosts: "{{ ansible_play_hosts_all | difference([inventory_hostname]) }}"
- debug:
var: ueh_hosts
diff --git a/playbooks/rxe.yml b/playbooks/rxe.yml
index a5d058f..03afedc 100644
--- a/playbooks/rxe.yml
+++ b/playbooks/rxe.yml
@@ -1,5 +1,5 @@
---
- name: Set up software-emulated RoCE RDMA over Ethernet (rxe) via udev
- hosts: all
+ hosts: baseline:dev
roles:
- role: rxe
diff --git a/playbooks/selftests.yml b/playbooks/selftests.yml
index 89bc824..8f3ba68 100644
--- a/playbooks/selftests.yml
+++ b/playbooks/selftests.yml
@@ -1,5 +1,5 @@
---
- name: Configure and run Linux kernel selftests (kselftests)
- hosts: all
+ hosts: baseline:dev
roles:
- role: selftests
diff --git a/playbooks/siw.yml b/playbooks/siw.yml
index e6b9d61..7803827 100644
--- a/playbooks/siw.yml
+++ b/playbooks/siw.yml
@@ -1,5 +1,5 @@
---
- name: Set up software-emulated iWARP RDMA over TCP/IP (siw) via udev
- hosts: all
+ hosts: baseline:dev
roles:
- role: siw
diff --git a/playbooks/smbd.yml b/playbooks/smbd.yml
index ec5176a..a85e99d 100644
--- a/playbooks/smbd.yml
+++ b/playbooks/smbd.yml
@@ -1,5 +1,5 @@
---
- name: Set up Samba server with shared volume and system integration
- hosts: all
+ hosts: smbd
roles:
- role: smbd
diff --git a/playbooks/terraform.yml b/playbooks/terraform.yml
index 9b5baed..1495296 100644
--- a/playbooks/terraform.yml
+++ b/playbooks/terraform.yml
@@ -1,7 +1,6 @@
---
-- name: Provision target nodes with terraform
- hosts: all
+- name: Manage infrastructure lifecycle and SSH access with Terraform
+ hosts: baseline:dev
gather_facts: false
- hosts: all
roles:
- role: terraform
diff --git a/playbooks/update_etc_hosts.yml b/playbooks/update_etc_hosts.yml
index 269f23c..90cf708 100644
--- a/playbooks/update_etc_hosts.yml
+++ b/playbooks/update_etc_hosts.yml
@@ -1,6 +1,6 @@
---
- name: Update target /etc/hosts with all targets and disable cloud-init
- hosts: all
+ hosts: baseline:dev
gather_facts: no
roles:
- role: update_etc_hosts
diff --git a/scripts/devconfig.Makefile b/scripts/devconfig.Makefile
index bdff088..0e5e58c 100644
--- a/scripts/devconfig.Makefile
+++ b/scripts/devconfig.Makefile
@@ -57,7 +57,7 @@ extend-extra-args-devconfig:
PHONY += devconfig
devconfig: $(KDEVOPS_NODES)
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) -i $(KDEVOPS_HOSTFILE) \
- -l all,nfsd \
+ --limit 'baseline:dev:nfsd' \
$(KDEVOPS_PLAYBOOKS_DIR)/devconfig.yml \
--extra-vars="$(BOOTLINUX_ARGS)" \
--extra-vars '{ kdevops_cli_install: True }' \
@@ -72,7 +72,7 @@ ifeq (y,$(CONFIG_SYSCTL_TUNING))
PHONY += sysctl-tunings
sysctl-tunings: $(KDEVOPS_NODES)
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) -i $(KDEVOPS_HOSTFILE) \
- -l all,nfsd \
+ --limit 'baseline:dev:nfsd' \
$(KDEVOPS_PLAYBOOKS_DIR)/devconfig.yml \
--extra-vars="$(BOOTLINUX_ARGS)" $(LIMIT_HOSTS) --tags vars,sysctl
diff --git a/scripts/guestfs.Makefile b/scripts/guestfs.Makefile
index cad1bb3..8bae2ae 100644
--- a/scripts/guestfs.Makefile
+++ b/scripts/guestfs.Makefile
@@ -64,7 +64,7 @@ $(KDEVOPS_PROVISIONED_SSH):
LIBVIRT_DEFAULT_URI=$(CONFIG_LIBVIRT_URI) \
$(TOPDIR)/scripts/update_ssh_config_guestfs.py; \
fi
- $(Q)ansible $(ANSIBLE_VERBOSE) -i hosts all -m wait_for_connection
+ $(Q)ansible $(ANSIBLE_VERBOSE) -i hosts 'baseline:dev' -m wait_for_connection
$(Q)touch $(KDEVOPS_PROVISIONED_SSH)
install_libguestfs:
diff --git a/workflows/linux/Makefile b/workflows/linux/Makefile
index f68c090..1e92264 100644
--- a/workflows/linux/Makefile
+++ b/workflows/linux/Makefile
@@ -154,7 +154,7 @@ linux-reboot:
PHONY += uname
uname:
- $(Q)ansible all -i hosts -b -m command -a "uname -r" -o \
+ $(Q)ansible 'baseline:dev' -i hosts -b -m command -a "uname -r" -o \
| awk -F '|' '{gsub(/^ +| +$$/, "", $$2); printf "%-30s %s\n", $$1, $$4}' \
| sed -e 's|(stdout)||'
--
2.50.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v5 09/12] Makefile: use inventory from ansible.cfg
2025-07-24 19:36 [PATCH v5 00/12] Define Ansible inventory in the Ansible Configuration file Daniel Gomez
` (7 preceding siblings ...)
2025-07-24 19:36 ` [PATCH v5 08/12] gen_hosts: templates: include localhost in the all group Daniel Gomez
@ 2025-07-24 19:36 ` Daniel Gomez
2025-07-24 19:36 ` [PATCH v5 10/12] ansible_cfg: add support to change ansible.cfg file location Daniel Gomez
` (4 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: Daniel Gomez @ 2025-07-24 19:36 UTC (permalink / raw)
To: Luis Chamberlain, Chuck Lever; +Cc: kdevops, Daniel Gomez, Daniel Gomez
From: Daniel Gomez <da.gomez@samsung.com>
We can define the Ansible inventory via ansible.cfg inventory variable.
Make use of it and remove all the -i/--inventory arguments in all the
ansible-playbook calls.
Target selection is now handled in two ways:
At the playbook level (hosts: <targets>): E.g. using patterns like all,
baseline:dev (which targets all nodes except localhost), or localhost.
While all!localhost could be used as an alternative to baseline:dev,
it is not semantically correct for kdevops. In addition, all!localhost
would prevent playbooks from running on the controller host that also
functions as a target node.
So, most of the playbooks have been converted from all -> baseline:dev.
Except for bootlinux playbook, where all is kept as the playbook runs
limited to localhost in linux-clone-9p and limited to baseline:dev for
the rest of the targets.
- At command line: ansible-playbook --limit 'SUBSET': In order to
control the hosts when the playbook defines something wider (such as the
case where we want to run only on baseline targets for example), we use
the ansible-playbook argument --limit.
Use --limits argument with the proper syntax [1]: with quotes and colons
(for list of targets or group of targets).
Ensure the target string in CONFIG_ANSIBLE_CFG_INVENTORY excludes the
double quotes to avoid the ANSIBLE_CFG_INVENTORY target to be triggered
every time.
Also, include support for KDEVOPS_HOSTS via _SET_BY_CLI to keep
compatibility with the KDEVOPS_HOSTS Makefile variable that could be
overwritten by the user when make was invoked to define a specific hosts
file.
[1]
https://docs.ansible.com/ansible/latest/inventory_guide/intro_patterns.html
Reviewed-by: Luis Chamberlain <mcgrof@kernel.org>
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
Makefile | 18 ++++-----
Makefile.btrfs_progs | 4 +-
Makefile.build_qemu | 12 ++----
Makefile.hypervisor-tunings | 3 +-
Makefile.kdevops | 19 +++------
Makefile.linux-mirror | 6 +--
Makefile.postfix | 3 +-
docs/kdevops-terraform.md | 2 +-
kconfigs/Kconfig.ansible_cfg | 7 +++-
playbooks/roles/bootlinux/README.md | 12 +++---
playbooks/roles/gen_hosts/defaults/main.yml | 1 -
playbooks/roles/gen_hosts/tasks/main.yml | 54 +++++++++++++-------------
playbooks/roles/guestfs/tasks/main.yml | 6 +++
playbooks/roles/libvirt_user/README.md | 4 +-
scripts/archive.Makefile | 3 +-
scripts/devconfig.Makefile | 4 +-
scripts/dynamic-pci-kconfig.Makefile | 3 +-
scripts/firstconfig.Makefile | 5 ++-
scripts/gen-hosts.Makefile | 1 -
scripts/guestfs.Makefile | 19 +++++----
| 3 +-
scripts/iscsi.Makefile | 1 -
scripts/journal-server.Makefile | 23 ++++++-----
scripts/kotd.Makefile | 16 +++++---
scripts/krb5.Makefile | 2 -
scripts/ktls.Makefile | 1 -
scripts/nfsd.Makefile | 1 -
scripts/provision.Makefile | 5 ++-
scripts/rdma.Makefile | 2 -
scripts/smbd.Makefile | 1 -
scripts/systemd-timesync.Makefile | 8 ++--
scripts/terraform.Makefile | 6 +--
scripts/update_etc_hosts.Makefile | 2 +-
scripts/vagrant.Makefile | 10 ++---
scripts/workflows/lib/crash.py | 4 +-
workflows/blktests/Makefile | 20 ++++++----
workflows/common/Makefile | 2 +-
workflows/cxl/Makefile | 14 +++----
workflows/demos/reboot-limit/Makefile | 32 +++++++++------
workflows/fstests/Makefile | 40 +++++++++++--------
workflows/gitr/Makefile | 8 ++--
workflows/linux/Makefile | 60 +++++++++++++++++++----------
workflows/ltp/Makefile | 8 ++--
workflows/mmtests/Makefile | 12 +++---
workflows/nfstest/Makefile | 8 ++--
workflows/pynfs/Makefile | 12 +++---
workflows/selftests/Makefile | 11 ++++--
workflows/steady_state/Makefile | 8 ++--
workflows/sysbench/Makefile | 12 +++---
49 files changed, 273 insertions(+), 245 deletions(-)
diff --git a/Makefile b/Makefile
index 5369428..2bd3da4 100644
--- a/Makefile
+++ b/Makefile
@@ -15,7 +15,6 @@ include Makefile.subtrees
export KDEVOPS_EXTRA_VARS ?= extra_vars.yaml
export KDEVOPS_PLAYBOOKS_DIR := playbooks
-export KDEVOPS_HOSTFILE ?= hosts
export KDEVOPS_NODES :=
export KDEVOPS_VAGRANT :=
export PYTHONUNBUFFERED=1
@@ -27,6 +26,8 @@ KDEVOPS_NODES_ROLE_TEMPLATE_DIR := $(KDEVOPS_PLAYBOOKS_DIR)/roles/gen_nodes/tem
export KDEVOPS_NODES_TEMPLATE :=
export KDEVOPS_MRPROPER :=
+ANSIBLE_INVENTORY_FILE := $(shell echo $(CONFIG_ANSIBLE_CFG_INVENTORY) | tr --delete '"')
+
KDEVOPS_INSTALL_TARGETS :=
DEFAULT_DEPS :=
@@ -79,8 +80,7 @@ CFLAGS += $(INCLUDES)
ANSIBLE_EXTRA_ARGS += kdevops_version='$(PROJECTRELEASE)'
-export KDEVOPS_HOSTS_TEMPLATE := $(KDEVOPS_HOSTFILE).j2
-export KDEVOPS_HOSTS := $(KDEVOPS_HOSTFILE)
+export KDEVOPS_HOSTS_TEMPLATE := hosts.j2
LOCAL_DEVELOPMENT_ARGS :=
ifeq (y,$(CONFIG_NEEDS_LOCAL_DEVELOPMENT_PATH))
@@ -226,17 +226,15 @@ ifneq (,$(KDEVOPS_BRING_UP_DEPS))
include scripts/bringup.Makefile
endif
-DEFAULT_DEPS += $(KDEVOPS_HOSTS)
-$(KDEVOPS_HOSTS): .config ansible.cfg $(KDEVOPS_HOSTS_TEMPLATE)
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \
- --inventory localhost, \
+DEFAULT_DEPS += $(ANSIBLE_INVENTORY_FILE)
+$(ANSIBLE_INVENTORY_FILE): .config ansible.cfg $(KDEVOPS_HOSTS_TEMPLATE)
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
$(KDEVOPS_PLAYBOOKS_DIR)/gen_hosts.yml \
--extra-vars=@./extra_vars.yaml
DEFAULT_DEPS += $(KDEVOPS_NODES)
$(KDEVOPS_NODES) $(KDEVOPS_VAGRANT): .config ansible.cfg $(KDEVOPS_NODES_TEMPLATE)
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \
- --inventory localhost, \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
$(KDEVOPS_PLAYBOOKS_DIR)/gen_nodes.yml \
--extra-vars=@./extra_vars.yaml
@@ -264,7 +262,7 @@ mrproper:
$(Q)rm -rf terraform/*/.terraform
$(Q)rm -f terraform/*/.terraform.lock.hcl
$(Q)rm -f $(KDEVOPS_NODES)
- $(Q)rm -f $(KDEVOPS_HOSTFILE) $(KDEVOPS_MRPROPER)
+ $(Q)rm -f $(ANSIBLE_CFG_INVENTORY) $(KDEVOPS_MRPROPER)
$(Q)rm -f .config .config.old extra_vars.yaml $(KCONFIG_YAMLCFG)
$(Q)rm -f ansible.cfg
$(Q)rm -f playbooks/secret.yml $(KDEVOPS_EXTRA_ADDON_DEST)
diff --git a/Makefile.btrfs_progs b/Makefile.btrfs_progs
index 73a1c95..9ccfafa 100644
--- a/Makefile.btrfs_progs
+++ b/Makefile.btrfs_progs
@@ -5,8 +5,8 @@ BTRFS_PROGS_SETUP_ARGS += btrfs_progs_build=True
PHONY += btrfs-progs
btrfs-progs: $(KDEVOPS_NODES)
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) -i \
- $(KDEVOPS_HOSTFILE) $(KDEVOPS_PLAYBOOKS_DIR)/btrfs-progs.yml \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
+ $(KDEVOPS_PLAYBOOKS_DIR)/btrfs-progs.yml \
--extra-vars=$(BTRFS_PROGS_SETUP_ARGS) $(LIMIT_HOSTS)
btrfs-progs-help-menu:
diff --git a/Makefile.build_qemu b/Makefile.build_qemu
index 72e1cba..2eac6e9 100644
--- a/Makefile.build_qemu
+++ b/Makefile.build_qemu
@@ -20,29 +20,25 @@ QEMU_BUILD_SETUP_ARGS += qemu_target="ppc64-softmmu"
endif
qemu: $(KDEVOPS_EXTRA_VARS)
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \
- --inventory localhost, \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
$(KDEVOPS_PLAYBOOKS_DIR)/build_qemu.yml \
--extra-vars=@./extra_vars.yaml
PHONY += qemu
qemu-install: $(KDEVOPS_EXTRA_VARS)
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \
- --inventory localhost, \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
$(KDEVOPS_PLAYBOOKS_DIR)/build_qemu.yml \
--extra-vars=@./extra_vars.yaml --tags vars,install
PHONY += qemu-install
qemu-configure: $(KDEVOPS_EXTRA_VARS)
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \
- --inventory localhost, \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
$(KDEVOPS_PLAYBOOKS_DIR)/build_qemu.yml \
--extra-vars=@./extra_vars.yaml --tags vars,configure
PHONY += qemu-configure
qemu-build: $(KDEVOPS_EXTRA_VARS)
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \
- --inventory localhost, \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
$(KDEVOPS_PLAYBOOKS_DIR)/build_qemu.yml \
--extra-vars=@./extra_vars.yaml --tags vars,build
PHONY += qemu-build
diff --git a/Makefile.hypervisor-tunings b/Makefile.hypervisor-tunings
index 39547c0..ff29b89 100644
--- a/Makefile.hypervisor-tunings
+++ b/Makefile.hypervisor-tunings
@@ -14,8 +14,7 @@ HYPERVISOR_TUNING_ARGS += hypervisor_tunning_zswap_max_pool_percent=$(ZSWAP_MAX_
endif
kdevops_hypervisor_tunning: $(KDEVOPS_EXTRA_VARS)
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \
- --inventory localhost, \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
$(KDEVOPS_PLAYBOOKS_DIR)/hypervisor-tuning.yml \
--extra-vars=@./extra_vars.yaml
PHONY += kdevops_hypervisor_tunning
diff --git a/Makefile.kdevops b/Makefile.kdevops
index 60d79a5..7a15631 100644
--- a/Makefile.kdevops
+++ b/Makefile.kdevops
@@ -2,26 +2,22 @@
# allow your project to define these and just include this file.
KDEVOPS_TERRAFORM_DIR ?= terraform
KDEVOPS_PLAYBOOKS_DIR ?= playbooks
-KDEVOPS_HOSTFILE ?= hosts
KDEVOPS_LOCAL_WORK :=
kdevops_all: kdevops_deps
PHONY := kdevops_all
kdevops_terraform_deps:
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \
- --inventory localhost, \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
$(KDEVOPS_PLAYBOOKS_DIR)/install_terraform.yml
PHONY += kdevops_terraform_deps
kdevops_install_libvirt:
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \
- --inventory localhost, \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
$(KDEVOPS_PLAYBOOKS_DIR)/libvirt_user.yml -e "skip_configuration=True"
kdevops_configure_libvirt:
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \
- --inventory localhost, \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
$(KDEVOPS_PLAYBOOKS_DIR)/libvirt_user.yml -e "skip_install=True" \
-e 'running_user=$(USER)'
@@ -33,23 +29,20 @@ PHONY += kdevops_vagrant_deps
KDEVOPS_VAGRANT_WORK := kdevops_vagrant_deps
kdevops_vagrant_boxes:
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \
- --inventory localhost, \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
$(KDEVOPS_PLAYBOOKS_DIR)/install_vagrant_boxes.yml
PHONY += kdevops_vagrant_boxes
KDEVOPS_VAGRANT_WORK += kdevops_vagrant_boxes
kdevops_verify_libvirt_user:
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \
- --inventory localhost, \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
$(KDEVOPS_PLAYBOOKS_DIR)/libvirt_user.yml -e "only_verify_user=True"
PHONY += kdevops_verify_libvirt_user
KDEVOPS_VAGRANT_WORK += kdevops_verify_libvirt_user
kdevops_libvirt_storage_pool_create:
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \
- --inventory localhost, \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
$(KDEVOPS_PLAYBOOKS_DIR)/libvirt_storage_pool_create.yml
PHONY += kdevops_libvirt_storage_pool_create
diff --git a/Makefile.linux-mirror b/Makefile.linux-mirror
index 6961a55..ccda361 100644
--- a/Makefile.linux-mirror
+++ b/Makefile.linux-mirror
@@ -25,8 +25,7 @@ endif
MIRROR_CODE := $(TOPDIR)/playbooks/roles/linux-mirror/linux-mirror-systemd/
kdevops_linux_mirror: $(KDEVOPS_EXTRA_VARS)
- $(Q)ansible-playbook --connection=local \
- --inventory localhost, \
+ $(Q)ansible-playbook \
--tags vars,mirror \
$(KDEVOPS_PLAYBOOKS_DIR)/linux-mirror.yml \
--extra-vars=@./extra_vars.yaml
@@ -37,8 +36,7 @@ mirror: $(KDEVOPS_EXTRA_VARS) kdevops_linux_mirror
PHONY += mirror
mirror-status: $(KDEVOPS_EXTRA_VARS)
- $(Q)ansible-playbook --connection=local \
- --inventory localhost, \
+ $(Q)ansible-playbook \
--tags vars,mirror-status \
$(KDEVOPS_PLAYBOOKS_DIR)/linux-mirror.yml \
--extra-vars=@./extra_vars.yaml
diff --git a/Makefile.postfix b/Makefile.postfix
index 5db23dc..704c715 100644
--- a/Makefile.postfix
+++ b/Makefile.postfix
@@ -7,8 +7,7 @@ POSTFIX_SETUP_ARGS += postfix_relay_host_setup=True
POSTFIX_SETUP_ARGS += postfix_relay_host=$(POSTFIX_RELAY_HOST)
kdevops_postfix_setup_relay: $(KDEVOPS_EXTRA_VARS)
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \
- --inventory localhost, \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
$(KDEVOPS_PLAYBOOKS_DIR)/postfix_relay_host.yml \
--extra-vars=@./extra_vars.yaml
PHONY += kdevos_postfix_setup_relay
diff --git a/docs/kdevops-terraform.md b/docs/kdevops-terraform.md
index e6a518c..3291444 100644
--- a/docs/kdevops-terraform.md
+++ b/docs/kdevops-terraform.md
@@ -120,7 +120,7 @@ connectivity issues. In such cases, you can run the Ansible role yourself
manually:
```bash
-ansible-playbook -i hosts -l kdevops playbooks/devconfig.yml
+ansible-playbook -l kdevops playbooks/devconfig.yml
```
Note that there a few configuration items you may have enabled, for things
diff --git a/kconfigs/Kconfig.ansible_cfg b/kconfigs/Kconfig.ansible_cfg
index 735160c..a05c8cb 100644
--- a/kconfigs/Kconfig.ansible_cfg
+++ b/kconfigs/Kconfig.ansible_cfg
@@ -14,6 +14,10 @@ config ANSIBLE_CFG_TASK_DEBUGGER_SET_BY_CLI
bool
default $(shell, scripts/check-cli-set-var.sh ANSIBLE_CFG_TASK_DEBUGGER)
+config ANSIBLE_CFG_INVENTORY_SET_BY_CLI
+ bool
+ default $(shell, scripts/check-cli-set-var.sh KDEVOPS_HOSTS)
+
menu "Ansible Callback Plugin Configuration"
choice
prompt "Ansible Callback Plugin"
@@ -227,7 +231,8 @@ config ANSIBLE_CFG_TASK_DEBUGGER
config ANSIBLE_CFG_INVENTORY
string "Ansible inventory sources"
output yaml
- default "$(TOPDIR_PATH)/hosts"
+ default "$(TOPDIR_PATH)/hosts" if !ANSIBLE_CFG_INVENTORY_SET_BY_CLI
+ default $(shell, ./scripts/append-makefile-vars-int.sh $(KDEVOPS_HOSTS)) if ANSIBLE_CFG_INVENTORY_SET_BY_CLI
help
Comma-separated list of Ansible inventory source paths.
diff --git a/playbooks/roles/bootlinux/README.md b/playbooks/roles/bootlinux/README.md
index 8c0b1d5..5179f49 100644
--- a/playbooks/roles/bootlinux/README.md
+++ b/playbooks/roles/bootlinux/README.md
@@ -78,7 +78,7 @@ You can compile say a vanilla kernel v4.19.58 with an extra set of patches we'd
```
cd ansible
-ansible-playbook -i hosts -l dev --extra-vars "target_linux_extra_patch=pend-v4.19.58-fixes-20190716-v2.patch" bootlinux.yml
+ansible-playbook -l dev --extra-vars "target_linux_extra_patch=pend-v4.19.58-fixes-20190716-v2.patch" bootlinux.yml
```
You'd place the `pend-v4.19.58-fixes-20190716-v2.patch` file on the directory
@@ -87,19 +87,19 @@ You'd place the `pend-v4.19.58-fixes-20190716-v2.patch` file on the directory
Now say you wantd to be explicit about a tag of Linux you'd want to use:
```
-ansible-playbook -i hosts -l dev --extra-vars "target_linux_ref=v4.19.21 "target_linux_extra_patch=try-v4.19.20-fixes-20190716-v1.patch" bootlinux.yml
+ansible-playbook -l dev --extra-vars "target_linux_ref=v4.19.21 "target_linux_extra_patch=try-v4.19.20-fixes-20190716-v1.patch" bootlinux.yml
```
To uninstall a kernel:
```
-ansible-playbook -i hosts -l dev --tags uninstall-linux --extra-vars "uninstall_kernel_ver=4.19.58+" bootlinux.yml
+ansible-playbook -l dev --tags uninstall-linux --extra-vars "uninstall_kernel_ver=4.19.58+" bootlinux.yml
```
To ensure you can get the grub prompt:
```bash
-ansible-playbook -i hosts --tags vars,manual-update-grub playbooks/bootlinux.yml
+ansible-playbook --tags vars,manual-update-grub playbooks/bootlinux.yml
```
The ansible bootlinux role relies on the create_partition role to create a data
@@ -107,13 +107,13 @@ partition where we can stuff code, and compile it. To test that aspect of
the bootlinux role you can run:
```
-ansible-playbook -i hosts -l baseline --tags data_partition,partition bootlinux.yml
+ansible-playbook -l baseline --tags data_partition,partition bootlinux.yml
```
To reboot all hosts:
```bash
-ansible-playbook -i hosts bootlinux.yml --tags reboot
+ansible-playbook bootlinux.yml --tags reboot
```
For further examples refer to one of this role's users, the
diff --git a/playbooks/roles/gen_hosts/defaults/main.yml b/playbooks/roles/gen_hosts/defaults/main.yml
index d621a0b..9770e3c 100644
--- a/playbooks/roles/gen_hosts/defaults/main.yml
+++ b/playbooks/roles/gen_hosts/defaults/main.yml
@@ -6,7 +6,6 @@ hosts_type_generic: True
hosts_type_fs: False
hosts_type_block: False
-kdevops_hosts: "hosts"
kdevops_hosts_template: "hosts.in"
kdevops_playbooks_dir: "/dev/null"
kdevops_genhosts_templates_dir: "/dev/null"
diff --git a/playbooks/roles/gen_hosts/tasks/main.yml b/playbooks/roles/gen_hosts/tasks/main.yml
index 58ebd1d..e8d2268 100644
--- a/playbooks/roles/gen_hosts/tasks/main.yml
+++ b/playbooks/roles/gen_hosts/tasks/main.yml
@@ -18,23 +18,23 @@
command: "id -g -n"
register: my_group
-- name: Check if the file {{ kdevops_hosts }} exists already
+- name: Check if the inventory file exists already
stat:
- path: "{{ topdir_path }}/{{ kdevops_hosts }}"
+ path: "{{ ansible_cfg_inventory }}"
register: kdevops_hosts_dest
-- name: Ensure proper permission on the file {{ kdevops_hosts }}
+- name: Ensure proper permission on the inventory file
become: yes
become_flags: 'su - -c'
become_method: sudo
file:
- path: "{{ topdir_path }}/{{ kdevops_hosts }}"
+ path: "{{ ansible_cfg_inventory }}"
owner: "{{ my_user.stdout }}"
group: "{{ my_group.stdout }}"
when:
- kdevops_hosts_dest.stat.exists
-- name: Verify Ansible host template file exists {{ kdevops_hosts_template_full_path }}
+- name: Verify Ansible inventory template file exists
stat:
path: "{{ kdevops_hosts_template_full_path }}"
register: ansible_hosts_template
@@ -56,11 +56,11 @@
when:
- is_fstests
-- name: Generate the Ansible hosts file
+- name: Generate the Ansible inventory file
tags: [ 'hosts' ]
template:
src: "{{ kdevops_hosts_template }}"
- dest: "{{ topdir_path }}/{{ kdevops_hosts }}"
+ dest: "{{ ansible_cfg_inventory }}"
force: yes
trim_blocks: True
lstrip_blocks: True
@@ -70,15 +70,15 @@
- name: Update Ansible inventory access modification time so make sees it updated
ansible.builtin.file:
- path: "{{ topdir_path }}/{{ kdevops_hosts }}"
+ path: "{{ ansible_cfg_inventory }}"
state: touch
mode: '0755'
-- name: Generate the Ansible hosts file for dedicated cxl work
+- name: Generate the Ansible inventory file for dedicated cxl work
tags: [ 'hosts' ]
template:
src: "{{ kdevops_hosts_template }}"
- dest: "{{ topdir_path }}/{{ kdevops_hosts }}"
+ dest: "{{ anisble_cfg_inventory }}"
force: yes
trim_blocks: True
lstrip_blocks: True
@@ -87,11 +87,11 @@
- kdevops_workflow_enable_cxl
- ansible_hosts_template.stat.exists
-- name: Generate the Ansible hosts file for dedicated pynfs work
+- name: Generate the Ansible inventory file for dedicated pynfs work
tags: [ 'hosts' ]
template:
src: "{{ kdevops_hosts_template }}"
- dest: "{{ topdir_path }}/{{ kdevops_hosts }}"
+ dest: "{{ ansible_cfg_inventory }}"
force: yes
trim_blocks: True
lstrip_blocks: True
@@ -100,13 +100,13 @@
- kdevops_workflow_enable_pynfs
- ansible_hosts_template.stat.exists
-- name: Generate the Ansible hosts file for dedicated gitr workflow
+- name: Generate the Ansible inventory file for dedicated gitr workflow
tags: [ 'hosts' ]
vars:
gitr_enabled_hosts: "{{ gitr_enabled_test_groups|ansible.builtin.split }}"
template:
src: "{{ kdevops_hosts_template }}"
- dest: "{{ topdir_path }}/{{ kdevops_hosts }}"
+ dest: "{{ ansible_cfg_inventory }}"
force: true
trim_blocks: true
lstrip_blocks: true
@@ -115,13 +115,13 @@
- kdevops_workflow_enable_gitr
- ansible_hosts_template.stat.exists
-- name: Generate an Ansible hosts file for a dedicated ltp workflow
+- name: Generate an Ansible inventory file for a dedicated ltp workflow
tags: [ 'hosts' ]
vars:
ltp_enabled_hosts: "{{ ltp_enabled_test_groups|ansible.builtin.split }}"
ansible.builtin.template:
src: "{{ kdevops_hosts_template }}"
- dest: "{{ topdir_path }}/{{ kdevops_hosts }}"
+ dest: "{{ ansible_cfg_inventory }}"
force: yes
trim_blocks: True
lstrip_blocks: True
@@ -130,13 +130,13 @@
- kdevops_workflow_enable_ltp
- ansible_hosts_template.stat.exists
-- name: Generate the Ansible hosts file for dedicated nfstest workflow
+- name: Generate the Ansible inventory file for dedicated nfstest workflow
tags: [ 'hosts' ]
vars:
nfstest_enabled_hosts: "{{ nfstest_enabled_test_groups | ansible.builtin.split }}"
template:
src: "{{ kdevops_hosts_template }}"
- dest: "{{ topdir_path }}/{{ kdevops_hosts }}"
+ dest: "{{ ansible_cfg_inventory }}"
force: true
trim_blocks: true
lstrip_blocks: true
@@ -189,7 +189,7 @@
- ansible_hosts_template.stat.exists
- item.changed
-- name: Generate the Ansible hosts file for a dedicated fstests setup
+- name: Generate the Ansible inventory file for a dedicated fstests setup
tags: [ 'hosts' ]
vars:
fs_config_data: "{{ lookup('file', fs_config_path) }}"
@@ -200,7 +200,7 @@
sections: "{{ sections_replace_underscore | replace(\"'\", '') | split(', ') }}"
template:
src: "{{ kdevops_hosts_template }}"
- dest: "{{ topdir_path }}/{{ kdevops_hosts }}"
+ dest: "{{ ansible_cfg_inventory }}"
force: yes
trim_blocks: True
lstrip_blocks: True
@@ -231,11 +231,11 @@
- kdevops_workflow_enable_blktests
- ansible_hosts_template.stat.exists
-- name: Generate the Ansible hosts file for a dedicated blktests setup
+- name: Generate the Ansible inventory file for a dedicated blktests setup
tags: [ 'hosts' ]
template:
src: "{{ kdevops_hosts_template }}"
- dest: "{{ topdir_path }}/{{ kdevops_hosts }}"
+ dest: "{{ ansible_cfg_inventory }}"
force: yes
trim_blocks: True
lstrip_blocks: True
@@ -258,11 +258,11 @@
- kdevops_workflow_enable_selftests
- ansible_hosts_template.stat.exists
-- name: Generate the Ansible hosts file for a dedicated selftests setup
+- name: Generate the Ansible inventory file for a dedicated selftests setup
tags: [ 'hosts' ]
template:
src: "{{ kdevops_hosts_template }}"
- dest: "{{ topdir_path }}/{{ kdevops_hosts }}"
+ dest: "{{ ansible_cfg_inventory }}"
force: yes
trim_blocks: True
lstrip_blocks: True
@@ -299,11 +299,11 @@
- kdevops_workflows_dedicated_workflow
- kdevops_workflow_enable_sysbench
-- name: Generate the Ansible hosts file for a dedicated sysbench setup
+- name: Generate the Ansible inventory file for a dedicated sysbench setup
tags: [ 'hosts' ]
template:
src: "{{ kdevops_hosts_template }}"
- dest: "{{ topdir_path }}/{{ kdevops_hosts }}"
+ dest: "{{ ansible_cfg_inventory }}"
force: yes
trim_blocks: True
lstrip_blocks: True
@@ -341,7 +341,7 @@
- name: Verify if final host file exists
stat:
- path: "{{ topdir_path }}/{{ kdevops_hosts }}"
+ path: "{{ ansible_cfg_inventory }}"
register: final_hosts_file
- name: Fail if the dedicated workflow has no rules for node configuration for hosts file configuration
diff --git a/playbooks/roles/guestfs/tasks/main.yml b/playbooks/roles/guestfs/tasks/main.yml
index d6530f8..644922b 100644
--- a/playbooks/roles/guestfs/tasks/main.yml
+++ b/playbooks/roles/guestfs/tasks/main.yml
@@ -23,6 +23,7 @@
- bringup
ansible.builtin.set_fact:
storagedir: "{{ kdevops_storage_pool_path }}/guestfs"
+ delegate_to: localhost
- name: Set the pathname of the OS base image
tags:
@@ -30,6 +31,7 @@
- bringup
ansible.builtin.set_fact:
base_image: "{{ storagedir }}/base_images/{{ virtbuilder_os_version }}.raw"
+ delegate_to: localhost
- name: Ensure the required base OS image exists
tags:
@@ -39,12 +41,14 @@
vars:
base_image_os_version: "{{ virtbuilder_os_version }}"
base_image_pathname: "{{ base_image }}"
+ delegate_to: localhost
- name: Bring up each target node
tags:
- bringup
ansible.builtin.import_tasks:
file: "{{ role_path }}/tasks/bringup/main.yml"
+ delegate_to: localhost
- name: Set up target node console permissions
tags:
@@ -53,9 +57,11 @@
file: "{{ role_path }}/tasks/bringup/console-permissions.yml"
when:
- libvirt_uri_system|bool
+ delegate_to: localhost
- name: Shut down and destroy each target node
tags:
- destroy
ansible.builtin.import_tasks:
file: "{{ role_path }}/tasks/destroy.yml"
+ delegate_to: localhost
diff --git a/playbooks/roles/libvirt_user/README.md b/playbooks/roles/libvirt_user/README.md
index 2120e84..7a0e034 100644
--- a/playbooks/roles/libvirt_user/README.md
+++ b/playbooks/roles/libvirt_user/README.md
@@ -65,11 +65,11 @@ take effect So for instance you would have:
```bash
# Does the actual work
-ansible-playbook -i hosts playbooks/libvirt_user.yml
+ansible-playbook playbooks/libvirt_user.yml
# Verify if the changes are already effective if not warn the user to log
# out and back in.
-ansible-playbook -i hosts playbooks/libvirt_user.yml -e "only_verify_user=True"
+ansible-playbook playbooks/libvirt_user.yml -e "only_verify_user=True"
```
## Running libvirt as a regular user
diff --git a/scripts/archive.Makefile b/scripts/archive.Makefile
index 54928d3..23a693d 100644
--- a/scripts/archive.Makefile
+++ b/scripts/archive.Makefile
@@ -13,8 +13,7 @@ ARCHIVE_DYNAMIC_RUNTIME_VARS += \
endif
ci-archive:
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \
- --inventory localhost, \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
playbooks/kdevops_archive.yml \
--extra-vars '{ $(ARCHIVE_DYNAMIC_RUNTIME_VARS) }' \
--extra-vars=@./extra_vars.yaml
diff --git a/scripts/devconfig.Makefile b/scripts/devconfig.Makefile
index 0e5e58c..146c70f 100644
--- a/scripts/devconfig.Makefile
+++ b/scripts/devconfig.Makefile
@@ -56,7 +56,7 @@ extend-extra-args-devconfig:
PHONY += devconfig
devconfig: $(KDEVOPS_NODES)
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) -i $(KDEVOPS_HOSTFILE) \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
--limit 'baseline:dev:nfsd' \
$(KDEVOPS_PLAYBOOKS_DIR)/devconfig.yml \
--extra-vars="$(BOOTLINUX_ARGS)" \
@@ -71,7 +71,7 @@ HELP_TARGETS+=devconfig-generic-help-menu
ifeq (y,$(CONFIG_SYSCTL_TUNING))
PHONY += sysctl-tunings
sysctl-tunings: $(KDEVOPS_NODES)
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) -i $(KDEVOPS_HOSTFILE) \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
--limit 'baseline:dev:nfsd' \
$(KDEVOPS_PLAYBOOKS_DIR)/devconfig.yml \
--extra-vars="$(BOOTLINUX_ARGS)" $(LIMIT_HOSTS) --tags vars,sysctl
diff --git a/scripts/dynamic-pci-kconfig.Makefile b/scripts/dynamic-pci-kconfig.Makefile
index 716cdc1..8902da2 100644
--- a/scripts/dynamic-pci-kconfig.Makefile
+++ b/scripts/dynamic-pci-kconfig.Makefile
@@ -42,8 +42,7 @@ endif # CONFIG_KDEVOPS_LIBVIRT_PCIE_PASSTHROUGH
HELP_TARGETS += dynamic-kconfig-pci-help
dynamic_pcipassthrough_kconfig:
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \
- --inventory localhost, \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
playbooks/gen-pci-kconfig.yml \
--extra-vars '{ $(PCIE_RUNTIME_VARS) }'
diff --git a/scripts/firstconfig.Makefile b/scripts/firstconfig.Makefile
index f1a4423..9f8a63a 100644
--- a/scripts/firstconfig.Makefile
+++ b/scripts/firstconfig.Makefile
@@ -1,8 +1,9 @@
# SPDX-License-Identifier: copyleft-next-0.3.1
firstconfig:
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) -l baseline,dev \
- -i hosts --extra-vars '{ kdevops_cli_install: True }' \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
+ --limit 'baseline:dev' \
+ --extra-vars '{ kdevops_cli_install: True }' \
--tags vars_simple,firstconfig \
$(KDEVOPS_PLAYBOOKS_DIR)/devconfig.yml
diff --git a/scripts/gen-hosts.Makefile b/scripts/gen-hosts.Makefile
index 84e47fd..0d1e0cd 100644
--- a/scripts/gen-hosts.Makefile
+++ b/scripts/gen-hosts.Makefile
@@ -4,7 +4,6 @@ KDEVOPS_PLAYBOOKS_DIR_FULL_PATH=$(TOPDIR_PATH)/$(KDEVOPS_PLAYBOOKS_DIR)
KDEVOPS_HOSTS_TEMPLATE_DIR=$(KDEVOPS_PLAYBOOKS_DIR_FULL_PATH)/roles/gen_hosts/templates
GENHOSTS_EXTRA_ARGS += kdevops_playbooks_dir='$(KDEVOPS_PLAYBOOKS_DIR)'
-GENHOSTS_EXTRA_ARGS += kdevops_hosts='$(KDEVOPS_HOSTFILE)'
# Relative path so that ansible can work with it
KDEVOPS_HOSTS_TEMPLATE_SHORT:=$(KDEVOPS_HOSTS_TEMPLATE)
diff --git a/scripts/guestfs.Makefile b/scripts/guestfs.Makefile
index 8bae2ae..bd03f58 100644
--- a/scripts/guestfs.Makefile
+++ b/scripts/guestfs.Makefile
@@ -51,41 +51,40 @@ KDEVOPS_PROVISION_DESTROY_METHOD := destroy_guestfs
$(Q)make linux-clone
libvirt_pcie_passthrough_permissions:
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \
- --inventory localhost, \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
playbooks/libvirt_pcie_passthrough.yml
$(KDEVOPS_PROVISIONED_SSH):
$(Q)if [[ "$(CONFIG_KDEVOPS_SSH_CONFIG_UPDATE)" == "y" ]]; then \
- ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \
- --inventory localhost, \
+ ansible-playbook $(ANSIBLE_VERBOSE) \
playbooks/update_ssh_config_guestfs.yml \
--extra-vars=@./extra_vars.yaml; \
LIBVIRT_DEFAULT_URI=$(CONFIG_LIBVIRT_URI) \
$(TOPDIR)/scripts/update_ssh_config_guestfs.py; \
fi
- $(Q)ansible $(ANSIBLE_VERBOSE) -i hosts 'baseline:dev' -m wait_for_connection
+ $(Q)ansible $(ANSIBLE_VERBOSE) 'baseline:dev:service' -m wait_for_connection
$(Q)touch $(KDEVOPS_PROVISIONED_SSH)
install_libguestfs:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- --inventory localhost, \
+ --limit 'localhost' \
playbooks/guestfs.yml \
--extra-vars=@./extra_vars.yaml \
--tags install-deps
bringup_guestfs: $(GUESTFS_BRINGUP_DEPS)
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- --connection=local --inventory localhost, \
+ --limit 'localhost' \
$(KDEVOPS_PLAYBOOKS_DIR)/guestfs.yml \
--extra-vars=@./extra_vars.yaml \
--tags network,pool,base_image
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts playbooks/guestfs.yml \
+ --limit 'baseline:dev:service' \
+ playbooks/guestfs.yml \
--extra-vars=@./extra_vars.yaml \
--tags bringup
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- --connection=local --inventory localhost, \
+ --limit 'localhost' \
$(KDEVOPS_PLAYBOOKS_DIR)/guestfs.yml \
--extra-vars=@./extra_vars.yaml \
--tags console
@@ -97,7 +96,7 @@ PHONY += status_guestfs
destroy_guestfs:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts playbooks/guestfs.yml \
+ playbooks/guestfs.yml \
--extra-vars=@./extra_vars.yaml \
--tags destroy
$(Q)rm -f $(KDEVOPS_PROVISIONED_SSH) $(KDEVOPS_PROVISIONED_DEVCONFIG)
--git a/scripts/install-menuconfig-deps.Makefile b/scripts/install-menuconfig-deps.Makefile
index 772e65d..4b9aef8 100644
--- a/scripts/install-menuconfig-deps.Makefile
+++ b/scripts/install-menuconfig-deps.Makefile
@@ -1,8 +1,7 @@
# SPDX-License-Identifier: copyleft-next-0.3.1
menuconfig-deps:
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \
- --inventory localhost, \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
$(KDEVOPS_PLAYBOOKS_DIR)/install-menuconfig-deps.yml \
-e 'kdevops_first_run=True'
PHONY += menuconfig-deps
diff --git a/scripts/iscsi.Makefile b/scripts/iscsi.Makefile
index d9ac22b..a647c2b 100644
--- a/scripts/iscsi.Makefile
+++ b/scripts/iscsi.Makefile
@@ -7,7 +7,6 @@ ANSIBLE_EXTRA_ARGS += $(ISCSI_EXTRA_ARGS)
iscsi:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) -l iscsi \
--extra-vars=@./extra_vars.yaml \
$(KDEVOPS_PLAYBOOKS_DIR)/iscsi.yml
diff --git a/scripts/journal-server.Makefile b/scripts/journal-server.Makefile
index da61fa3..d3c3971 100644
--- a/scripts/journal-server.Makefile
+++ b/scripts/journal-server.Makefile
@@ -11,24 +11,26 @@ ANSIBLE_EXTRA_ARGS += devconfig_systemd_journal_use_http='True'
endif
journal-client:
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) -l baseline,dev \
- -i hosts --extra-vars '{ kdevops_cli_install: True }' \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
+ --limit 'baseline:dev' \
+ --extra-vars '{ kdevops_cli_install: True }' \
--tags vars_simple,journal \
$(KDEVOPS_PLAYBOOKS_DIR)/devconfig.yml
journal-server:
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \
- --inventory localhost, \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
$(KDEVOPS_PLAYBOOKS_DIR)/install_systemd_journal_remote.yml
journal-restart:
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) -l baseline,dev \
- -i hosts --tags vars_extra,journal-upload-restart \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
+ --limit 'baseline:dev' \
+ --tags vars_extra,journal-upload-restart \
$(KDEVOPS_PLAYBOOKS_DIR)/devconfig.yml
journal-status:
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) -l baseline,dev \
- -i hosts --tags vars_extra,journal-status \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
+ --limit 'baseline:dev' \
+ --tags vars_extra,journal-status \
$(KDEVOPS_PLAYBOOKS_DIR)/devconfig.yml
journal-ls:
@@ -39,8 +41,9 @@ journal-dump:
journal-ln:
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) -l baseline,dev \
- -i hosts --tags vars_extra,journal_ln \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
+ --limit 'baseline:dev' \
+ --tags vars_extra,journal_ln \
$(KDEVOPS_PLAYBOOKS_DIR)/devconfig.yml
LOCALHOST_SETUP_WORK += journal-server
diff --git a/scripts/kotd.Makefile b/scripts/kotd.Makefile
index b9b7cf6..c74aad5 100644
--- a/scripts/kotd.Makefile
+++ b/scripts/kotd.Makefile
@@ -9,19 +9,23 @@ endif # HAVE_DISTRO_CUSTOM_KOTD_REPO
ANSIBLE_CMD_KOTD_ENABLE :=
-kotd: $(KDEVOPS_HOSTS) .config
+kotd: inventory .config
$(Q)$(ANSIBLE_CMD_KOTD_ENABLE)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts playbooks/devconfig.yml --tags vars,kotd \
+ playbooks/devconfig.yml --tags vars,kotd \
--extra-vars=@./extra_vars.yaml
-kotd-baseline: $(KDEVOPS_HOSTS) .config
+kotd-baseline: inventory .config
$(Q)$(ANSIBLE_CMD_KOTD_ENABLE)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts -l baseline playbooks/devconfig.yml --tags vars,kotd \
+ --limit 'baseline' \
+ playbooks/devconfig.yml \
+ --tags vars,kotd \
--extra-vars=@./extra_vars.yaml
-kotd-dev: $(KDEVOPS_HOSTS) .config
+kotd-dev: inventory .config
$(Q)$(ANSIBLE_CMD_KOTD_ENABLE)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts -l dev playbooks/devconfig.yml --tags vars,kotd \
+ --limit 'dev' \
+ playbooks/devconfig.yml \
+ --tags vars,kotd \
--extra-vars=@./extra_vars.yaml
kotd-help-menu:
diff --git a/scripts/krb5.Makefile b/scripts/krb5.Makefile
index d49e77b..a414fc8 100644
--- a/scripts/krb5.Makefile
+++ b/scripts/krb5.Makefile
@@ -8,13 +8,11 @@ ANSIBLE_EXTRA_ARGS += $(KRB5_EXTRA_ARGS)
kdc:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) -l kdc \
--extra-vars=@./extra_vars.yaml \
$(KDEVOPS_PLAYBOOKS_DIR)/kdc.yml
krb5:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) -l krb5 \
--extra-vars=@./extra_vars.yaml \
$(KDEVOPS_PLAYBOOKS_DIR)/krb5.yml
diff --git a/scripts/ktls.Makefile b/scripts/ktls.Makefile
index ee1de73..83a8dbe 100644
--- a/scripts/ktls.Makefile
+++ b/scripts/ktls.Makefile
@@ -2,7 +2,6 @@ ifeq (y,$(CONFIG_KDEVOPS_SETUP_KTLS))
ktls:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) \
--extra-vars=@./extra_vars.yaml \
$(KDEVOPS_PLAYBOOKS_DIR)/ktls.yml
diff --git a/scripts/nfsd.Makefile b/scripts/nfsd.Makefile
index 79b9801..9293353 100644
--- a/scripts/nfsd.Makefile
+++ b/scripts/nfsd.Makefile
@@ -29,7 +29,6 @@ ANSIBLE_EXTRA_ARGS += $(NFSD_EXTRA_ARGS)
nfsd:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) -l nfsd \
--extra-vars=@./extra_vars.yaml \
$(KDEVOPS_PLAYBOOKS_DIR)/nfsd.yml
diff --git a/scripts/provision.Makefile b/scripts/provision.Makefile
index 92a7541..59d68ab 100644
--- a/scripts/provision.Makefile
+++ b/scripts/provision.Makefile
@@ -69,8 +69,9 @@ KDEVOPS_MRPROPER += $(KDEVOPS_PROVISIONED_DEVCONFIG)
$(KDEVOPS_PROVISIONED_DEVCONFIG):
$(Q)if [[ "$(CONFIG_KDEVOPS_ANSIBLE_PROVISION_PLAYBOOK)" != "" ]]; then \
- ansible-playbook $(ANSIBLE_VERBOSE) -i \
- $(KDEVOPS_HOSTFILE) $(KDEVOPS_PLAYBOOKS_DIR)/$(KDEVOPS_ANSIBLE_PROVISION_PLAYBOOK) ;\
+ ansible-playbook $(ANSIBLE_VERBOSE) \
+ --limit 'baseline:dev' \
+ $(KDEVOPS_PLAYBOOKS_DIR)/$(KDEVOPS_ANSIBLE_PROVISION_PLAYBOOK) ;\
fi
$(Q)touch $(KDEVOPS_PROVISIONED_DEVCONFIG)
diff --git a/scripts/rdma.Makefile b/scripts/rdma.Makefile
index 5c8b60d..c63b63a 100644
--- a/scripts/rdma.Makefile
+++ b/scripts/rdma.Makefile
@@ -2,7 +2,6 @@ ifeq (y,$(CONFIG_KDEVOPS_SETUP_RDMA_SIW))
siw:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) \
--extra-vars=@./extra_vars.yaml \
$(KDEVOPS_PLAYBOOKS_DIR)/siw.yml
@@ -16,7 +15,6 @@ ifeq (y,$(CONFIG_KDEVOPS_SETUP_RDMA_RXE))
rxe:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) \
--extra-vars=@./extra_vars.yaml \
$(KDEVOPS_PLAYBOOKS_DIR)/rxe.yml
diff --git a/scripts/smbd.Makefile b/scripts/smbd.Makefile
index 1be5b93..3101e97 100644
--- a/scripts/smbd.Makefile
+++ b/scripts/smbd.Makefile
@@ -9,7 +9,6 @@ ANSIBLE_EXTRA_ARGS += $(SMBD_EXTRA_ARGS)
smbd:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) -l smbd \
--extra-vars=@./extra_vars.yaml \
$(KDEVOPS_PLAYBOOKS_DIR)/smbd.yml
diff --git a/scripts/systemd-timesync.Makefile b/scripts/systemd-timesync.Makefile
index 9b84b4a..148bf17 100644
--- a/scripts/systemd-timesync.Makefile
+++ b/scripts/systemd-timesync.Makefile
@@ -20,14 +20,14 @@ ANSIBLE_EXTRA_ARGS += devconfig_enable_systemd_timesyncd_ntp_google_debian='True
endif
timesyncd-client:
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) -l baseline,dev \
- -i hosts --extra-vars '{ kdevops_cli_install: True }' \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
+ --limit 'baseline:dev' \
+ --extra-vars '{ kdevops_cli_install: True }' \
--tags vars_simple,timesyncd \
$(KDEVOPS_PLAYBOOKS_DIR)/devconfig.yml
timesyncd-server:
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \
- --inventory localhost, \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
$(KDEVOPS_PLAYBOOKS_DIR)/install_systemd_timesyncd.yml
timesyncd-status:
diff --git a/scripts/terraform.Makefile b/scripts/terraform.Makefile
index 865c84c..c288369 100644
--- a/scripts/terraform.Makefile
+++ b/scripts/terraform.Makefile
@@ -101,13 +101,11 @@ ANSIBLE_EXTRA_ARGS += $(TERRAFORM_EXTRA_VARS)
bringup_terraform:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- --connection=local --inventory localhost, \
playbooks/terraform.yml --tags bringup \
--extra-vars=@./extra_vars.yaml
$(KDEVOPS_PROVISIONED_SSH):
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) \
playbooks/terraform.yml --tags ssh \
--extra-vars=@./extra_vars.yaml
$(Q)touch $(KDEVOPS_PROVISIONED_SSH)
@@ -117,13 +115,11 @@ status_terraform:
destroy_terraform:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- --connection=local -i $(KDEVOPS_HOSTFILE) \
playbooks/terraform.yml --tags destroy \
--extra-vars=@./extra_vars.yaml
$(Q)rm -f $(KDEVOPS_PROVISIONED_SSH) $(KDEVOPS_PROVISIONED_DEVCONFIG)
$(KDEVOPS_TFVARS): $(KDEVOPS_TFVARS_TEMPLATE) .config
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \
- --inventory localhost, \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
$(KDEVOPS_PLAYBOOKS_DIR)/gen_tfvars.yml \
--extra-vars=@./extra_vars.yaml
diff --git a/scripts/update_etc_hosts.Makefile b/scripts/update_etc_hosts.Makefile
index 4da15ea..5fb90e9 100644
--- a/scripts/update_etc_hosts.Makefile
+++ b/scripts/update_etc_hosts.Makefile
@@ -1,6 +1,6 @@
update_etc_hosts:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts playbooks/update_etc_hosts.yml
+ playbooks/update_etc_hosts.yml
KDEVOPS_BRING_UP_DEPS_EARLY += update_etc_hosts
diff --git a/scripts/vagrant.Makefile b/scripts/vagrant.Makefile
index e43a21d..2c97f46 100644
--- a/scripts/vagrant.Makefile
+++ b/scripts/vagrant.Makefile
@@ -80,21 +80,19 @@ extend-extra-args-vagrant:
fi
vagrant_private_box_install:
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) -i \
- $(KDEVOPS_HOSTFILE) $(KDEVOPS_PLAYBOOKS_DIR)/install_vagrant_boxes.yml
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
+ $(KDEVOPS_PLAYBOOKS_DIR)/install_vagrant_boxes.yml
vagrant_9p_linux_clone:
$(Q)make linux-clone
libvirt_pcie_passthrough_permissions:
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \
- --inventory localhost, \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
playbooks/libvirt_pcie_passthrough.yml
$(KDEVOPS_PROVISIONED_SSH):
$(Q)if [[ "$(CONFIG_KDEVOPS_SSH_CONFIG_UPDATE)" == "y" ]]; then \
- ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \
- --inventory localhost, \
+ ansible-playbook $(ANSIBLE_VERBOSE) \
playbooks/update_ssh_config_vagrant.yml
fi
$(Q)touch $(KDEVOPS_PROVISIONED_SSH)
diff --git a/scripts/workflows/lib/crash.py b/scripts/workflows/lib/crash.py
index 663de93..d9d121d 100755
--- a/scripts/workflows/lib/crash.py
+++ b/scripts/workflows/lib/crash.py
@@ -769,9 +769,7 @@ class KernelCrashWatchdog:
subprocess.run(
[
"ansible",
- "-i",
- "hosts",
- "all",
+ "'baseline:dev'",
"-m",
"wait_for_connection",
"-l",
diff --git a/workflows/blktests/Makefile b/workflows/blktests/Makefile
index 33fb648..92c96ba 100644
--- a/workflows/blktests/Makefile
+++ b/workflows/blktests/Makefile
@@ -67,12 +67,13 @@ extend-extra-args-blktests:
blktests:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts playbooks/blktests.yml \
+ playbooks/blktests.yml \
--skip-tags run_tests,copy_results $(LIMIT_HOSTS)
blktests-baseline:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts -l baseline playbooks/blktests.yml \
+ --limit 'baseline' \
+ playbooks/blktests.yml \
--tags run_tests,copy_results \
--extra-vars '{ $(BLKTESTS_DYNAMIC_RUNTIME_VARS) }' \
--extra-vars=@./extra_vars.yaml $(LIMIT_HOSTS)
@@ -85,14 +86,16 @@ blktests-baseline-kernelci:
blktests-baseline-skip-kdevops-update:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts -l baseline playbooks/blktests.yml \
+ --limit 'baseline' \
+ playbooks/blktests.yml \
--tags run_tests,copy_results --skip-tags git_update \
--extra-vars '{ $(BLKTESTS_DYNAMIC_RUNTIME_VARS) }' \
--extra-vars=@./extra_vars.yaml $(LIMIT_HOSTS)
blktests-baseline-run-oscheck-only:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts -l baseline playbooks/blktests.yml \
+ --limit 'baseline' \
+ playbooks/blktests.yml \
--tags run_tests,copy_results \
--skip-tags git_update,reboot,clean_results \
--extra-vars '{ $(BLKTESTS_DYNAMIC_RUNTIME_VARS) }' \
@@ -100,14 +103,16 @@ blktests-baseline-run-oscheck-only:
blktests-dev:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts -l dev playbooks/blktests.yml \
+ --limit 'dev' \
+ playbooks/blktests.yml \
--tags run_tests,copy_results \
--extra-vars '{ $(BLKTESTS_DYNAMIC_RUNTIME_VARS) }' \
--extra-vars=@./extra_vars.yaml $(LIMIT_HOSTS)
blktests-baseline-results:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts -l baseline playbooks/blktests.yml \
+ --limit 'baseline' \
+ playbooks/blktests.yml \
--tags copy_results,print_results \
--extra-vars '{ kdevops_run_blktests: True }' \
--extra-vars=@./extra_vars.yaml $(LIMIT_HOSTS)
@@ -116,7 +121,8 @@ blktests-results: blktests-baseline-results
blktests-dev-results:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts -l dev playbooks/blktests.yml \
+ --limit 'dev' \
+ playbooks/blktests.yml \
--tags copy_results,print_results \
--extra-vars '{ kdevops_run_blktests: True }' \
--extra-vars=@./extra_vars.yaml $(LIMIT_HOSTS)
diff --git a/workflows/common/Makefile b/workflows/common/Makefile
index cfbebeb..9ae0a0a 100644
--- a/workflows/common/Makefile
+++ b/workflows/common/Makefile
@@ -38,7 +38,7 @@ endif # CONFIG_WORKFLOW_INFER_USER_AND_GROUP == y
ifeq (y,$(CONFIG_KDEVOPS_WORKFLOW_GIT_CLONES_KDEVOPS_GIT))
kdevops-git-reset:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts playbooks/common.yml --tags vars,kdevops_reset \
+ playbooks/common.yml --tags vars,kdevops_reset \
--extra-vars '{ kdevops_git_reset: True }' $(LIMIT_HOSTS)
kdevops-help-menu:
diff --git a/workflows/cxl/Makefile b/workflows/cxl/Makefile
index 11d3e85..bb13005 100644
--- a/workflows/cxl/Makefile
+++ b/workflows/cxl/Makefile
@@ -20,42 +20,42 @@ include $(TOPDIR)/workflows/cxl/Makefile.kernel
cxl:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts playbooks/cxl.yml \
+ playbooks/cxl.yml \
--skip-tags run_tests,copy_results \
$(LIMIT_HOSTS)
cxl-test-probe:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts playbooks/cxl.yml \
+ playbooks/cxl.yml \
--tags vars,cxl-test-prep,cxl-test-probe \
--extra-vars '{ $(CXL_DYNAMIC_RUNTIME_VARS) }' \
$(LIMIT_HOSTS)
cxl-test-meson:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts playbooks/cxl.yml \
+ playbooks/cxl.yml \
--tags vars,cxl-test-prep,cxl-test-meson \
--extra-vars '{ $(CXL_DYNAMIC_RUNTIME_VARS) }' \
$(LIMIT_HOSTS)
cxl-results:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts playbooks/cxl.yml \
+ playbooks/cxl.yml \
--tags vars,copy_results $(LIMIT_HOSTS)
cxl-mem-setup:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts playbooks/cxl.yml \
+ playbooks/cxl.yml \
--tags vars,extra-vars,cxl-mem-setup $(LIMIT_HOSTS)
cxl-create-dc-region:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts playbooks/cxl.yml \
+ playbooks/cxl.yml \
--tags vars,cxl-create-dc-region $(LIMIT_HOSTS)
cxl-dcd-setup:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts playbooks/cxl.yml \
+ playbooks/cxl.yml \
--tags vars,cxl-dcd-setup $(LIMIT_HOSTS)
cxl-help-menu:
diff --git a/workflows/demos/reboot-limit/Makefile b/workflows/demos/reboot-limit/Makefile
index a6b4aaf..e4cbf29 100644
--- a/workflows/demos/reboot-limit/Makefile
+++ b/workflows/demos/reboot-limit/Makefile
@@ -25,7 +25,7 @@ REBOOT_LIMIT_TEST_TYPE :=$(subst ",,$(CONFIG_REBOOT_LIMIT_TEST_TYPE))
# into the file extra_vars.yaml. The extra_vars.yaml file is always used as an
# argument to ansible so that it reads our manually converted kconfig varibles
# in ansible. We typically call a playbook with something like:
-# ansible-playbook -i hosts -l baseline playbooks/foo.yml --tags bar --extra-vars=@./extra_vars.yaml
+# ansible-playbook -l baseline playbooks/foo.yml --tags bar --extra-vars=@./extra_vars.yaml
#
# Likewise most playbooks also have something like the following as their first
# task in their playbooks, so that they don't have to be specifying the
@@ -104,7 +104,7 @@ endif # CONFIG_KERNEL_CI
# with tags "run_tests" or "copy_results".
reboot-limit:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts playbooks/reboot-limit.yml \
+ playbooks/reboot-limit.yml \
--skip-tags run_tests,copy_results
# kdevops supports generic workflows such as the enabling you to then use the
@@ -134,10 +134,13 @@ reboot-limit:
# fly.
reboot-limit-baseline:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts -l baseline playbooks/reboot-limit.yml \
- --tags vars,first_run,reset --extra-vars=@./extra_vars.yaml
+ --limit 'baseline' \
+ playbooks/reboot-limit.yml \
+ --tags vars,first_run,reset \
+ --extra-vars=@./extra_vars.yaml
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts -l baseline playbooks/reboot-limit.yml \
+ --limit 'baseline' \
+ playbooks/reboot-limit.yml \
--tags vars,run_tests,copy_results \
--extra-vars=@./extra_vars.yaml
@@ -155,16 +158,21 @@ reboot-limit-baseline-kernelci:
# Resets the boot counters so we start from scratch
reboot-limit-baseline-reset:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts -l baseline playbooks/reboot-limit.yml \
- --tags vars,reset --extra-vars=@./extra_vars.yaml
+ --limit 'baseline' \
+ playbooks/reboot-limit.yml \
+ --tags vars,reset \
+ --extra-vars=@./extra_vars.yaml
# Below are the corresponding dev targets
reboot-limit-dev-baseline:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts -l dev playbooks/reboot-limit.yml \
- --tags vars,first_run,reset --extra-vars=@./extra_vars.yaml
+ --limit 'dev' \
+ playbooks/reboot-limit.yml \
+ --tags vars,first_run,reset \
+ --extra-vars=@./extra_vars.yaml
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts -l dev playbooks/reboot-limit.yml \
+ --limit 'dev' \
+ playbooks/reboot-limit.yml \
--tags vars,run_tests,copy_results \
--extra-vars=@./extra_vars.yaml
@@ -176,7 +184,9 @@ reboot-limit-dev-kernelci:
reboot-limit-dev-reset:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts -l dev playbooks/reboot-limit.yml --tags vars,reset \
+ --limit 'dev' \
+ playbooks/reboot-limit.yml \
+ --tags vars,reset \
--extra-vars=@./extra_vars.yaml
reboot-limit-help-menu:
diff --git a/workflows/fstests/Makefile b/workflows/fstests/Makefile
index a5e307b..48790d9 100644
--- a/workflows/fstests/Makefile
+++ b/workflows/fstests/Makefile
@@ -138,19 +138,22 @@ endif
endif
fstests: $(FSTESTS_BASELINE_EXTRA)
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) -l localhost,baseline,dev \
- -i hosts playbooks/fstests.yml \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
+ --limit 'localhost:baseline:dev' \
+ playbooks/fstests.yml \
--skip-tags run_tests,copy_results $(LIMIT_HOSTS)
fstests-kdevops-setup: $(KDEVOPS_EXTRA_VARS) $(FSTESTS_BASELINE_EXTRA)
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) -l baseline,dev \
- -i hosts playbooks/fstests.yml \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
+ --limit 'baseline:dev' \
+ playbooks/fstests.yml \
--tags vars,kdevops_fstests_setup,gendisks \
$(LIMIT_HOSTS)
fstests-baseline: $(FSTESTS_BASELINE_EXTRA)
$(Q)PYTHONUNBUFFERED=1 ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts -l baseline playbooks/fstests.yml \
+ --limit 'baseline' \
+ playbooks/fstests.yml \
--tags vars,run_tests,copy_results \
--extra-vars '{ $(FSTESTS_DYNAMIC_RUNTIME_VARS) }' \
--extra-vars=@./extra_vars.yaml $(LIMIT_HOSTS)
@@ -163,7 +166,8 @@ fstests-baseline-kernelci: $(KDEVOPS_EXTRA_VARS)
fstests-baseline-skip-kdevops-update: $(KDEVOPS_EXTRA_VARS)
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts -l baseline playbooks/fstests.yml \
+ --limit 'baseline' \
+ playbooks/fstests.yml \
--tags run_tests,copy_results \
--skip-tags git_update \
--extra-vars \
@@ -173,7 +177,8 @@ fstests-baseline-skip-kdevops-update: $(KDEVOPS_EXTRA_VARS)
fstests-baseline-run-oscheck-only: $(KDEVOPS_EXTRA_VARS)
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts -l baseline playbooks/fstests.yml \
+ --limit 'baseline' \
+ playbooks/fstests.yml \
--tags run_tests,copy_results \
--skip-tags git_update,reboot,clean_results \
--extra-vars \
@@ -183,14 +188,14 @@ fstests-baseline-run-oscheck-only: $(KDEVOPS_EXTRA_VARS)
fstests-config: $(KDEVOPS_EXTRA_VARS)
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts -l baseline playbooks/fstests.yml \
+ --limit 'baseline' \
+ playbooks/fstests.yml \
--tags vars,generate-fstests-config \
--extra-vars=@./extra_vars.yaml \
$(LIMIT_HOSTS)
fstests-config-debug: $(KDEVOPS_EXTRA_VARS)
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \
- --inventory localhost, \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
playbooks/fstests.yml \
-e 'fstests_debug_localhost=True' \
--tags vars,generate-fstests-config \
@@ -198,7 +203,8 @@ fstests-config-debug: $(KDEVOPS_EXTRA_VARS)
fstests-dev: $(KDEVOPS_EXTRA_VARS)
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts -l dev playbooks/fstests.yml \
+ --limit 'dev' \
+ playbooks/fstests.yml \
--tags vars,run_tests,copy_results \
--extra-vars \
'{ $(FSTESTS_DYNAMIC_RUNTIME_VARS) }' \
@@ -206,7 +212,8 @@ fstests-dev: $(KDEVOPS_EXTRA_VARS)
fstests-baseline-results-tfb-ls: $(KDEVOPS_EXTRA_VARS)
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts -l baseline playbooks/fstests.yml \
+ --limit 'baseline' \
+ playbooks/fstests.yml \
--tags vars,tfb \
--skip-tags copy_final \
--extra-vars \
@@ -215,7 +222,8 @@ fstests-baseline-results-tfb-ls: $(KDEVOPS_EXTRA_VARS)
fstests-baseline-results-tfb-trim: $(KDEVOPS_EXTRA_VARS)
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts -l baseline playbooks/fstests.yml \
+ --limit 'baseline' \
+ playbooks/fstests.yml \
--tags vars,tfb \
--skip-tags copy_final \
--extra-vars \
@@ -224,7 +232,8 @@ fstests-baseline-results-tfb-trim: $(KDEVOPS_EXTRA_VARS)
fstests-baseline-results: $(KDEVOPS_EXTRA_VARS)
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts -l baseline playbooks/fstests.yml \
+ --limit 'baseline' \
+ playbooks/fstests.yml \
--tags copy_results,print_results,tfb \
--extra-vars '{ kdevops_run_fstests: True }' \
--extra-vars=@./extra_vars.yaml \
@@ -234,7 +243,8 @@ fstests-results: fstests-baseline-results
fstests-dev-results: $(KDEVOPS_EXTRA_VARS)
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts -l dev playbooks/fstests.yml \
+ --limit 'dev' \
+ playbooks/fstests.yml \
--tags copy_results,print_results \
--extra-vars '{ kdevops_run_fstests: True }' \
--extra-vars=@./extra_vars.yaml \
diff --git a/workflows/gitr/Makefile b/workflows/gitr/Makefile
index b8a1b3a..09ef466 100644
--- a/workflows/gitr/Makefile
+++ b/workflows/gitr/Makefile
@@ -90,13 +90,13 @@ endif
gitr:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) -l baseline,dev \
+ --limit 'baseline:dev' \
--skip-tags run_tests,run_specific_tests,copy_results \
$(KDEVOPS_PLAYBOOKS_DIR)/gitr.yml
gitr-baseline:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) -l baseline \
+ --limit 'baseline' \
--tags $(GITR_PLAY_TAGS) \
--extra-vars=@./extra_vars.yaml \
$(KDEVOPS_PLAYBOOKS_DIR)/gitr.yml
@@ -109,7 +109,7 @@ gitr-baseline-kernelci:
gitr-dev-baseline:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) -l dev \
+ --limit 'dev' \
--tags $(GITR_PLAY_TAGS) \
--extra-vars=@./extra_vars.yaml \
$(KDEVOPS_PLAYBOOKS_DIR)/gitr.yml
@@ -122,7 +122,7 @@ gitr-dev-kernelci:
gitr-dev-reset:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) -l dev \
+ --limit 'dev' \
--tags vars,reset \
--extra-vars=@./extra_vars.yaml \
$(KDEVOPS_PLAYBOOKS_DIR)/gitr.yml
diff --git a/workflows/linux/Makefile b/workflows/linux/Makefile
index 1e92264..18fd071 100644
--- a/workflows/linux/Makefile
+++ b/workflows/linux/Makefile
@@ -75,6 +75,7 @@ linux-help-menu:
echo "linux-mount - Mounts 9p path on targets" ;\
fi
@echo "linux-deploy - Builds, installs, updates GRUB and reboots - useful for rapid development"
+ @echo "linux-build - Builds kernel"
@echo "linux-install - Only builds and installs Linux"
@echo "linux-uninstall - Remove a kernel you can pass arguments for the version such as KVER=6.5.0-rc7-next-20230825"
@echo "linux-clone - Only clones Linux"
@@ -90,49 +91,63 @@ LINUX_HELP_EXTRA :=
PHONY += linux
linux: $(KDEVOPS_NODES)
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) -i \
- $(KDEVOPS_HOSTFILE) $(KDEVOPS_PLAYBOOKS_DIR)/bootlinux.yml \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
+ --limit 'baseline:dev' \
+ $(KDEVOPS_PLAYBOOKS_DIR)/bootlinux.yml \
--extra-vars="$(BOOTLINUX_ARGS)" $(LIMIT_HOSTS)
PHONY += linux-mount
linux-mount:
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) -i \
- $(KDEVOPS_HOSTFILE) $(KDEVOPS_PLAYBOOKS_DIR)/bootlinux.yml \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
+ --limit 'baseline:dev' \
+ $(KDEVOPS_PLAYBOOKS_DIR)/bootlinux.yml \
--tags vars,9p_mount \
--extra-vars="$(BOOTLINUX_ARGS)" $(LIMIT_HOSTS)
PHONY += linux-deploy
linux-deploy:
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) -i \
- $(KDEVOPS_HOSTFILE) $(KDEVOPS_PLAYBOOKS_DIR)/bootlinux.yml \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
+ --limit 'baseline:dev' \
+ $(KDEVOPS_PLAYBOOKS_DIR)/bootlinux.yml \
--tags vars,build-linux,install-linux,manual-update-grub,saved,vars,reboot \
--extra-vars="$(BOOTLINUX_ARGS)" $(LIMIT_HOSTS)
+PHONY += linux-build
+linux-build:
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
+ --limit 'baseline:dev' \
+ $(KDEVOPS_PLAYBOOKS_DIR)/bootlinux.yml \
+ --tags vars,build-linux,saved,vars \
+ --extra-vars="$(BOOTLINUX_ARGS)" $(LIMIT_HOSTS)
+
PHONY += linux-install
linux-install:
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) -i \
- $(KDEVOPS_HOSTFILE) $(KDEVOPS_PLAYBOOKS_DIR)/bootlinux.yml \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
+ --limit 'baseline:dev' \
+ $(KDEVOPS_PLAYBOOKS_DIR)/bootlinux.yml \
--tags vars,build-linux,install-linux \
--extra-vars="$(BOOTLINUX_ARGS)" $(LIMIT_HOSTS)
PHONY += linux-uninstall
linux-uninstall:
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) -i \
- $(KDEVOPS_HOSTFILE) $(KDEVOPS_PLAYBOOKS_DIR)/bootlinux.yml \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
+ --limit 'baseline:dev' \
+ $(KDEVOPS_PLAYBOOKS_DIR)/bootlinux.yml \
--tags uninstall-linux,vars \
--extra-vars '{ "uninstall_kernel_enable": "True", $(LINUX_DYNAMIC_RUNTIME_VARS) }' \
$(LIMIT_HOSTS)
linux-clone-clients: $(KDEVOPS_NODES)
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) -i \
- $(KDEVOPS_HOSTFILE) $(KDEVOPS_PLAYBOOKS_DIR)/bootlinux.yml \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
+ --limit 'baseline:dev' \
+ $(KDEVOPS_PLAYBOOKS_DIR)/bootlinux.yml \
--extra-vars="$(BOOTLINUX_ARGS)" $(LIMIT_HOSTS) \
--tags vars,clone
PHONY += linux-clone-9p
linux-clone-9p: $(KDEVOPS_NODES)
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \
- --inventory localhost, \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
+ --limit 'localhost' \
$(KDEVOPS_PLAYBOOKS_DIR)/bootlinux.yml \
--extra-vars="$(BOOTLINUX_ARGS)" \
--tags vars,clone
@@ -142,27 +157,30 @@ linux-clone: $(KDEVOPS_NODES) $(LINUX_CLONE_DEFAULT_TYPE)
PHONY += linux-grub-setup
linux-grub-setup:
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) -i \
- $(KDEVOPS_HOSTFILE) $(KDEVOPS_PLAYBOOKS_DIR)/bootlinux.yml \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
+ --limit 'baseline:dev' \
+ $(KDEVOPS_PLAYBOOKS_DIR)/bootlinux.yml \
--extra-vars="$(BOOTLINUX_ARGS)" $(LIMIT_HOSTS) --tags manual-update-grub,saved,vars
PHONY += linux-reboot
linux-reboot:
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) -i \
- $(KDEVOPS_HOSTFILE) $(KDEVOPS_PLAYBOOKS_DIR)/bootlinux.yml \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
+ --limit 'baseline:dev' \
+ $(KDEVOPS_PLAYBOOKS_DIR)/bootlinux.yml \
--extra-vars="$(BOOTLINUX_ARGS)" $(LIMIT_HOSTS) --tags vars,reboot
PHONY += uname
uname:
- $(Q)ansible 'baseline:dev' -i hosts -b -m command -a "uname -r" -o \
+ $(Q)ansible 'baseline:dev' -b -m command -a "uname -r" -o \
| awk -F '|' '{gsub(/^ +| +$$/, "", $$2); printf "%-30s %s\n", $$1, $$4}' \
| sed -e 's|(stdout)||'
ifeq (y,$(CONFIG_KDEVOPS_WORKFLOW_ENABLE_CXL))
PHONY += linux-cxl
linux-cxl: $(KDEVOPS_NODES)
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) -i \
- $(KDEVOPS_HOSTFILE) $(KDEVOPS_PLAYBOOKS_DIR)/bootlinux.yml \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
+ --limit 'baseline:dev' \
+ $(KDEVOPS_PLAYBOOKS_DIR)/bootlinux.yml \
--tags 'vars,cxl-build,cxl-install' \
--extra-vars="$(BOOTLINUX_ARGS)" $(LIMIT_HOSTS)
diff --git a/workflows/ltp/Makefile b/workflows/ltp/Makefile
index 081e836..ddbdf73 100644
--- a/workflows/ltp/Makefile
+++ b/workflows/ltp/Makefile
@@ -116,13 +116,13 @@ endif
ltp:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) -l baseline,dev \
+ --limit 'baseline:dev' \
--skip-tags run_tests,copy_results \
$(KDEVOPS_PLAYBOOKS_DIR)/ltp.yml
ltp-baseline:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) -l baseline \
+ --limit 'baseline' \
--tags vars,run_tests,copy_results \
--extra-vars=@./extra_vars.yaml \
$(KDEVOPS_PLAYBOOKS_DIR)/ltp.yml
@@ -135,7 +135,7 @@ ltp-baseline-kernelci:
ltp-dev-baseline:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) -l dev \
+ --limit 'dev' \
--tags vars,run_tests,copy_results \
--extra-vars=@./extra_vars.yaml \
$(KDEVOPS_PLAYBOOKS_DIR)/ltp.yml
@@ -148,7 +148,7 @@ ltp-dev-kernelci:
ltp-dev-reset:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) -l dev \
+ --limit 'dev' \
--tags vars,reset \
--extra-vars=@./extra_vars.yaml \
$(KDEVOPS_PLAYBOOKS_DIR)/ltp.yml
diff --git a/workflows/mmtests/Makefile b/workflows/mmtests/Makefile
index cfccd6b..06a75ea 100644
--- a/workflows/mmtests/Makefile
+++ b/workflows/mmtests/Makefile
@@ -6,42 +6,42 @@ endif
mmtests:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts playbooks/mmtests.yml \
+ playbooks/mmtests.yml \
--extra-vars=@./extra_vars.yaml \
--tags deps,setup
$(MMTESTS_ARGS)
mmtests-baseline:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts -l baseline playbooks/mmtests.yml
+ -l baseline playbooks/mmtests.yml
--extra-vars=@./extra_vars.yaml \
--tags run_tests \
$(MMTESTS_ARGS)
mmtests-dev:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts -l dev playbooks/mmtests.yml \
+ -l dev playbooks/mmtests.yml \
--extra-vars=@./extra_vars.yaml \
--tags run_tests \
$(MMTESTS_ARGS)
mmtests-test: mmtests
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts playbooks/mmtests.yml \
+ playbooks/mmtests.yml \
--extra-vars=@./extra_vars.yaml \
--tags run_tests,results \
$(MMTESTS_ARGS)
mmtests-results:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts playbooks/mmtests.yml \
+ playbooks/mmtests.yml \
--extra-vars=@./extra_vars.yaml \
--tags results \
$(MMTESTS_ARGS)
mmtests-clean:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts playbooks/mmtests.yml \
+ playbooks/mmtests.yml \
--extra-vars=@./extra_vars.yaml \
--tags clean \
$(MMTESTS_ARGS)
diff --git a/workflows/nfstest/Makefile b/workflows/nfstest/Makefile
index 80c00c1..3945edf 100644
--- a/workflows/nfstest/Makefile
+++ b/workflows/nfstest/Makefile
@@ -73,13 +73,13 @@ endif
nfstest:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) -l baseline,dev \
+ --limit 'baseline:dev' \
--skip-tags run_tests,copy_results \
$(KDEVOPS_PLAYBOOKS_DIR)/nfstest.yml
nfstest-baseline:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) -l baseline \
+ --limit 'baseline' \
--tags vars,run_tests,copy_results \
--extra-vars=@./extra_vars.yaml \
$(KDEVOPS_PLAYBOOKS_DIR)/nfstest.yml
@@ -92,7 +92,7 @@ nfstest-baseline-kernelci:
nfstest-dev-baseline:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) -l dev \
+ --limit 'dev' \
--tags vars,run_tests,copy_results \
--extra-vars=@./extra_vars.yaml \
$(KDEVOPS_PLAYBOOKS_DIR)/nfstest.yml
@@ -105,7 +105,7 @@ nfstest-dev-kernelci:
nfstest-dev-reset:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) -l dev \
+ --limit 'dev' \
--tags vars,reset \
--extra-vars=@./extra_vars.yaml \
$(KDEVOPS_PLAYBOOKS_DIR)/nfstest.yml
diff --git a/workflows/pynfs/Makefile b/workflows/pynfs/Makefile
index dc4b29c..1dfd349 100644
--- a/workflows/pynfs/Makefile
+++ b/workflows/pynfs/Makefile
@@ -45,18 +45,18 @@ endif
# Makefile for pynfs targets
pynfs:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) -l baseline,dev \
+ --limit 'baseline:dev' \
--skip-tags run_tests,copy_results,clean_local_results \
$(KDEVOPS_PLAYBOOKS_DIR)/pynfs.yml
pynfs-baseline:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) -l baseline \
+ --limit 'baseline' \
--tags vars,first_run,reset \
--extra-vars=@./extra_vars.yaml \
$(KDEVOPS_PLAYBOOKS_DIR)/pynfs.yml
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) -l baseline \
+ --limit 'baseline' \
--tags vars,run_tests,copy_results \
--extra-vars=@./extra_vars.yaml \
$(KDEVOPS_PLAYBOOKS_DIR)/pynfs.yml
@@ -75,12 +75,12 @@ pynfs-baseline-kernelci:
# Below are the corresponding dev targets
pynfs-dev-baseline:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) -l dev \
+ --limit 'dev' \
--tags vars,first_run,reset \
--extra-vars=@./extra_vars.yaml \
$(KDEVOPS_PLAYBOOKS_DIR)/pynfs.yml
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) -l dev \
+ --limit 'dev' \
--tags vars,run_tests,copy_results \
--extra-vars=@./extra_vars.yaml \
$(KDEVOPS_PLAYBOOKS_DIR)/pynfs.yml
@@ -93,7 +93,7 @@ pynfs-dev-kernelci:
pynfs-dev-reset:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) -l dev \
+ --limit 'dev' \
--tags vars,reset \
--extra-vars=@./extra_vars.yaml \
$(KDEVOPS_PLAYBOOKS_DIR)/pynfs.yml
diff --git a/workflows/selftests/Makefile b/workflows/selftests/Makefile
index 075da61..d3b7044 100644
--- a/workflows/selftests/Makefile
+++ b/workflows/selftests/Makefile
@@ -33,24 +33,27 @@ include $(TOPDIR)/workflows/selftests/tests/Makefile.xarray
selftests:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts playbooks/selftests.yml \
+ playbooks/selftests.yml \
--skip-tags run_tests,copy_results,check_results \
$(LIMIT_HOSTS)
selftests-baseline:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts -l baseline playbooks/selftests.yml \
+ --limit 'baseline' \
+ playbooks/selftests.yml \
--extra-vars '{ $(SELFTESTS_DYNAMIC_RUNTIME_VARS) }' \
--tags vars,run_tests,copy_results,check_results $(LIMIT_HOSTS)
selftests-results:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts -l baseline playbooks/selftests.yml \
+ --limit 'baseline' \
+ playbooks/selftests.yml \
--tags vars,copy_results,check_results $(LIMIT_HOSTS)
selftests-check-results:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts -l baseline playbooks/selftests.yml \
+ --limit 'baseline' \
+ playbooks/selftests.yml \
--tags vars,check_results $(LIMIT_HOSTS)
selftests-help-main:
diff --git a/workflows/steady_state/Makefile b/workflows/steady_state/Makefile
index 514bd47..66a4801 100644
--- a/workflows/steady_state/Makefile
+++ b/workflows/steady_state/Makefile
@@ -8,22 +8,22 @@ SSD_STEADY_STATE_DYNAMIC_RUNTIME_VARS := "kdevops_run_ssd_steady_state": True
steady-state-files:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) playbooks/steady_state.yml \
+ playbooks/steady_state.yml \
--extra-vars=@./extra_vars.yaml --tags vars,setup $(LIMIT_HOSTS)
steady-state-prefill:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) playbooks/steady_state.yml \
+ playbooks/steady_state.yml \
--extra-vars=@./extra_vars.yaml --tags vars,prefill $(LIMIT_HOSTS)
steady-state-run:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) playbooks/steady_state.yml \
+ playbooks/steady_state.yml \
--extra-vars=@./extra_vars.yaml --tags vars,steady_state $(LIMIT_HOSTS)
steady-state:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) playbooks/steady_state.yml \
+ playbooks/steady_state.yml \
--extra-vars '{ $(SSD_STEADY_STATE_DYNAMIC_RUNTIME_VARS) }' $(LIMIT_HOSTS)
steady-state-help-menu:
diff --git a/workflows/sysbench/Makefile b/workflows/sysbench/Makefile
index 21cb297..daf7bc7 100644
--- a/workflows/sysbench/Makefile
+++ b/workflows/sysbench/Makefile
@@ -29,36 +29,36 @@ TAGS_SYSBENCH_RESULTS += results
# Target to set up sysbench (MySQL or PostgreSQL)
sysbench:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts playbooks/sysbench.yml \
+ playbooks/sysbench.yml \
--skip-tags $(subst $(space),$(comma),$(TAGS_SYSBENCH_RUN))
# Target to run sysbench tests (including telemetry)
sysbench-test:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts playbooks/sysbench.yml \
+ playbooks/sysbench.yml \
--tags $(subst $(space),$(comma),$(TAGS_SYSBENCH_TEST))
# Optional target to collect telemetry
sysbench-telemetry:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts playbooks/sysbench.yml \
+ playbooks/sysbench.yml \
--tags $(subst $(space),$(comma),$(TAGS_SYSBENCH_TELEMETRY))
# Optional target to collect all results
sysbench-results:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts playbooks/sysbench.yml \
+ playbooks/sysbench.yml \
--tags $(subst $(space),$(comma),$(TAGS_SYSBENCH_RESULTS))
sysbench-clean:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts playbooks/sysbench.yml \
+ playbooks/sysbench.yml \
--tags vars,clean
# Optional in case you want to improve graphing
sysbench-plot:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts playbooks/sysbench.yml \
+ playbooks/sysbench.yml \
--tags vars,plot
# Help target to show available options
--
2.50.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v5 10/12] ansible_cfg: add support to change ansible.cfg file location
2025-07-24 19:36 [PATCH v5 00/12] Define Ansible inventory in the Ansible Configuration file Daniel Gomez
` (8 preceding siblings ...)
2025-07-24 19:36 ` [PATCH v5 09/12] Makefile: use inventory from ansible.cfg Daniel Gomez
@ 2025-07-24 19:36 ` Daniel Gomez
2025-07-24 19:36 ` [PATCH v5 11/12] docs: ansible_cfg: add documentation Daniel Gomez
` (3 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: Daniel Gomez @ 2025-07-24 19:36 UTC (permalink / raw)
To: Luis Chamberlain, Chuck Lever; +Cc: kdevops, Daniel Gomez, Daniel Gomez
From: Daniel Gomez <da.gomez@samsung.com>
This adds support to change the Ansible Configuration filename and
location via Kconfig.
Ansible checks the ansible.cfg file using the following order [1]:
* ANSIBLE_CONFIG (environment variable if set)
* ansible.cfg (in the current directory)
* ~/.ansible.cfg (in the home directory)
* /etc/ansible/ansible.cfg
In order to set a custom path, export the ANSIBLE_CONFIG [2] that points
to the file selected in Kconfig. But only when the Kconfig option is not
empty. In such case, let the user handle the ANSIBLE_CONFIG variable.
[1]
https://docs.ansible.com/ansible/latest/reference_appendices/
config.html#the-configuration-file
[2]
https://docs.ansible.com/ansible/latest/reference_appendices/
config.html#envvar-ANSIBLE_CONFIG
In addition, fix verbose mode (V=1) for the ansible-playbook command by
removing the extra @.
Remove the file from MAINTAINERS list as it is autogenerated and not
in tree.
Reviewed-by: Luis Chamberlain <mcgrof@kernel.org>
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
MAINTAINERS | 1 -
Makefile | 17 ++++++++++-------
kconfigs/Kconfig.ansible_cfg | 23 +++++++++++++++++++++++
playbooks/roles/ansible_cfg/tasks/main.yml | 3 ++-
4 files changed, 35 insertions(+), 9 deletions(-)
diff --git a/MAINTAINERS b/MAINTAINERS
index 3059120..d6f578c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -72,7 +72,6 @@ M: Daniel Gomez <da.gomez@samsung.com>
L: kdevops@lists.linux.dev
S: Maintained
T: git https://github.com/linux-kdevops/kdevops.git
-F: ansible.cfg
F: kconfigs/Kconfig.ansible_cfg
F: playbooks/ansible_cfg.yml
F: playbooks/roles/ansible_cfg
diff --git a/Makefile b/Makefile
index 2bd3da4..4fc524a 100644
--- a/Makefile
+++ b/Makefile
@@ -26,6 +26,10 @@ KDEVOPS_NODES_ROLE_TEMPLATE_DIR := $(KDEVOPS_PLAYBOOKS_DIR)/roles/gen_nodes/tem
export KDEVOPS_NODES_TEMPLATE :=
export KDEVOPS_MRPROPER :=
+ifneq ($(strip $(CONFIG_ANSIBLE_CFG_FILE)),)
+ANSIBLE_CFG_FILE := $(shell echo $(CONFIG_ANSIBLE_CFG_FILE) | tr --delete '"')
+export ANSIBLE_CONFIG := $(ANSIBLE_CFG_FILE)
+endif
ANSIBLE_INVENTORY_FILE := $(shell echo $(CONFIG_ANSIBLE_CFG_INVENTORY) | tr --delete '"')
KDEVOPS_INSTALL_TARGETS :=
@@ -195,9 +199,8 @@ include scripts/gen-nodes.Makefile
make -f scripts/build.Makefile help ;\
false)
-
-ansible.cfg: .config
- @$(Q)ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \
+$(ANSIBLE_CFG_FILE): .config
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \
--inventory localhost, \
$(KDEVOPS_PLAYBOOKS_DIR)/ansible_cfg.yml \
--extra-vars=@./.extra_vars_auto.yaml
@@ -216,7 +219,7 @@ playbooks/secret.yml:
@echo "$(CONFIG_KDEVOPS_REG_TWOLINE_REGCODE_VAR): $(CONFIG_KDEVOPS_REG_TWOLINE_REGCODE)" >> $@
ifeq (y,$(CONFIG_KDEVOPS_ENABLE_DISTRO_EXTRA_ADDONS))
-$(KDEVOPS_EXTRA_ADDON_DEST): .config ansible.cfg $(KDEVOPS_EXTRA_ADDON_SOURCE)
+$(KDEVOPS_EXTRA_ADDON_DEST): .config $(ANSIBLE_CFG_FILE) $(KDEVOPS_EXTRA_ADDON_SOURCE)
$(Q)cp $(KDEVOPS_EXTRA_ADDON_SOURCE) $(KDEVOPS_EXTRA_ADDON_DEST)
endif
@@ -227,13 +230,13 @@ include scripts/bringup.Makefile
endif
DEFAULT_DEPS += $(ANSIBLE_INVENTORY_FILE)
-$(ANSIBLE_INVENTORY_FILE): .config ansible.cfg $(KDEVOPS_HOSTS_TEMPLATE)
+$(ANSIBLE_INVENTORY_FILE): .config $(ANSIBLE_CFG_FILE) $(KDEVOPS_HOSTS_TEMPLATE)
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
$(KDEVOPS_PLAYBOOKS_DIR)/gen_hosts.yml \
--extra-vars=@./extra_vars.yaml
DEFAULT_DEPS += $(KDEVOPS_NODES)
-$(KDEVOPS_NODES) $(KDEVOPS_VAGRANT): .config ansible.cfg $(KDEVOPS_NODES_TEMPLATE)
+$(KDEVOPS_NODES) $(KDEVOPS_VAGRANT): .config $(ANSIBLE_CFG_FILE) $(KDEVOPS_NODES_TEMPLATE)
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
$(KDEVOPS_PLAYBOOKS_DIR)/gen_nodes.yml \
--extra-vars=@./extra_vars.yaml
@@ -264,7 +267,7 @@ mrproper:
$(Q)rm -f $(KDEVOPS_NODES)
$(Q)rm -f $(ANSIBLE_CFG_INVENTORY) $(KDEVOPS_MRPROPER)
$(Q)rm -f .config .config.old extra_vars.yaml $(KCONFIG_YAMLCFG)
- $(Q)rm -f ansible.cfg
+ $(Q)rm -f $(ANSIBLE_CFG_FILE)
$(Q)rm -f playbooks/secret.yml $(KDEVOPS_EXTRA_ADDON_DEST)
$(Q)rm -rf include
$(Q)rm -rf guestfs
diff --git a/kconfigs/Kconfig.ansible_cfg b/kconfigs/Kconfig.ansible_cfg
index a05c8cb..dbd189f 100644
--- a/kconfigs/Kconfig.ansible_cfg
+++ b/kconfigs/Kconfig.ansible_cfg
@@ -18,6 +18,29 @@ config ANSIBLE_CFG_INVENTORY_SET_BY_CLI
bool
default $(shell, scripts/check-cli-set-var.sh KDEVOPS_HOSTS)
+config ANSIBLE_CFG_FILE
+ string "Ansible configuration file"
+ output yaml
+ default "$(TOPDIR_PATH)/ansible.cfg"
+ help
+ Path and filename to the Ansible configuration file.
+
+ This option lets you specify the path and filename for the Ansible
+ configuration file. If the specified file already exists, it will not
+ be overwritten. Otherwise, kdevops will generate one using the settings
+ defined in this Kconfig menu.
+
+ If this option is left undefined or set to an empty string, kdevops
+ will not generate any configuration file. In that case, Ansible will
+ fall back to its own search order to locate a config file:
+ 1. The ANSIBLE_CONFIG environment variable (if set)
+ 2. ./ansible.cfg (in the current working directory)
+ 3. ~/.ansible.cfg (in the user's home directory)
+ 4. /etc/ansible/ansible.cfg (system-wide default)
+
+ For more details, refer to the Ansible documentation:
+ https://docs.ansible.com/ansible/latest/reference_appendices/config.html#the-configuration-file
+
menu "Ansible Callback Plugin Configuration"
choice
prompt "Ansible Callback Plugin"
diff --git a/playbooks/roles/ansible_cfg/tasks/main.yml b/playbooks/roles/ansible_cfg/tasks/main.yml
index 83a1659..c2b0db1 100644
--- a/playbooks/roles/ansible_cfg/tasks/main.yml
+++ b/playbooks/roles/ansible_cfg/tasks/main.yml
@@ -14,7 +14,8 @@
- name: Generate kdevops ansible.cfg
ansible.builtin.template:
src: "ansible.cfg.j2"
- dest: "{{ topdir_path }}/ansible.cfg"
+ dest: "{{ ansible_cfg_file }}"
+ mode: '0755'
- name: Update ansible.cfg access modification time so make sees it updated
ansible.builtin.file:
--
2.50.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v5 11/12] docs: ansible_cfg: add documentation
2025-07-24 19:36 [PATCH v5 00/12] Define Ansible inventory in the Ansible Configuration file Daniel Gomez
` (9 preceding siblings ...)
2025-07-24 19:36 ` [PATCH v5 10/12] ansible_cfg: add support to change ansible.cfg file location Daniel Gomez
@ 2025-07-24 19:36 ` Daniel Gomez
2025-07-24 19:36 ` [PATCH v5 12/12] build.Makefile: fix verbosity of clean target Daniel Gomez
` (2 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: Daniel Gomez @ 2025-07-24 19:36 UTC (permalink / raw)
To: Luis Chamberlain, Chuck Lever; +Cc: kdevops, Daniel Gomez, Daniel Gomez
From: Daniel Gomez <da.gomez@samsung.com>
Add documentation file for the Ansible Configuration Module
(ansible_cfg).
Reviewed-by: Luis Chamberlain <mcgrof@kernel.org>
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
MAINTAINERS | 1 +
docs/kdevops-ansible-configuration.md | 102 ++++++++++++++++++++++++++++++++++
2 files changed, 103 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index d6f578c..87273ca 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -72,6 +72,7 @@ M: Daniel Gomez <da.gomez@samsung.com>
L: kdevops@lists.linux.dev
S: Maintained
T: git https://github.com/linux-kdevops/kdevops.git
+F: docs/kdevops-ansible-configuration.md
F: kconfigs/Kconfig.ansible_cfg
F: playbooks/ansible_cfg.yml
F: playbooks/roles/ansible_cfg
diff --git a/docs/kdevops-ansible-configuration.md b/docs/kdevops-ansible-configuration.md
new file mode 100644
index 0000000..c5d3a5d
--- /dev/null
+++ b/docs/kdevops-ansible-configuration.md
@@ -0,0 +1,102 @@
+# kdevops Ansible Configuration
+
+The Ansible Configuration module in kdevops allows the user to configure the
+[Ansible configuration file](https://docs.ansible.com/ansible/latest/reference_appendices/config.html#the-configuration-file)
+, typically `ansible.cfg` (in kdevops `$TOPDIR_PATH` directory). This file
+includes some Ansible settings such as the callback plugin and the Ansible
+inventory file configuration (a comma-separated list).
+
+
+## Ansible Configuration File (`ANSIBLE_CFG_FILE`)
+
+This setting allows the user to define a path and filename to the Ansible
+configuration file.
+
+If the specified file already exists, it will not be overwritten. Otherwise,
+kdevops will generate one using the Kconfig settings.
+
+Default: `$(TOPDIR_PATH)/ansible.cfg`
+
+See: [Ansible config file](https://docs.ansible.com/ansible/latest/reference_appendices/config.html#the-configuration-file)
+
+
+## Ansible Inventory File (`ANSIBLE_CFG_INVENTORY`)
+
+Comma-separated list of Ansible inventory source paths. Each entry can be a path
+to a file or directory.
+
+Example: `/path/to/hosts,/path/to/inventory_dir`
+
+This is written to the `[defaults]` section of the generated `ansible.cfg`:
+
+```ini
+[defaults]
+inventory = /path/to/hosts,/path/to/inventory_dir
+```
+
+Default: `$(TOPDIR_PATH)/hosts`
+
+See: [Ansible inventory sources](https://docs.ansible.com/ansible/latest/reference_appendices/config.html#default-host-list)
+
+
+## Callback Plugin Configuration (`ANSIBLE_CFG_CALLBACK_PLUGIN*`)
+
+The callback plugin determines how Ansible output is displayed. You may select one of:
+
+- [debug](https://docs.ansible.com/ansible/latest/collections/ansible/posix/debug_callback.html): formatted stdout/stderr display
+- [dense](https://docs.ansible.com/ansible/latest/collections/community/general/dense_callback.html): minimal stdout output
+- custom: this allows defining the plugin name manually
+
+See more plugins:
+[Ansible callback plugins list](https://docs.ansible.com/ansible/latest/collections/index_callback.html)
+
+Also, see the Parameters section in the debug/dense for a description of the
+callback plugin options.
+
+
+## Python Interpreter Configuration (`ANSIBLE_CFG_INTERPRETER_PYTHON`)
+
+This allows selecting how Ansible discovers or uses a Python interpreter on target systems.
+
+Options include:
+
+- auto
+- auto_legacy
+- auto_legacy_client
+- auto_silent
+- custom: this allows defining the path manually
+
+See:
+- [Interpreter Discovery](https://docs.ansible.com/ansible/latest/reference_appendices/interpreter_discovery.html#interpreter-discovery)
+- [Using Python 3](https://docs.ansible.com/ansible/latest/reference_appendices/python_3_support.html#using-python-3-on-the-managed-machines-with-commands-and-playbooks)
+
+This option can be controlled via command line Makefile parameter `ANSIBLE_CFG_INTERPRETER_PYTHON`.
+
+
+## Forks Configuration (`ANSIBLE_CFG_FORKS`)
+
+Control the number of parallel forks (concurrent tasks) Ansible may use.
+
+Default: 10
+
+See: [Forks](https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_strategies.html#setting-the-number-of-forks)
+
+This option can be controlled via command line Makefile parameter `ANSIBLE_CFG_FORKS`.
+
+
+## Ansible Deprecation Warnings (`ANSIBLE_CFG_DEPRECATION_WARNINGS`)
+
+Toggle whether Ansible displays deprecation warnings.
+
+Default: Enabled
+
+See: [Deprecation warnings](https://docs.ansible.com/ansible/latest/reference_appendices/config.html#deprecation-warnings)
+
+
+## Ansible Reconnection Retries (`ANSIBLE_CFG_RECONNECTION_RETRIES`, OpenSUSE only)
+
+Number of SSH reconnection attempts. Ansible retries connections only on SSH return code 255.
+
+Default: 2000
+
+See: [Reconnection retries](https://docs.ansible.com/ansible/latest/collections/ansible/builtin/ssh_connection.html#parameter-reconnection_retries)
--
2.50.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v5 12/12] build.Makefile: fix verbosity of clean target
2025-07-24 19:36 [PATCH v5 00/12] Define Ansible inventory in the Ansible Configuration file Daniel Gomez
` (10 preceding siblings ...)
2025-07-24 19:36 ` [PATCH v5 11/12] docs: ansible_cfg: add documentation Daniel Gomez
@ 2025-07-24 19:36 ` Daniel Gomez
2025-07-25 14:03 ` [PATCH v5 00/12] Define Ansible inventory in the Ansible Configuration file Chuck Lever
2025-07-28 5:57 ` Daniel Gomez
13 siblings, 0 replies; 20+ messages in thread
From: Daniel Gomez @ 2025-07-24 19:36 UTC (permalink / raw)
To: Luis Chamberlain, Chuck Lever; +Cc: kdevops, Daniel Gomez, Daniel Gomez
From: Daniel Gomez <da.gomez@samsung.com>
Fixes verbosity of the clean target. When used with new verbosity, it
makes it fail as it tries to print the @ command.
==> [mrproper]
+ @rm -f *.o
/bin/sh: 1: @rm: not found
make[1]: *** [scripts/build.Makefile:7: clean] Error 127
make: *** [Makefile:267: mrproper] Error 2
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
scripts/build.Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/build.Makefile b/scripts/build.Makefile
index 62aaccf..6fe5c11 100644
--- a/scripts/build.Makefile
+++ b/scripts/build.Makefile
@@ -4,7 +4,7 @@
PHONY += clean
clean: $(clean-subdirs)
$(Q)$(MAKE) -C scripts/kconfig/ clean
- $(Q)@rm -f *.o $(obj-y)
+ $(Q)rm -f *.o $(obj-y)
PHONY += mrproper
mrproper:
--
2.50.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: [PATCH v5 07/12] gen_hosts: add service group to inventory templates
2025-07-24 19:36 ` [PATCH v5 07/12] gen_hosts: add service group to inventory templates Daniel Gomez
@ 2025-07-24 19:51 ` Luis Chamberlain
2025-07-25 8:13 ` Daniel Gomez
2025-07-24 20:02 ` Chuck Lever
1 sibling, 1 reply; 20+ messages in thread
From: Luis Chamberlain @ 2025-07-24 19:51 UTC (permalink / raw)
To: Daniel Gomez; +Cc: Chuck Lever, kdevops, Daniel Gomez
On Thu, Jul 24, 2025 at 09:36:13PM +0200, Daniel Gomez wrote:
> From: Daniel Gomez <da.gomez@samsung.com>
>
> Introduce a new 'service' group in all inventory templates that includes
> service hosts (iscsi, nfsd, smbd, kdc). This provides a convenient way
> to target all service hosts collectively for operations like guestfs
> bringup and SSH configuration.
>
> The service group includes:
> - iscsi hosts (when kdevops_enable_iscsi is enabled)
> - nfsd hosts (when kdevops_nfsd_enable is enabled)
> - smbd hosts (when kdevops_smbd_enable is enabled)
> - kdc hosts (when kdevops_krb5_enable is enabled)
>
> This addresses issues where operations limited to 'baseline:dev' would
> miss required service hosts, causing workflow failures.
>
> Generated-by: Claude AI
No newline needed
>
> Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
Reviewed-by: Luis Chamberlain <mcgrof@kernel.org>
Luis
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v5 07/12] gen_hosts: add service group to inventory templates
2025-07-24 19:36 ` [PATCH v5 07/12] gen_hosts: add service group to inventory templates Daniel Gomez
2025-07-24 19:51 ` Luis Chamberlain
@ 2025-07-24 20:02 ` Chuck Lever
2025-07-25 8:36 ` Daniel Gomez
1 sibling, 1 reply; 20+ messages in thread
From: Chuck Lever @ 2025-07-24 20:02 UTC (permalink / raw)
To: Daniel Gomez, Luis Chamberlain; +Cc: kdevops, Daniel Gomez, Jeff Layton
On 7/24/25 3:36 PM, Daniel Gomez wrote:
> From: Daniel Gomez <da.gomez@samsung.com>
>
> Introduce a new 'service' group in all inventory templates that includes
> service hosts (iscsi, nfsd, smbd, kdc). This provides a convenient way
> to target all service hosts collectively for operations like guestfs
> bringup and SSH configuration.
>
> The service group includes:
> - iscsi hosts (when kdevops_enable_iscsi is enabled)
> - nfsd hosts (when kdevops_nfsd_enable is enabled)
> - smbd hosts (when kdevops_smbd_enable is enabled)
> - kdc hosts (when kdevops_krb5_enable is enabled)
>
> This addresses issues where operations limited to 'baseline:dev' would
> miss required service hosts, causing workflow failures.
>
> Generated-by: Claude AI
>
> Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
> ---
> playbooks/roles/gen_hosts/templates/fstests.j2 | 15 +++++++++++++++
> playbooks/roles/gen_hosts/templates/gitr.j2 | 9 +++++++++
> playbooks/roles/gen_hosts/templates/hosts.j2 | 9 +++++++++
> playbooks/roles/gen_hosts/templates/nfstest.j2 | 9 +++++++++
> playbooks/roles/gen_hosts/templates/pynfs.j2 | 7 +++++++
> 5 files changed, 49 insertions(+)
>
> diff --git a/playbooks/roles/gen_hosts/templates/fstests.j2 b/playbooks/roles/gen_hosts/templates/fstests.j2
> index abcdafd..a489c12 100644
> --- a/playbooks/roles/gen_hosts/templates/fstests.j2
> +++ b/playbooks/roles/gen_hosts/templates/fstests.j2
> @@ -69,3 +69,18 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
> [krb5:vars]
> ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
> {% endif %}
> +[service]
> +{% if kdevops_enable_iscsi %}
> +{{ kdevops_hosts_prefix }}-iscsi
> +{% endif %}
> +{% if kdevops_nfsd_enable %}
> +{{ kdevops_hosts_prefix }}-nfsd
> +{% endif %}
> +{% if kdevops_smbd_enable %}
> +{{ kdevops_hosts_prefix }}-smbd
> +{% endif %}
> +{% if kdevops_krb5_enable %}
> +{{ kdevops_hosts_prefix }}-kdc
> +{% endif %}
> +[service:vars]
> +ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
> diff --git a/playbooks/roles/gen_hosts/templates/gitr.j2 b/playbooks/roles/gen_hosts/templates/gitr.j2
> index b8f393d..41aee2b 100644
> --- a/playbooks/roles/gen_hosts/templates/gitr.j2
> +++ b/playbooks/roles/gen_hosts/templates/gitr.j2
> @@ -37,3 +37,12 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
> [nfsd:vars]
> ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
> {% endif %}
> +[service]
> +{% if kdevops_enable_iscsi %}
> +{{ kdevops_hosts_prefix }}-iscsi
> +{% endif %}
> +{% if kdevops_nfsd_enable %}
> +{{ kdevops_hosts_prefix }}-nfsd
> +{% endif %}
> +[service:vars]
> +ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
> diff --git a/playbooks/roles/gen_hosts/templates/hosts.j2 b/playbooks/roles/gen_hosts/templates/hosts.j2
> index 5032f59..639f5a4 100644
> --- a/playbooks/roles/gen_hosts/templates/hosts.j2
> +++ b/playbooks/roles/gen_hosts/templates/hosts.j2
> @@ -44,4 +44,13 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
> [nfsd:vars]
> ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
> {% endif %}
> +[service]
> +{% if kdevops_enable_iscsi %}
> +{{ kdevops_hosts_prefix }}-iscsi
> +{% endif %}
> +{% if kdevops_nfsd_enable %}
> +{{ kdevops_hosts_prefix }}-nfsd
> +{% endif %}
> +[service:vars]
> +ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
> {% endif %}
> diff --git a/playbooks/roles/gen_hosts/templates/nfstest.j2 b/playbooks/roles/gen_hosts/templates/nfstest.j2
> index 6a0d6cd..fb47471 100644
> --- a/playbooks/roles/gen_hosts/templates/nfstest.j2
> +++ b/playbooks/roles/gen_hosts/templates/nfstest.j2
> @@ -37,3 +37,12 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
> [nfsd:vars]
> ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
> {% endif %}
> +[service]
> +{% if kdevops_enable_iscsi %}
> +{{ kdevops_hosts_prefix }}-iscsi
> +{% endif %}
> +{% if kdevops_nfsd_enable %}
> +{{ kdevops_hosts_prefix }}-nfsd
> +{% endif %}
> +[service:vars]
> +ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
> diff --git a/playbooks/roles/gen_hosts/templates/pynfs.j2 b/playbooks/roles/gen_hosts/templates/pynfs.j2
> index c018c54..cac6fc6 100644
> --- a/playbooks/roles/gen_hosts/templates/pynfs.j2
> +++ b/playbooks/roles/gen_hosts/templates/pynfs.j2
> @@ -22,3 +22,10 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
> {{ kdevops_hosts_prefix }}-nfsd
> [nfsd:vars]
> ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
> +[service]
> +{% if kdevops_enable_iscsi %}
> +{{ kdevops_hosts_prefix }}-iscsi
> +{% endif %}
> +{{ kdevops_hosts_prefix }}-nfsd
> +[service:vars]
> +ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
>
The issue with the pynfs workflow is that the "nfsd" host is also where
the tests run. I think what you're doing is adding that host into both
the test-runners group and the new "service" group, which is probably
OK.
Would it be better if the pynfs workflow created a separate test runner
and nfsd host? Or even two test runners, one for NFSv4.0 and one for
NFSv4.1 ? That way the pynfs workflow would operate like the others.
Just a random thought, not an objection.
--
Chuck Lever
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v5 07/12] gen_hosts: add service group to inventory templates
2025-07-24 19:51 ` Luis Chamberlain
@ 2025-07-25 8:13 ` Daniel Gomez
0 siblings, 0 replies; 20+ messages in thread
From: Daniel Gomez @ 2025-07-25 8:13 UTC (permalink / raw)
To: Luis Chamberlain; +Cc: Chuck Lever, kdevops, Daniel Gomez
On 24/07/2025 21.51, Luis Chamberlain wrote:
> On Thu, Jul 24, 2025 at 09:36:13PM +0200, Daniel Gomez wrote:
>> From: Daniel Gomez <da.gomez@samsung.com>
>>
>> Introduce a new 'service' group in all inventory templates that includes
>> service hosts (iscsi, nfsd, smbd, kdc). This provides a convenient way
>> to target all service hosts collectively for operations like guestfs
>> bringup and SSH configuration.
>>
>> The service group includes:
>> - iscsi hosts (when kdevops_enable_iscsi is enabled)
>> - nfsd hosts (when kdevops_nfsd_enable is enabled)
>> - smbd hosts (when kdevops_smbd_enable is enabled)
>> - kdc hosts (when kdevops_krb5_enable is enabled)
>>
>> This addresses issues where operations limited to 'baseline:dev' would
>> miss required service hosts, causing workflow failures.
>>
>> Generated-by: Claude AI
>
> No newline needed
Making sure I'm not adding this line this time...
>>
>> Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
>
> Reviewed-by: Luis Chamberlain <mcgrof@kernel.org>
Thanks!
>
> Luis
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v5 07/12] gen_hosts: add service group to inventory templates
2025-07-24 20:02 ` Chuck Lever
@ 2025-07-25 8:36 ` Daniel Gomez
2025-07-25 14:00 ` Chuck Lever
0 siblings, 1 reply; 20+ messages in thread
From: Daniel Gomez @ 2025-07-25 8:36 UTC (permalink / raw)
To: Chuck Lever, Luis Chamberlain; +Cc: kdevops, Daniel Gomez, Jeff Layton
On 24/07/2025 22.02, Chuck Lever wrote:
> On 7/24/25 3:36 PM, Daniel Gomez wrote:
>> From: Daniel Gomez <da.gomez@samsung.com>
>>
>> Introduce a new 'service' group in all inventory templates that includes
>> service hosts (iscsi, nfsd, smbd, kdc). This provides a convenient way
>> to target all service hosts collectively for operations like guestfs
>> bringup and SSH configuration.
>>
>> The service group includes:
>> - iscsi hosts (when kdevops_enable_iscsi is enabled)
>> - nfsd hosts (when kdevops_nfsd_enable is enabled)
>> - smbd hosts (when kdevops_smbd_enable is enabled)
>> - kdc hosts (when kdevops_krb5_enable is enabled)
>>
>> This addresses issues where operations limited to 'baseline:dev' would
>> miss required service hosts, causing workflow failures.
>>
>> Generated-by: Claude AI
>>
>> Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
>> ---
>> playbooks/roles/gen_hosts/templates/fstests.j2 | 15 +++++++++++++++
>> playbooks/roles/gen_hosts/templates/gitr.j2 | 9 +++++++++
>> playbooks/roles/gen_hosts/templates/hosts.j2 | 9 +++++++++
>> playbooks/roles/gen_hosts/templates/nfstest.j2 | 9 +++++++++
>> playbooks/roles/gen_hosts/templates/pynfs.j2 | 7 +++++++
>> 5 files changed, 49 insertions(+)
>>
>> diff --git a/playbooks/roles/gen_hosts/templates/fstests.j2 b/playbooks/roles/gen_hosts/templates/fstests.j2
>> index abcdafd..a489c12 100644
>> --- a/playbooks/roles/gen_hosts/templates/fstests.j2
>> +++ b/playbooks/roles/gen_hosts/templates/fstests.j2
>> @@ -69,3 +69,18 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
>> [krb5:vars]
>> ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
>> {% endif %}
>> +[service]
>> +{% if kdevops_enable_iscsi %}
>> +{{ kdevops_hosts_prefix }}-iscsi
>> +{% endif %}
>> +{% if kdevops_nfsd_enable %}
>> +{{ kdevops_hosts_prefix }}-nfsd
>> +{% endif %}
>> +{% if kdevops_smbd_enable %}
>> +{{ kdevops_hosts_prefix }}-smbd
>> +{% endif %}
>> +{% if kdevops_krb5_enable %}
>> +{{ kdevops_hosts_prefix }}-kdc
>> +{% endif %}
>> +[service:vars]
>> +ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
>> diff --git a/playbooks/roles/gen_hosts/templates/gitr.j2 b/playbooks/roles/gen_hosts/templates/gitr.j2
>> index b8f393d..41aee2b 100644
>> --- a/playbooks/roles/gen_hosts/templates/gitr.j2
>> +++ b/playbooks/roles/gen_hosts/templates/gitr.j2
>> @@ -37,3 +37,12 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
>> [nfsd:vars]
>> ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
>> {% endif %}
>> +[service]
>> +{% if kdevops_enable_iscsi %}
>> +{{ kdevops_hosts_prefix }}-iscsi
>> +{% endif %}
>> +{% if kdevops_nfsd_enable %}
>> +{{ kdevops_hosts_prefix }}-nfsd
>> +{% endif %}
>> +[service:vars]
>> +ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
>> diff --git a/playbooks/roles/gen_hosts/templates/hosts.j2 b/playbooks/roles/gen_hosts/templates/hosts.j2
>> index 5032f59..639f5a4 100644
>> --- a/playbooks/roles/gen_hosts/templates/hosts.j2
>> +++ b/playbooks/roles/gen_hosts/templates/hosts.j2
>> @@ -44,4 +44,13 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
>> [nfsd:vars]
>> ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
>> {% endif %}
>> +[service]
>> +{% if kdevops_enable_iscsi %}
>> +{{ kdevops_hosts_prefix }}-iscsi
>> +{% endif %}
>> +{% if kdevops_nfsd_enable %}
>> +{{ kdevops_hosts_prefix }}-nfsd
>> +{% endif %}
>> +[service:vars]
>> +ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
>> {% endif %}
>> diff --git a/playbooks/roles/gen_hosts/templates/nfstest.j2 b/playbooks/roles/gen_hosts/templates/nfstest.j2
>> index 6a0d6cd..fb47471 100644
>> --- a/playbooks/roles/gen_hosts/templates/nfstest.j2
>> +++ b/playbooks/roles/gen_hosts/templates/nfstest.j2
>> @@ -37,3 +37,12 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
>> [nfsd:vars]
>> ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
>> {% endif %}
>> +[service]
>> +{% if kdevops_enable_iscsi %}
>> +{{ kdevops_hosts_prefix }}-iscsi
>> +{% endif %}
>> +{% if kdevops_nfsd_enable %}
>> +{{ kdevops_hosts_prefix }}-nfsd
>> +{% endif %}
>> +[service:vars]
>> +ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
>> diff --git a/playbooks/roles/gen_hosts/templates/pynfs.j2 b/playbooks/roles/gen_hosts/templates/pynfs.j2
>> index c018c54..cac6fc6 100644
>> --- a/playbooks/roles/gen_hosts/templates/pynfs.j2
>> +++ b/playbooks/roles/gen_hosts/templates/pynfs.j2
>> @@ -22,3 +22,10 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
>> {{ kdevops_hosts_prefix }}-nfsd
>> [nfsd:vars]
>> ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
>> +[service]
>> +{% if kdevops_enable_iscsi %}
>> +{{ kdevops_hosts_prefix }}-iscsi
>> +{% endif %}
>> +{{ kdevops_hosts_prefix }}-nfsd
>> +[service:vars]
>> +ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
>>
>
> The issue with the pynfs workflow is that the "nfsd" host is also where
> the tests run. I think what you're doing is adding that host into both
> the test-runners group and the new "service" group, which is probably
> OK.
That is correct.
>
> Would it be better if the pynfs workflow created a separate test runner
> and nfsd host? Or even two test runners, one for NFSv4.0 and one for
> NFSv4.1 ? That way the pynfs workflow would operate like the others.
You mean like in fstests, right?
FSTESTS_NFS_SECTION_V42
FSTESTS_NFS_SECTION_V41
FSTESTS_NFS_SECTION_V40
I agree pynfs is not consistent with the rest of the workflows. But I'm not
familiar with pynfs to agree if your suggestion make sense. Can you clarify if
your suggestion means having 2 kdevops profiles (i.e. 2 separate guests/vms)
with NFSv4.0 and NFS4.1 with both the option to run CONFIG_PYNFS_PNFS_BLOCK
or not. How is it done now? Does the test switch between NFS versions or uses
2 different NFS mount points to run the pynfs suite tests on them? Would nfsd
guest support both new vms?
>
> Just a random thought, not an objection.
Would you agree to do this separately?
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v5 07/12] gen_hosts: add service group to inventory templates
2025-07-25 8:36 ` Daniel Gomez
@ 2025-07-25 14:00 ` Chuck Lever
0 siblings, 0 replies; 20+ messages in thread
From: Chuck Lever @ 2025-07-25 14:00 UTC (permalink / raw)
To: Daniel Gomez, Luis Chamberlain; +Cc: kdevops, Daniel Gomez, Jeff Layton
On 7/25/25 4:36 AM, Daniel Gomez wrote:
>
>
> On 24/07/2025 22.02, Chuck Lever wrote:
>> On 7/24/25 3:36 PM, Daniel Gomez wrote:
>>> From: Daniel Gomez <da.gomez@samsung.com>
>>>
>>> Introduce a new 'service' group in all inventory templates that includes
>>> service hosts (iscsi, nfsd, smbd, kdc). This provides a convenient way
>>> to target all service hosts collectively for operations like guestfs
>>> bringup and SSH configuration.
>>>
>>> The service group includes:
>>> - iscsi hosts (when kdevops_enable_iscsi is enabled)
>>> - nfsd hosts (when kdevops_nfsd_enable is enabled)
>>> - smbd hosts (when kdevops_smbd_enable is enabled)
>>> - kdc hosts (when kdevops_krb5_enable is enabled)
>>>
>>> This addresses issues where operations limited to 'baseline:dev' would
>>> miss required service hosts, causing workflow failures.
>>>
>>> Generated-by: Claude AI
>>>
>>> Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
>>> ---
>>> playbooks/roles/gen_hosts/templates/fstests.j2 | 15 +++++++++++++++
>>> playbooks/roles/gen_hosts/templates/gitr.j2 | 9 +++++++++
>>> playbooks/roles/gen_hosts/templates/hosts.j2 | 9 +++++++++
>>> playbooks/roles/gen_hosts/templates/nfstest.j2 | 9 +++++++++
>>> playbooks/roles/gen_hosts/templates/pynfs.j2 | 7 +++++++
>>> 5 files changed, 49 insertions(+)
>>>
>>> diff --git a/playbooks/roles/gen_hosts/templates/fstests.j2 b/playbooks/roles/gen_hosts/templates/fstests.j2
>>> index abcdafd..a489c12 100644
>>> --- a/playbooks/roles/gen_hosts/templates/fstests.j2
>>> +++ b/playbooks/roles/gen_hosts/templates/fstests.j2
>>> @@ -69,3 +69,18 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
>>> [krb5:vars]
>>> ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
>>> {% endif %}
>>> +[service]
>>> +{% if kdevops_enable_iscsi %}
>>> +{{ kdevops_hosts_prefix }}-iscsi
>>> +{% endif %}
>>> +{% if kdevops_nfsd_enable %}
>>> +{{ kdevops_hosts_prefix }}-nfsd
>>> +{% endif %}
>>> +{% if kdevops_smbd_enable %}
>>> +{{ kdevops_hosts_prefix }}-smbd
>>> +{% endif %}
>>> +{% if kdevops_krb5_enable %}
>>> +{{ kdevops_hosts_prefix }}-kdc
>>> +{% endif %}
>>> +[service:vars]
>>> +ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
>>> diff --git a/playbooks/roles/gen_hosts/templates/gitr.j2 b/playbooks/roles/gen_hosts/templates/gitr.j2
>>> index b8f393d..41aee2b 100644
>>> --- a/playbooks/roles/gen_hosts/templates/gitr.j2
>>> +++ b/playbooks/roles/gen_hosts/templates/gitr.j2
>>> @@ -37,3 +37,12 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
>>> [nfsd:vars]
>>> ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
>>> {% endif %}
>>> +[service]
>>> +{% if kdevops_enable_iscsi %}
>>> +{{ kdevops_hosts_prefix }}-iscsi
>>> +{% endif %}
>>> +{% if kdevops_nfsd_enable %}
>>> +{{ kdevops_hosts_prefix }}-nfsd
>>> +{% endif %}
>>> +[service:vars]
>>> +ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
>>> diff --git a/playbooks/roles/gen_hosts/templates/hosts.j2 b/playbooks/roles/gen_hosts/templates/hosts.j2
>>> index 5032f59..639f5a4 100644
>>> --- a/playbooks/roles/gen_hosts/templates/hosts.j2
>>> +++ b/playbooks/roles/gen_hosts/templates/hosts.j2
>>> @@ -44,4 +44,13 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
>>> [nfsd:vars]
>>> ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
>>> {% endif %}
>>> +[service]
>>> +{% if kdevops_enable_iscsi %}
>>> +{{ kdevops_hosts_prefix }}-iscsi
>>> +{% endif %}
>>> +{% if kdevops_nfsd_enable %}
>>> +{{ kdevops_hosts_prefix }}-nfsd
>>> +{% endif %}
>>> +[service:vars]
>>> +ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
>>> {% endif %}
>>> diff --git a/playbooks/roles/gen_hosts/templates/nfstest.j2 b/playbooks/roles/gen_hosts/templates/nfstest.j2
>>> index 6a0d6cd..fb47471 100644
>>> --- a/playbooks/roles/gen_hosts/templates/nfstest.j2
>>> +++ b/playbooks/roles/gen_hosts/templates/nfstest.j2
>>> @@ -37,3 +37,12 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
>>> [nfsd:vars]
>>> ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
>>> {% endif %}
>>> +[service]
>>> +{% if kdevops_enable_iscsi %}
>>> +{{ kdevops_hosts_prefix }}-iscsi
>>> +{% endif %}
>>> +{% if kdevops_nfsd_enable %}
>>> +{{ kdevops_hosts_prefix }}-nfsd
>>> +{% endif %}
>>> +[service:vars]
>>> +ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
>>> diff --git a/playbooks/roles/gen_hosts/templates/pynfs.j2 b/playbooks/roles/gen_hosts/templates/pynfs.j2
>>> index c018c54..cac6fc6 100644
>>> --- a/playbooks/roles/gen_hosts/templates/pynfs.j2
>>> +++ b/playbooks/roles/gen_hosts/templates/pynfs.j2
>>> @@ -22,3 +22,10 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
>>> {{ kdevops_hosts_prefix }}-nfsd
>>> [nfsd:vars]
>>> ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
>>> +[service]
>>> +{% if kdevops_enable_iscsi %}
>>> +{{ kdevops_hosts_prefix }}-iscsi
>>> +{% endif %}
>>> +{{ kdevops_hosts_prefix }}-nfsd
>>> +[service:vars]
>>> +ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
>>>
>>
>> The issue with the pynfs workflow is that the "nfsd" host is also where
>> the tests run. I think what you're doing is adding that host into both
>> the test-runners group and the new "service" group, which is probably
>> OK.
>
> That is correct.
>
>>
>> Would it be better if the pynfs workflow created a separate test runner
>> and nfsd host? Or even two test runners, one for NFSv4.0 and one for
>> NFSv4.1 ? That way the pynfs workflow would operate like the others.
>
> You mean like in fstests, right?
> FSTESTS_NFS_SECTION_V42
> FSTESTS_NFS_SECTION_V41
> FSTESTS_NFS_SECTION_V40
Yes.
> I agree pynfs is not consistent with the rest of the workflows. But I'm not
> familiar with pynfs to agree if your suggestion make sense. Can you clarify if
> your suggestion means having 2 kdevops profiles (i.e. 2 separate guests/vms)
> with NFSv4.0 and NFS4.1 with both the option to run CONFIG_PYNFS_PNFS_BLOCK
> or not. How is it done now? Does the test switch between NFS versions or uses
> 2 different NFS mount points to run the pynfs suite tests on them? Would nfsd
> guest support both new vms?
The way the NFS-related workflows do it is the workflow creates one NFS
export for each test runner (section). What pynfs doesn't do is create
separate clients for each NFS version (section).
So here, one test runner would run the NFSv4.0 tests, and mount its own
NFS export. A second test runner would run the NFSv4.1 tests, and mount
its own NFS export.
The pNFS block switch enables a few extra tests in the NFSv4.1 script,
and it requires the NFS server to be set up with iSCSI, etc. Yes, we
could create a separate client test runner for that, I need to think
about it.
>> Just a random thought, not an objection.
>
> Would you agree to do this separately?
Yes, absolutely.
--
Chuck Lever
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v5 00/12] Define Ansible inventory in the Ansible Configuration file
2025-07-24 19:36 [PATCH v5 00/12] Define Ansible inventory in the Ansible Configuration file Daniel Gomez
` (11 preceding siblings ...)
2025-07-24 19:36 ` [PATCH v5 12/12] build.Makefile: fix verbosity of clean target Daniel Gomez
@ 2025-07-25 14:03 ` Chuck Lever
2025-07-28 5:57 ` Daniel Gomez
13 siblings, 0 replies; 20+ messages in thread
From: Chuck Lever @ 2025-07-25 14:03 UTC (permalink / raw)
To: Daniel Gomez, Luis Chamberlain; +Cc: kdevops, Daniel Gomez
On 7/24/25 3:36 PM, Daniel Gomez wrote:
> Following Chuck's proposed changes to make task parallelism configurable
> via the Ansible configuration file [1], and the subsequent cleanup
> of ansible-playbook calls [2] along with the Python interpreter
> improvements [3] to better support distros like NixOS through simplified
> global interpreter configuration [4], I considered applying the same
> approach to the inventory file. This would further streamline our
> Ansible wrapper in the kdevops Makefiles.
>
> Why make this change? By specifying the inventory file (typically
> 'hosts' file in kdevops) directly in ansible.cfg, we eliminate the
> need for repeated -i/--inventory arguments and gain flexibility in
> where the inventory file is located. This also supports the broader
> sandboxing goal discussed in [5]. Moreover, by including localhost in
> the inventory, we can clean up the Makefile wrapper even further by
> removing --connection=localhost and -i localhost options, while also
> enabling workflows to run directly on the controller node (with some
> extra more modifications).
>
> https://lore.kernel.org/kdevops/20240827-ansible-cleanups-v1-0-2828a816de5e@samsung.com/
>
> [1]
> Increase default task parallelism
> https://lore.kernel.org/kdevops/20250404204827.34941-1-cel@kernel.org/
> [2]
> [PATCH 2/2] Makefile: Remove "-f 30" command line argument
> https://lore.kernel.org/kdevops/20250417172119.3190398-2-cel@kernel.org/
>
> [3]
> https://lore.kernel.org/kdevops/20250404-python-interpreter-v1-0-04783b627ce7@samsung.com/
>
> [4]
> https://lore.kernel.org/kdevops/kwpt5iizzmryybpg6z3fgs6koak27rjggydfighd42wn7mxqja@2hwvtppppzsk/
>
> [5]
> https://lore.kernel.org/kdevops/20240827-ansible-cleanups-v1-0-2828a816de5e@samsung.com/
>
> This series promotes the Ansible inventory file (typically 'hosts'
> in kdevops) to the Ansible Configuration file (ansible.cfg). By doing
> this, we allow to control the hosts globally rather than in all the
> ansible-playbook commands, as well as clean up the ansible-playbook
> command.
>
> So, we don't need to define anymore the inventory file in the command.
> However, playbooks may still be controlled on which targets the playbook
> is run. This is done through the playbook itself and/or through the
> ansible-playbook argument --limit. Also notice delegate_to is needed
> when the playbook runs and iterates on specific nodes such as baseline
> and dev but a specific task needs to be handled back to the controller
> node.
>
> As part of the series, the term 'all' to refer to all hosts is redefined
> to include the localhost. This removes the need to be explicit with
> localhost playbooks runs, as it's now just another target in the
> inventory file. This term redefinition requires to change playbooks that
> use the term all, either through ansible-playbook command or through
> the host: field in the YAML playbook file. For this reason, the term
> has been replaced in most cases with 'baseline:dev', which means all
> targets in the inventory file in the baseline and dev groups, matching
> the 'all' concept in the former configuration 'hosts' file. Except the
> bootlinux.yml and guestfs.yml playbooks, all playbooks run either on
> localhost or remote targets (the previous 'all' definition). Therefore,
> all playbooks have been converted to use 'hosts: baseline:dev'. For
> the bootlinux.yml playbook, 'all' is kept and the control of host
> execution is done via the --limit argument. It was found that only
> the linux-clone-9p target runs the bootlinux playbook in the localhost
> while the rest of linux-* targets run the playbook in all the remotes
> (baseline:dev). For guestfs.yml, a combination of --limit + delegate_to
> is needed for the reason explained above: to iterate on the targets
> (baseline:dev) but delegate certain tags to the controller node with
> delegate_to.
>
> In addition, in order to help me debug this change, I found it
> convenient to print the Makefile target name being run before the
> command. This allows to be more explicit in verbose mode (V=1) when a
> playbook is run (or any subsequent command in the target). And makes it
> easier to discover which target the ansible-playbook command belongs to
> when debugging playbook execution. To clarify, V=1 already prints the
> command but not the Makefile target. The command output behaviour will
> be a bit different as it is today as the command itself will be printed
> in one line, instead of multiple.
>
> Series has been tested here:
> v1:
> https://github.com/linux-kdevops/kdevops/actions/runs/14773869477
> v3:
> https://github.com/linux-kdevops/kdevops/actions/runs/14846101950
> v4:
> https://github.com/linux-kdevops/kdevops/actions/runs/16033723055
> v5:
> https://github.com/linux-kdevops/kdevops/actions/runs/16506085205
>
> Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
> ---
> Changes in v5:
> - Rebase on top of main as of 2025-07-24
> - Update the new mmtests and stead_state Makefiles accordingly
> - Test gitr and nfstest workflows with nfsd enabled
> - Test pynfs workflow with iscsi service
> - Fix spelling reported by Chuck
> - Fix Ansible WARNING when generating ansible.cfg reported by Chuck.
> Revert to specify inventory and target. After all, we can't leverage the
> inventory in ansible.cfg as it's not generated yet
> - Replace hosts field baseline:dev with iscsi in playbooks/iscsi.yml and
> do the same for kdc, krb5 and nfsd, smbd playbooks. This also allows to
> remove --limit from their ansible-playbook incantations
> - Fix duplicate name field in playbooks/nfstest.yml
> - Fix workflows that depend on nfsd, iscsi, smbd, kdc, krb5 guests by
> introducing a new group "service", and use it for bringup operations and
> SSH wait in $KDEVOPS_PROVISIONED_SSH (.provisioned_once_ssh) target.
> Reported by Chuck
> - Link to v4: https://lore.kernel.org/r/20250702-ansible_cfg_inventory-v4-0-67a54babd404@samsung.com
>
> Changes in v4:
> - Add trailers (from Luis)
> - Rebase on top of main
> - Link to v3: https://lore.kernel.org/r/20250505-ansible_cfg_inventory-v3-0-a153d93c35c4@samsung.com
>
> Changes in v3:
> - Fix LIMIT_HOSTS. When HOSTS="host1" was used, the --limit replacement
> did not work anymore because of the quotes where not needed when using
> long form arguments
> - Fix bootlinux-local limit in linux target.
> - Replace all:!localhost with baseline:dev as suggested by Luis. This
> allows to include localhost as part of the baseline and/or dev groups
> for baremetal workflows
> - Allow to configure the ansible.cfg location. This requires to export
> the ANSIBLE_CONFIG. This also enables sandboxing
> - Fix debug mode when ansible.cfg is created (command was not printed
> because of double @)
> - Add back KDEVOPS_HOSTS as cli option. KDEVOPS_HOSTS was not part of
> the cli before but it was allowed to be overwritten at command line
> time. This allows to be explicit and keeps backwards compatibility with
> the variable
> - Extend ANSIBLE_CFG_FILE help as per Chuck's suggestion
> - Move ANSIBLE_CFG_FILE location in Kconfig and place it after
> SET_BY_CLI options
> - Remove crash_watchdog.py inventory arguments (Reported by Luis)
> - Remove inventory arguments from docs, READMEs and remaining Makefiles
> - Move ueh_hosts hunk to fix undefined variable in patch "gen_hosts:
> templates: add localhost to all hosts"
> - Rename CONFIG_KDEVOPS_ANSIBLE_INVENTORY_FILE to CONFIG_ANSIBLE_CFG_INVENTORY
> in scripts/lib.sh and kconfigs/Kconfig.ansible_provisioning
> - Update cover letter reasoning and commit messages for better clarity
> - Link to v2: https://lore.kernel.org/r/20250502-ansible_cfg_inventory-v2-0-d3c19ff4aa6e@samsung.com
>
> Changes in v2:
> - Update ANSIBLE_CFG_INVENTORY help description as per Chuck suggestion
> - Add docs/kdevops-ansible-configuration.md for extensive module
> documentation
> - Include fix to avoid generating always the ansible.cfg and hosts
> files. Reported by Chuck
> The same commit change also includes support to change the ansible.cfg
> path.
> - Link to v1: https://lore.kernel.org/r/20250501-ansible_cfg_inventory-v1-0-c568bbaa3502@samsung.com
>
> ---
> Daniel Gomez (12):
> playbooks: fix playbook name for all hosts plays
> playbooks: fix playbook name for localhost plays
> Makefile: use long form of limit argument for clarity
> Makefile: print target when debug
> .github/workflows/fstests.yml: enable make verbosity
> ansible_cfg: add inventory support
> gen_hosts: add service group to inventory templates
> gen_hosts: templates: include localhost in the all group
> Makefile: use inventory from ansible.cfg
> ansible_cfg: add support to change ansible.cfg file location
> docs: ansible_cfg: add documentation
> build.Makefile: fix verbosity of clean target
>
> .github/workflows/fstests.yml | 16 ++--
> MAINTAINERS | 2 +-
> Makefile | 41 +++++----
> Makefile.btrfs_progs | 4 +-
> Makefile.build_qemu | 12 +--
> Makefile.hypervisor-tunings | 3 +-
> Makefile.kdevops | 19 ++--
> Makefile.linux-mirror | 6 +-
> Makefile.postfix | 3 +-
> docs/kdevops-ansible-configuration.md | 102 +++++++++++++++++++++
> docs/kdevops-terraform.md | 2 +-
> kconfigs/Kconfig.ansible_cfg | 46 ++++++++++
> kconfigs/Kconfig.ansible_provisioning | 8 +-
> playbooks/blktests.yml | 3 +-
> playbooks/bootlinux.yml | 3 +-
> playbooks/build_qemu.yml | 3 +-
> playbooks/common.yml | 3 +-
> playbooks/create_data_partition.yml | 3 +-
> playbooks/cxl.yml | 3 +-
> playbooks/devconfig.yml | 3 +-
> playbooks/fstests.yml | 6 +-
> playbooks/gen-pci-kconfig.yml | 3 +-
> playbooks/gen_hosts.yml | 3 +-
> playbooks/gen_nodes.yml | 3 +-
> playbooks/gen_tfvars.yml | 3 +-
> playbooks/gitr.yml | 3 +-
> playbooks/hypervisor-tuning.yml | 3 +-
> playbooks/install-menuconfig-deps.yml | 3 +-
> playbooks/install_systemd_journal_remote.yml | 3 +-
> playbooks/install_systemd_timesyncd.yml | 3 +-
> playbooks/install_terraform.yml | 3 +-
> playbooks/install_vagrant_boxes.yml | 3 +-
> playbooks/iscsi.yml | 3 +-
> playbooks/kdc.yml | 3 +-
> playbooks/kdevops_archive.yml | 3 +-
> playbooks/krb5.yml | 3 +-
> playbooks/ktls.yml | 3 +-
> playbooks/libvirt_pcie_passthrough.yml | 3 +-
> playbooks/libvirt_storage_pool_create.yml | 3 +-
> playbooks/libvirt_user.yml | 3 +-
> playbooks/linux-mirror.yml | 3 +-
> playbooks/ltp.yml | 3 +-
> playbooks/nfsd.yml | 3 +-
> playbooks/nfstest.yml | 3 +-
> playbooks/pkg.yml | 3 +-
> playbooks/postfix_relay_host.yml | 3 +-
> playbooks/pynfs.yml | 3 +-
> playbooks/reboot-limit.yml | 3 +-
> playbooks/roles/ansible_cfg/tasks/main.yml | 3 +-
> .../roles/ansible_cfg/templates/ansible.cfg.j2 | 1 +
> playbooks/roles/bootlinux/README.md | 12 +--
> playbooks/roles/common/README.md | 2 +-
> playbooks/roles/devconfig/README.md | 2 +-
> playbooks/roles/gen_hosts/defaults/main.yml | 1 -
> playbooks/roles/gen_hosts/tasks/main.yml | 54 +++++------
> playbooks/roles/gen_hosts/templates/blktests.j2 | 1 +
> playbooks/roles/gen_hosts/templates/cxl.j2 | 1 +
> playbooks/roles/gen_hosts/templates/fstests.j2 | 16 ++++
> playbooks/roles/gen_hosts/templates/gitr.j2 | 10 ++
> playbooks/roles/gen_hosts/templates/hosts.j2 | 11 +++
> playbooks/roles/gen_hosts/templates/ltp.j2 | 1 +
> playbooks/roles/gen_hosts/templates/nfstest.j2 | 10 ++
> playbooks/roles/gen_hosts/templates/pynfs.j2 | 8 ++
> playbooks/roles/gen_hosts/templates/selftests.j2 | 1 +
> playbooks/roles/gen_hosts/templates/sysbench.j2 | 1 +
> playbooks/roles/guestfs/tasks/main.yml | 6 ++
> playbooks/roles/libvirt_user/README.md | 4 +-
> playbooks/roles/pkg/README.md | 2 +-
> playbooks/roles/update_etc_hosts/tasks/main.yml | 2 +-
> playbooks/rxe.yml | 3 +-
> playbooks/selftests.yml | 3 +-
> playbooks/siw.yml | 3 +-
> playbooks/smbd.yml | 3 +-
> playbooks/sysbench.yml | 3 +-
> playbooks/terraform.yml | 4 +-
> playbooks/update_etc_hosts.yml | 3 +-
> playbooks/update_ssh_config_guestfs.yml | 3 +-
> playbooks/update_ssh_config_vagrant.yml | 3 +-
> scripts/archive.Makefile | 3 +-
> scripts/build.Makefile | 2 +-
> scripts/devconfig.Makefile | 8 +-
> scripts/dynamic-pci-kconfig.Makefile | 3 +-
> scripts/firstconfig.Makefile | 5 +-
> scripts/gen-hosts.Makefile | 1 -
> scripts/guestfs.Makefile | 19 ++--
> scripts/install-menuconfig-deps.Makefile | 3 +-
> scripts/iscsi.Makefile | 1 -
> scripts/journal-server.Makefile | 23 +++--
> scripts/kotd.Makefile | 16 ++--
> scripts/krb5.Makefile | 2 -
> scripts/ktls.Makefile | 1 -
> scripts/lib.sh | 2 +-
> scripts/nfsd.Makefile | 1 -
> scripts/provision.Makefile | 5 +-
> scripts/rdma.Makefile | 2 -
> scripts/smbd.Makefile | 1 -
> scripts/systemd-timesync.Makefile | 8 +-
> scripts/terraform.Makefile | 6 +-
> scripts/update_etc_hosts.Makefile | 2 +-
> scripts/vagrant.Makefile | 10 +-
> scripts/workflows/lib/crash.py | 4 +-
> workflows/blktests/Makefile | 20 ++--
> workflows/common/Makefile | 2 +-
> workflows/cxl/Makefile | 14 +--
> workflows/demos/reboot-limit/Makefile | 32 ++++---
> workflows/fstests/Makefile | 40 +++++---
> workflows/gitr/Makefile | 8 +-
> workflows/linux/Makefile | 60 +++++++-----
> workflows/ltp/Makefile | 8 +-
> workflows/mmtests/Makefile | 12 +--
> workflows/nfstest/Makefile | 8 +-
> workflows/pynfs/Makefile | 12 +--
> workflows/selftests/Makefile | 11 ++-
> workflows/steady_state/Makefile | 8 +-
> workflows/sysbench/Makefile | 12 +--
> 115 files changed, 601 insertions(+), 323 deletions(-)
> ---
> base-commit: df5f66ca52a8dd0794c4c0ea72c1068643a18279
> change-id: 20250430-ansible_cfg_inventory-7955944ce8ff
>
> Best regards,
> --
> Daniel Gomez <da.gomez@samsung.com>
>
>
Reviewed-by: Chuck Lever <chuck.lever@oracle.com>
--
Chuck Lever
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v5 00/12] Define Ansible inventory in the Ansible Configuration file
2025-07-24 19:36 [PATCH v5 00/12] Define Ansible inventory in the Ansible Configuration file Daniel Gomez
` (12 preceding siblings ...)
2025-07-25 14:03 ` [PATCH v5 00/12] Define Ansible inventory in the Ansible Configuration file Chuck Lever
@ 2025-07-28 5:57 ` Daniel Gomez
13 siblings, 0 replies; 20+ messages in thread
From: Daniel Gomez @ 2025-07-28 5:57 UTC (permalink / raw)
To: Luis Chamberlain, Chuck Lever, Daniel Gomez; +Cc: kdevops
On Thu, 24 Jul 2025 21:36:06 +0200, Daniel Gomez wrote:
> Following Chuck's proposed changes to make task parallelism configurable
> via the Ansible configuration file [1], and the subsequent cleanup
> of ansible-playbook calls [2] along with the Python interpreter
> improvements [3] to better support distros like NixOS through simplified
> global interpreter configuration [4], I considered applying the same
> approach to the inventory file. This would further streamline our
> Ansible wrapper in the kdevops Makefiles.
>
> [...]
Applied, thanks!
[01/12] playbooks: fix playbook name for all hosts plays
commit: 118a9d7020892acd86fe67a3f279c88592aaa691
[02/12] playbooks: fix playbook name for localhost plays
commit: 35f8e3251fdfe54bc9d96a5904999bf99af3083d
[03/12] Makefile: use long form of limit argument for clarity
commit: 4b451118401dbdc8889417a08930861641dc016c
[04/12] Makefile: print target when debug
commit: 3c623312d4587f940bf9f7b8c60d739257a91af8
[05/12] .github/workflows/fstests.yml: enable make verbosity
commit: 180318a1f119f5f6315caae8e12491741698c1b7
[06/12] ansible_cfg: add inventory support
commit: c8ceb41299125696adc413b6fbfcd925ce042bd3
[07/12] gen_hosts: add service group to inventory templates
commit: 7258480719e7ea127a14aacb7d7b9983b8347864
[08/12] gen_hosts: templates: include localhost in the all group
commit: 1cf0800c9ffced98da393e5d2b1594302d23eb78
[09/12] Makefile: use inventory from ansible.cfg
commit: 0987c30034c99511421c60581dd4b688549b532e
[10/12] ansible_cfg: add support to change ansible.cfg file location
commit: f6e1769b9d85e3fc21c8ea49360612608b7e98f1
[11/12] docs: ansible_cfg: add documentation
commit: 8a447b1eef67ba02abfa0104df1c56361273bb3b
[12/12] build.Makefile: fix verbosity of clean target
commit: ee694caf05a590bdc4f63f823d309e4fcf1a9a40
Best regards,
--
Daniel Gomez <da.gomez@samsung.com>
^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2025-07-28 5:57 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-24 19:36 [PATCH v5 00/12] Define Ansible inventory in the Ansible Configuration file Daniel Gomez
2025-07-24 19:36 ` [PATCH v5 01/12] playbooks: fix playbook name for all hosts plays Daniel Gomez
2025-07-24 19:36 ` [PATCH v5 02/12] playbooks: fix playbook name for localhost plays Daniel Gomez
2025-07-24 19:36 ` [PATCH v5 03/12] Makefile: use long form of limit argument for clarity Daniel Gomez
2025-07-24 19:36 ` [PATCH v5 04/12] Makefile: print target when debug Daniel Gomez
2025-07-24 19:36 ` [PATCH v5 05/12] .github/workflows/fstests.yml: enable make verbosity Daniel Gomez
2025-07-24 19:36 ` [PATCH v5 06/12] ansible_cfg: add inventory support Daniel Gomez
2025-07-24 19:36 ` [PATCH v5 07/12] gen_hosts: add service group to inventory templates Daniel Gomez
2025-07-24 19:51 ` Luis Chamberlain
2025-07-25 8:13 ` Daniel Gomez
2025-07-24 20:02 ` Chuck Lever
2025-07-25 8:36 ` Daniel Gomez
2025-07-25 14:00 ` Chuck Lever
2025-07-24 19:36 ` [PATCH v5 08/12] gen_hosts: templates: include localhost in the all group Daniel Gomez
2025-07-24 19:36 ` [PATCH v5 09/12] Makefile: use inventory from ansible.cfg Daniel Gomez
2025-07-24 19:36 ` [PATCH v5 10/12] ansible_cfg: add support to change ansible.cfg file location Daniel Gomez
2025-07-24 19:36 ` [PATCH v5 11/12] docs: ansible_cfg: add documentation Daniel Gomez
2025-07-24 19:36 ` [PATCH v5 12/12] build.Makefile: fix verbosity of clean target Daniel Gomez
2025-07-25 14:03 ` [PATCH v5 00/12] Define Ansible inventory in the Ansible Configuration file Chuck Lever
2025-07-28 5:57 ` Daniel Gomez
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox