* [PATCH v3 00/10] Define Ansible inventory in the Ansible Configuration file
@ 2025-05-05 21:24 Daniel Gomez
2025-05-05 21:24 ` [PATCH v3 01/10] playbooks: fix playbook name for all hosts plays Daniel Gomez
` (10 more replies)
0 siblings, 11 replies; 18+ messages in thread
From: Daniel Gomez @ 2025-05-05 21:24 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.
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, matchin
the 'all' concept in the former configuration 'hosts' file. Except the
bootlinux.yml playbook, 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).
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
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
TODOs in v3:
- Check crash CI script
- Send baremetal support (a separate RFC will be posted after these
series)
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 (10):
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: 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
.github/workflows/fstests.yml | 16 ++--
MAINTAINERS | 2 +-
Makefile | 45 ++++-----
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-local.yml | 3 +-
playbooks/bootlinux.yml | 3 +-
playbooks/bringup_guestfs.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 | 5 +-
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 | 2 +-
.../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 | 52 +++++------
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/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 | 3 +-
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/devconfig.Makefile | 8 +-
scripts/dynamic-pci-kconfig.Makefile | 3 +-
scripts/firstconfig.Makefile | 5 +-
scripts/gen-hosts.Makefile | 1 -
scripts/guestfs.Makefile | 17 ++--
scripts/install-menuconfig-deps.Makefile | 3 +-
scripts/iscsi.Makefile | 2 +-
scripts/journal-server.Makefile | 23 +++--
scripts/kotd.Makefile | 16 ++--
scripts/krb5.Makefile | 4 +-
scripts/ktls.Makefile | 1 -
scripts/lib.sh | 2 +-
scripts/nfsd.Makefile | 2 +-
scripts/provision.Makefile | 5 +-
scripts/rdma.Makefile | 2 -
scripts/smbd.Makefile | 2 +-
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/nfstest/Makefile | 8 +-
workflows/pynfs/Makefile | 12 +--
workflows/selftests/Makefile | 11 ++-
workflows/sysbench/Makefile | 12 +--
113 files changed, 539 insertions(+), 316 deletions(-)
---
base-commit: c95700c3c029d5c1d74d4b112b70747353a8bbfd
change-id: 20250430-ansible_cfg_inventory-7955944ce8ff
Best regards,
--
Daniel Gomez <da.gomez@samsung.com>
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v3 01/10] playbooks: fix playbook name for all hosts plays
2025-05-05 21:24 [PATCH v3 00/10] Define Ansible inventory in the Ansible Configuration file Daniel Gomez
@ 2025-05-05 21:24 ` Daniel Gomez
2025-05-06 20:39 ` Chuck Lever
2025-05-05 21:24 ` [PATCH v3 02/10] playbooks: fix playbook name for localhost plays Daniel Gomez
` (9 subsequent siblings)
10 siblings, 1 reply; 18+ messages in thread
From: Daniel Gomez @ 2025-05-05 21:24 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/
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/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 | 3 ++-
playbooks/update_etc_hosts.yml | 3 ++-
24 files changed, 48 insertions(+), 24 deletions(-)
diff --git a/playbooks/blktests.yml b/playbooks/blktests.yml
index 99732af2b681d5a8a161514513e564495a2686c9..91b484fbef5f8868b97fff337eaf5011e4c7f9f6 100644
--- a/playbooks/blktests.yml
+++ b/playbooks/blktests.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: blktests
+ hosts: all
roles:
- role: blktests
diff --git a/playbooks/bootlinux.yml b/playbooks/bootlinux.yml
index 418bbed4c060ed10333f2b1c5832f4217d18f458..676469d49348ad209bb2d094b86e088a4dcf03b0 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 48485e3cfad5a253bd87ef231463167a824076f8..c4f0102b4bd5729d9ae347ae5c80a0a04576312e 100644
--- a/playbooks/common.yml
+++ b/playbooks/common.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: common
+ hosts: all
roles:
- role: common
diff --git a/playbooks/create_data_partition.yml b/playbooks/create_data_partition.yml
index fe7890b357c1ec0a4e42f29c24d2fbf093868fda..9cf4d0506c830847d54aa02555e0cc705b031cb3 100644
--- a/playbooks/create_data_partition.yml
+++ b/playbooks/create_data_partition.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: create_data_partition
+ hosts: all
roles:
- role: create_data_partition
diff --git a/playbooks/cxl.yml b/playbooks/cxl.yml
index 87638599bf4397c9508f7c746316e0f2e9312f67..65277d435a6fe13661febfea78181bf3a13e4dfc 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 871651d740153d5ed0f75d466da5ca218362425e..45eb163bedd95c9cb8736f3cb68954df6dacf941 100644
--- a/playbooks/devconfig.yml
+++ b/playbooks/devconfig.yml
@@ -1,5 +1,6 @@
---
-- hosts: all
+- name: devconfig
+ hosts: all
gather_facts: no
roles:
- role: devconfig
diff --git a/playbooks/gitr.yml b/playbooks/gitr.yml
index 4c3e3ba919d767c897f79e30debd628737f89a82..5037a813f6b0a759bede52d7092af2bff218315b 100644
--- a/playbooks/gitr.yml
+++ b/playbooks/gitr.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: gitr
+ hosts: all
roles:
- role: gitr
diff --git a/playbooks/iscsi.yml b/playbooks/iscsi.yml
index cea400081c8dbc9558d88bebe649407f1b9b235e..5b3c4f356d8864761e5d768c81d740180a20740c 100644
--- a/playbooks/iscsi.yml
+++ b/playbooks/iscsi.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: iscsi
+ hosts: all
roles:
- role: iscsi
diff --git a/playbooks/kdc.yml b/playbooks/kdc.yml
index 66709db81d531e373f2e51770f1bee70b091d6f5..27de7faf436dd3061fbe20c22bac5f0131a21356 100644
--- a/playbooks/kdc.yml
+++ b/playbooks/kdc.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: kdc
+ hosts: all
roles:
- role: kdc
diff --git a/playbooks/krb5.yml b/playbooks/krb5.yml
index 52ca3ef5aef4ab08bd05f1c3fc8d01c7a653af32..8d65e560dab24b1a8f1457334c5a426dc40108c9 100644
--- a/playbooks/krb5.yml
+++ b/playbooks/krb5.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: krb5
+ hosts: all
roles:
- role: krb5
diff --git a/playbooks/ktls.yml b/playbooks/ktls.yml
index 8b7044c7ef2d26819333de2e0bd2f4dd6b00f688..70cc9c0c8fc3090083e4487298096252ebd5d7aa 100644
--- a/playbooks/ktls.yml
+++ b/playbooks/ktls.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: ktls
+ hosts: all
roles:
- role: ktls
diff --git a/playbooks/ltp.yml b/playbooks/ltp.yml
index 5921cefc76e4d4369e858709aeeb58878a101195..c01022f5f765b7e084c3806acd3d9ce249e445d6 100644
--- a/playbooks/ltp.yml
+++ b/playbooks/ltp.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: ltp
+ hosts: all
roles:
- role: ltp
diff --git a/playbooks/nfsd.yml b/playbooks/nfsd.yml
index 6c7735867eec9c570875dc02192e9494d811d364..edb8b1ff8de9eaf91cceedab7fe0a4672b1d7148 100644
--- a/playbooks/nfsd.yml
+++ b/playbooks/nfsd.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: nfsd
+ hosts: all
roles:
- role: nfsd
diff --git a/playbooks/nfstest.yml b/playbooks/nfstest.yml
index d414091aee7c24662a9e128d88da0b184697b9bf..03715ebf45f90070ba1d57feab27720f23d28d5e 100644
--- a/playbooks/nfstest.yml
+++ b/playbooks/nfstest.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: nfstest
+ hosts: all
roles:
- role: nfstest
diff --git a/playbooks/pkg.yml b/playbooks/pkg.yml
index f9d3e624551174e174d97e72776481b8a09d8505..60bee3cbd0382e2f2e0047fe1fadf245b685bc34 100644
--- a/playbooks/pkg.yml
+++ b/playbooks/pkg.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: pkg
+ hosts: all
roles:
- role: pkg
diff --git a/playbooks/pynfs.yml b/playbooks/pynfs.yml
index ad5b3e2b07328d2a63efb8e28694d38c9570950f..ea01b9af880476e3bbe74114f996885f7e922148 100644
--- a/playbooks/pynfs.yml
+++ b/playbooks/pynfs.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: pynfs
+ hosts: all
roles:
- role: pynfs
diff --git a/playbooks/reboot-limit.yml b/playbooks/reboot-limit.yml
index 37936237b5024700bb5fdf6e48cbf86120cc9900..160d6b9119788aed82e80740ecc2ab1edb208d89 100644
--- a/playbooks/reboot-limit.yml
+++ b/playbooks/reboot-limit.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: reboot-limit
+ hosts: all
roles:
- role: reboot-limit
diff --git a/playbooks/rxe.yml b/playbooks/rxe.yml
index dc51c0347628df781e4846bc72614300894a0a95..2204b10c136d5b2e0eb0e3262a9f2491fefdfce8 100644
--- a/playbooks/rxe.yml
+++ b/playbooks/rxe.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: rxe
+ hosts: all
roles:
- role: rxe
diff --git a/playbooks/selftests.yml b/playbooks/selftests.yml
index 6f7d7770816e2e34614fef4eee557fb615fafe14..2de584cb3c22ac08fa2d675ee5ef504671e8a389 100644
--- a/playbooks/selftests.yml
+++ b/playbooks/selftests.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: selftests
+ hosts: all
roles:
- role: selftests
diff --git a/playbooks/siw.yml b/playbooks/siw.yml
index 5258a5af9dca98873b0dbfb921169ea9de505f7c..cc546919681a15dff2a82472e1889711301b7a5c 100644
--- a/playbooks/siw.yml
+++ b/playbooks/siw.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: siw
+ hosts: all
roles:
- role: siw
diff --git a/playbooks/smbd.yml b/playbooks/smbd.yml
index 47cd0223164aa7970d2d20e520fb0468d03bc655..258edec6c5889b2a98a450d230b07a684b28568a 100644
--- a/playbooks/smbd.yml
+++ b/playbooks/smbd.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: smbd
+ hosts: all
roles:
- role: smbd
diff --git a/playbooks/sysbench.yml b/playbooks/sysbench.yml
index 61026356edc78a004fd01cd2f63a546bc13bc0d3..9cc043ba9d7a67f44d5b297dc8d0ea9cbe6b89ae 100644
--- a/playbooks/sysbench.yml
+++ b/playbooks/sysbench.yml
@@ -1,4 +1,5 @@
---
-- hosts: all
+- name: sysbench
+ hosts: all
roles:
- role: sysbench
diff --git a/playbooks/terraform.yml b/playbooks/terraform.yml
index 374a76fb0ae73da8598bec53590e01b85a528053..1d212bd143ab49cc68b919022e8971d64c30270b 100644
--- a/playbooks/terraform.yml
+++ b/playbooks/terraform.yml
@@ -1,5 +1,6 @@
---
-- hosts: all
+- name: terraform
+ hosts: all
gather_facts: false
roles:
- role: terraform
diff --git a/playbooks/update_etc_hosts.yml b/playbooks/update_etc_hosts.yml
index a0c217411400a00cf6fccf00bb47860081ed9256..57d921ff627a6ffe798dfe90b49b769cd46fe62c 100644
--- a/playbooks/update_etc_hosts.yml
+++ b/playbooks/update_etc_hosts.yml
@@ -1,5 +1,6 @@
---
-- hosts: all
+- name: update_etc_hosts
+ hosts: all
gather_facts: no
roles:
- role: update_etc_hosts
--
2.49.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v3 02/10] playbooks: fix playbook name for localhost plays
2025-05-05 21:24 [PATCH v3 00/10] Define Ansible inventory in the Ansible Configuration file Daniel Gomez
2025-05-05 21:24 ` [PATCH v3 01/10] playbooks: fix playbook name for all hosts plays Daniel Gomez
@ 2025-05-05 21:24 ` Daniel Gomez
2025-05-05 21:24 ` [PATCH v3 03/10] Makefile: use long form of limit argument for clarity Daniel Gomez
` (8 subsequent siblings)
10 siblings, 0 replies; 18+ messages in thread
From: Daniel Gomez @ 2025-05-05 21:24 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/
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
playbooks/bootlinux-local.yml | 3 ++-
playbooks/bringup_guestfs.yml | 3 ++-
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 ++-
22 files changed, 44 insertions(+), 22 deletions(-)
diff --git a/playbooks/bootlinux-local.yml b/playbooks/bootlinux-local.yml
index e342f0e56fb11da6bdc11e9a011ce21b07e84819..c8e391522c2635196e6d34b8c3312d44bf64fef2 100644
--- a/playbooks/bootlinux-local.yml
+++ b/playbooks/bootlinux-local.yml
@@ -1,5 +1,6 @@
---
-- hosts: localhost
+- name: bootlinux-local
+ hosts: localhost
connection: local
roles:
- role: bootlinux-local
diff --git a/playbooks/bringup_guestfs.yml b/playbooks/bringup_guestfs.yml
index 80a1afcd0a69912a4f2e8c23eba1a108c4df7809..08fcabbcc838bda167cae6b4e0b5fb675900ddf0 100644
--- a/playbooks/bringup_guestfs.yml
+++ b/playbooks/bringup_guestfs.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: bringup_guestfs
+ hosts: localhost
roles:
- role: bringup_guestfs
diff --git a/playbooks/build_qemu.yml b/playbooks/build_qemu.yml
index d094c258246588b88643901bf8f11e29129655e4..d7056ad472d67f971cf5d006d0a0c54c5fd34682 100644
--- a/playbooks/build_qemu.yml
+++ b/playbooks/build_qemu.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: build_qemu
+ hosts: localhost
roles:
- role: build_qemu
diff --git a/playbooks/fstests.yml b/playbooks/fstests.yml
index de8cb251f29c11bd0f85a347534f7b00f2285ab7..08e5f465492090fe39b6214449fabc123bf8ff77 100644
--- a/playbooks/fstests.yml
+++ b/playbooks/fstests.yml
@@ -1,5 +1,6 @@
---
-- hosts: localhost
+- name: fstests
+ hosts: localhost
roles:
- role: fstests_prep_localhost
diff --git a/playbooks/gen-pci-kconfig.yml b/playbooks/gen-pci-kconfig.yml
index a20aba761a8c91f40e42cdf719b4d1635931ca58..ede0c16a451f4c538078fcf40aed45de036bbb1c 100644
--- a/playbooks/gen-pci-kconfig.yml
+++ b/playbooks/gen-pci-kconfig.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: gen-pci-kconfig
+ hosts: localhost
roles:
- role: gen_pci_kconfig
diff --git a/playbooks/gen_hosts.yml b/playbooks/gen_hosts.yml
index 942b4f2ac52c91d4c1a0272c9bd2c29f4d65345b..67207101d87385ef149b43e7e066513d1b516903 100644
--- a/playbooks/gen_hosts.yml
+++ b/playbooks/gen_hosts.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: gen_hosts
+ hosts: localhost
roles:
- role: gen_hosts
diff --git a/playbooks/gen_nodes.yml b/playbooks/gen_nodes.yml
index c298b344647cf3d416b49957aeee75fc0c834da8..4989ce733de26fa4884247e390c14fa3fa332679 100644
--- a/playbooks/gen_nodes.yml
+++ b/playbooks/gen_nodes.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: gen_nodes
+ hosts: localhost
roles:
- role: gen_nodes
diff --git a/playbooks/gen_tfvars.yml b/playbooks/gen_tfvars.yml
index 5ff85af6ab82d260c5bacbb7d334c6838e9b5ab2..ab6048744828de5badee5df59609f27ad9b27c80 100644
--- a/playbooks/gen_tfvars.yml
+++ b/playbooks/gen_tfvars.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: gen_tfvars
+ hosts: localhost
roles:
- role: gen_tfvars
diff --git a/playbooks/hypervisor-tuning.yml b/playbooks/hypervisor-tuning.yml
index 29f735d8f8fcf21fd87aeaaaab541721d5a9f1da..a599c828e0c8d1e6a48c6fdc0a63b907962a4180 100644
--- a/playbooks/hypervisor-tuning.yml
+++ b/playbooks/hypervisor-tuning.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: hypervisor-tuning
+ hosts: localhost
roles:
- role: hypervisor-tuning
--git a/playbooks/install-menuconfig-deps.yml b/playbooks/install-menuconfig-deps.yml
index 845b287073842feed7bb051ae16a627fcc9f4fdc..4400e59e44cf2ccaec6be2193c940f0c8c46a8b9 100644
--- a/playbooks/install-menuconfig-deps.yml
+++ b/playbooks/install-menuconfig-deps.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: install-menuconfig-deps
+ hosts: localhost
roles:
- role: install-menuconfig-deps
diff --git a/playbooks/install_systemd_journal_remote.yml b/playbooks/install_systemd_journal_remote.yml
index 46014d285b0b309dc4c8eb527fede3abefd453ee..26998b84691ae009f68dcd204df26d2777b5add3 100644
--- a/playbooks/install_systemd_journal_remote.yml
+++ b/playbooks/install_systemd_journal_remote.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: install_systemd_journal_remote
+ hosts: localhost
roles:
- role: install_systemd_journal_remote
diff --git a/playbooks/install_systemd_timesyncd.yml b/playbooks/install_systemd_timesyncd.yml
index ed1a31e64790d6b9bd4d95e591e71fb0505a739f..bcda04007f6d4288c5dd8db28bf03e966a7ad5c9 100644
--- a/playbooks/install_systemd_timesyncd.yml
+++ b/playbooks/install_systemd_timesyncd.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: install_systemd_timesyncd
+ hosts: localhost
roles:
- role: install_systemd_timesyncd
diff --git a/playbooks/install_terraform.yml b/playbooks/install_terraform.yml
index 1426378eee25cc12c75f8f6faeaedbb94228ad69..9b4de68a6a8174ed465321bf526ca2e546b60be2 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 8cffb36a981e302b4b924e94fbd0b7a8850d4e6f..01c0728864a1dadcac35a637d5e246dd76376dde 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 a61f794ae12bf90e204eb7fdc2d59045d57a1d59..2c5f833928fa31afd78725ca9588aa8ad9aff4fe 100644
--- a/playbooks/kdevops_archive.yml
+++ b/playbooks/kdevops_archive.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: kdevops_archive
+ hosts: localhost
roles:
- role: kdevops_archive
diff --git a/playbooks/libvirt_pcie_passthrough.yml b/playbooks/libvirt_pcie_passthrough.yml
index 39d5c8ee38fc60bdf397c0fae82ba497815e139e..2e83fef1b86b93bdb475f5e207180b459fc49722 100644
--- a/playbooks/libvirt_pcie_passthrough.yml
+++ b/playbooks/libvirt_pcie_passthrough.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: libvirt_pcie_passthrough
+ hosts: localhost
roles:
- role: libvirt_pcie_passthrough
diff --git a/playbooks/libvirt_storage_pool_create.yml b/playbooks/libvirt_storage_pool_create.yml
index f127f5e4311f499c6b80251406fcf180854e4406..9bec5914cfc33c96f6cda6f14fbf374d957143eb 100644
--- a/playbooks/libvirt_storage_pool_create.yml
+++ b/playbooks/libvirt_storage_pool_create.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: libvirt_storage_pool_create
+ hosts: localhost
roles:
- role: libvirt_storage_pool_create
diff --git a/playbooks/libvirt_user.yml b/playbooks/libvirt_user.yml
index 6e3889ca65cfd4a50edbf2c1f8b747dd554bc1e4..84e5637b554bf53e23d97ff72cc04b7f5ce04819 100644
--- a/playbooks/libvirt_user.yml
+++ b/playbooks/libvirt_user.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: libvirt_user
+ hosts: localhost
roles:
- role: libvirt_user
diff --git a/playbooks/linux-mirror.yml b/playbooks/linux-mirror.yml
index 0808ebc1df80e197807703b547ae41f66192d0f1..05bfa02f720dd454f941cc513ec774b69f07bf5e 100644
--- a/playbooks/linux-mirror.yml
+++ b/playbooks/linux-mirror.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: linux-mirror
+ hosts: localhost
roles:
- role: linux-mirror
diff --git a/playbooks/postfix_relay_host.yml b/playbooks/postfix_relay_host.yml
index b04079bcc3190b30a79a7898b64171d25c2889c3..507ca56998c95bc40f0dcc368d881bacc60e1502 100644
--- a/playbooks/postfix_relay_host.yml
+++ b/playbooks/postfix_relay_host.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: postfix_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 346b90245637ee7ca1297cfd9c0838c1d9a5ef25..3fe45a8c872356a503b17715263811274929de2f 100644
--- a/playbooks/update_ssh_config_guestfs.yml
+++ b/playbooks/update_ssh_config_guestfs.yml
@@ -1,4 +1,5 @@
---
-- hosts: localhost
+- name: update_ssh_config_guestfs
+ 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 c8d0e9962d46bb504c89611c8c5c753a72a61775..7a2162e96c1d90014bb86129f27e303690ffc31f 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.49.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v3 03/10] Makefile: use long form of limit argument for clarity
2025-05-05 21:24 [PATCH v3 00/10] Define Ansible inventory in the Ansible Configuration file Daniel Gomez
2025-05-05 21:24 ` [PATCH v3 01/10] playbooks: fix playbook name for all hosts plays Daniel Gomez
2025-05-05 21:24 ` [PATCH v3 02/10] playbooks: fix playbook name for localhost plays Daniel Gomez
@ 2025-05-05 21:24 ` Daniel Gomez
2025-05-05 21:24 ` [PATCH v3 04/10] Makefile: print target when debug Daniel Gomez
` (7 subsequent siblings)
10 siblings, 0 replies; 18+ messages in thread
From: Daniel Gomez @ 2025-05-05 21:24 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.
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 bf911e61e1d525ec2d5db42cca50f7f04db61689..dcb2a326fce5c647e7fd2d424839c9f2ec1092b8 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.49.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v3 04/10] Makefile: print target when debug
2025-05-05 21:24 [PATCH v3 00/10] Define Ansible inventory in the Ansible Configuration file Daniel Gomez
` (2 preceding siblings ...)
2025-05-05 21:24 ` [PATCH v3 03/10] Makefile: use long form of limit argument for clarity Daniel Gomez
@ 2025-05-05 21:24 ` Daniel Gomez
2025-05-05 21:24 ` [PATCH v3 05/10] .github/workflows/fstests.yml: enable make verbosity Daniel Gomez
` (6 subsequent siblings)
10 siblings, 0 replies; 18+ messages in thread
From: Daniel Gomez @ 2025-05-05 21:24 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]
{...}
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 dcb2a326fce5c647e7fd2d424839c9f2ec1092b8..ba84dd62b6061497a148cb91bfb8eed03d517e39 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.49.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v3 05/10] .github/workflows/fstests.yml: enable make verbosity
2025-05-05 21:24 [PATCH v3 00/10] Define Ansible inventory in the Ansible Configuration file Daniel Gomez
` (3 preceding siblings ...)
2025-05-05 21:24 ` [PATCH v3 04/10] Makefile: print target when debug Daniel Gomez
@ 2025-05-05 21:24 ` Daniel Gomez
2025-05-05 21:24 ` [PATCH v3 06/10] ansible_cfg: add inventory support Daniel Gomez
` (5 subsequent siblings)
10 siblings, 0 replies; 18+ messages in thread
From: Daniel Gomez @ 2025-05-05 21:24 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.
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 e06f5e009c6a380c82321e9437494549ec42cf62..8f231169a896edc2ad5ab080a56701a9664ee5b3 100644
--- a/.github/workflows/fstests.yml
+++ b/.github/workflows/fstests.yml
@@ -44,23 +44,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
@@ -70,7 +70,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
@@ -81,7 +81,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
@@ -94,4 +94,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.49.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v3 06/10] ansible_cfg: add inventory support
2025-05-05 21:24 [PATCH v3 00/10] Define Ansible inventory in the Ansible Configuration file Daniel Gomez
` (4 preceding siblings ...)
2025-05-05 21:24 ` [PATCH v3 05/10] .github/workflows/fstests.yml: enable make verbosity Daniel Gomez
@ 2025-05-05 21:24 ` Daniel Gomez
2025-05-05 21:24 ` [PATCH v3 07/10] gen_hosts: templates: include localhost in the all group Daniel Gomez
` (4 subsequent siblings)
10 siblings, 0 replies; 18+ messages in thread
From: Daniel Gomez @ 2025-05-05 21:24 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.
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 b587596bc8d5f1215fa8c006f32d941bea5288cc..d78ea7507632ae86481633e83a845e81e6f7ad92 100644
--- a/kconfigs/Kconfig.ansible_cfg
+++ b/kconfigs/Kconfig.ansible_cfg
@@ -207,6 +207,24 @@ config ANSIBLE_CFG_FORKS
endif # !ANSIBLE_CFG_FORKS_CUSTOM
+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 63f04306e7b26f228defa9e50630f5ed07eaac37..194b0b3c210bad1c1d6fd7c0152a2e487e928afb 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 2bc916321f424ab93447af40eccef30911d27bb6..fddbab6d3a4dc03524a819b5b695336445ecb732 100644
--- a/playbooks/roles/ansible_cfg/templates/ansible.cfg.j2
+++ b/playbooks/roles/ansible_cfg/templates/ansible.cfg.j2
@@ -10,6 +10,7 @@ show_per_host_start = {{ ansible_cfg_callback_plugin_show_per_host_start }}
show_task_path_on_failure = {{ ansible_cfg_callback_plugin_show_task_path_on_failure }}
interpreter_python = {{ ansible_cfg_interpreter_python_string }}
forks = {{ ansible_cfg_forks }}
+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 936e3ce94d71e831eb551551f5c19fe5cffc5e11..0419fd3b38531745f27a90864cc464977a721bb3 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.49.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v3 07/10] gen_hosts: templates: include localhost in the all group
2025-05-05 21:24 [PATCH v3 00/10] Define Ansible inventory in the Ansible Configuration file Daniel Gomez
` (5 preceding siblings ...)
2025-05-05 21:24 ` [PATCH v3 06/10] ansible_cfg: add inventory support Daniel Gomez
@ 2025-05-05 21:24 ` Daniel Gomez
2025-05-05 21:24 ` [PATCH v3 08/10] Makefile: use inventory from ansible.cfg Daniel Gomez
` (3 subsequent siblings)
10 siblings, 0 replies; 18+ messages in thread
From: Daniel Gomez @ 2025-05-05 21:24 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
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/sysbench.yml | 2 +-
playbooks/terraform.yml | 2 +-
playbooks/update_etc_hosts.yml | 2 +-
scripts/devconfig.Makefile | 4 ++--
scripts/guestfs.Makefile | 2 +-
workflows/linux/Makefile | 2 +-
41 files changed, 43 insertions(+), 32 deletions(-)
diff --git a/playbooks/blktests.yml b/playbooks/blktests.yml
index 91b484fbef5f8868b97fff337eaf5011e4c7f9f6..2d65835941e5de3397a3d43cfa74fb329d0e24fb 100644
--- a/playbooks/blktests.yml
+++ b/playbooks/blktests.yml
@@ -1,5 +1,5 @@
---
- name: blktests
- hosts: all
+ hosts: baseline:dev
roles:
- role: blktests
diff --git a/playbooks/common.yml b/playbooks/common.yml
index c4f0102b4bd5729d9ae347ae5c80a0a04576312e..343e362d34793fbd184ab6b4ef173f8b830e8ebe 100644
--- a/playbooks/common.yml
+++ b/playbooks/common.yml
@@ -1,5 +1,5 @@
---
- name: common
- hosts: all
+ hosts: baseline:dev
roles:
- role: common
diff --git a/playbooks/create_data_partition.yml b/playbooks/create_data_partition.yml
index 9cf4d0506c830847d54aa02555e0cc705b031cb3..55000c7dbff7525cbc91e1e89fc84a842bae51e4 100644
--- a/playbooks/create_data_partition.yml
+++ b/playbooks/create_data_partition.yml
@@ -1,5 +1,5 @@
---
- name: create_data_partition
- hosts: all
+ hosts: baseline:dev
roles:
- role: create_data_partition
diff --git a/playbooks/cxl.yml b/playbooks/cxl.yml
index 65277d435a6fe13661febfea78181bf3a13e4dfc..8880ee711c2084478b94040baa012d63673755e3 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 45eb163bedd95c9cb8736f3cb68954df6dacf941..ca5f126fdde088e65f5f4a98a7f743198fae3c77 100644
--- a/playbooks/devconfig.yml
+++ b/playbooks/devconfig.yml
@@ -1,6 +1,6 @@
---
- name: devconfig
- hosts: all
+ hosts: baseline:dev
gather_facts: no
roles:
- role: devconfig
diff --git a/playbooks/fstests.yml b/playbooks/fstests.yml
index 08e5f465492090fe39b6214449fabc123bf8ff77..749fd0158d169af212ee9f54cc5f6d2ef69696b2 100644
--- a/playbooks/fstests.yml
+++ b/playbooks/fstests.yml
@@ -4,6 +4,6 @@
roles:
- role: fstests_prep_localhost
-- hosts: all
+- hosts: baseline:dev
roles:
- role: fstests
diff --git a/playbooks/gitr.yml b/playbooks/gitr.yml
index 5037a813f6b0a759bede52d7092af2bff218315b..399ca7d1cf318cdb4978ea76f21a1f1931bef5b7 100644
--- a/playbooks/gitr.yml
+++ b/playbooks/gitr.yml
@@ -1,5 +1,5 @@
---
- name: gitr
- hosts: all
+ hosts: baseline:dev
roles:
- role: gitr
diff --git a/playbooks/iscsi.yml b/playbooks/iscsi.yml
index 5b3c4f356d8864761e5d768c81d740180a20740c..98f9dbbc21ad4a9ca4e21f4fa311983192c1dba0 100644
--- a/playbooks/iscsi.yml
+++ b/playbooks/iscsi.yml
@@ -1,5 +1,5 @@
---
- name: iscsi
- hosts: all
+ hosts: baseline:dev
roles:
- role: iscsi
diff --git a/playbooks/kdc.yml b/playbooks/kdc.yml
index 27de7faf436dd3061fbe20c22bac5f0131a21356..c06bd5fb49ffc120d3c78682f35447f9fbec3e5f 100644
--- a/playbooks/kdc.yml
+++ b/playbooks/kdc.yml
@@ -1,5 +1,5 @@
---
- name: kdc
- hosts: all
+ hosts: baseline:dev
roles:
- role: kdc
diff --git a/playbooks/krb5.yml b/playbooks/krb5.yml
index 8d65e560dab24b1a8f1457334c5a426dc40108c9..7075574b94fd2ba6b17aedae02aad7debbef572f 100644
--- a/playbooks/krb5.yml
+++ b/playbooks/krb5.yml
@@ -1,5 +1,5 @@
---
- name: krb5
- hosts: all
+ hosts: baseline:dev
roles:
- role: krb5
diff --git a/playbooks/ktls.yml b/playbooks/ktls.yml
index 70cc9c0c8fc3090083e4487298096252ebd5d7aa..e9a97b5ed80eef68e9e3b87115451e9f5c82f5d1 100644
--- a/playbooks/ktls.yml
+++ b/playbooks/ktls.yml
@@ -1,5 +1,5 @@
---
- name: ktls
- hosts: all
+ hosts: baseline:dev
roles:
- role: ktls
diff --git a/playbooks/ltp.yml b/playbooks/ltp.yml
index c01022f5f765b7e084c3806acd3d9ce249e445d6..a8b4fe80b6e6ba5c90accf0db867650104e8eb89 100644
--- a/playbooks/ltp.yml
+++ b/playbooks/ltp.yml
@@ -1,5 +1,5 @@
---
- name: ltp
- hosts: all
+ hosts: baseline:dev
roles:
- role: ltp
diff --git a/playbooks/nfsd.yml b/playbooks/nfsd.yml
index edb8b1ff8de9eaf91cceedab7fe0a4672b1d7148..74a921f43f7e6ba020e0b45755d7c45ab6b9dd2d 100644
--- a/playbooks/nfsd.yml
+++ b/playbooks/nfsd.yml
@@ -1,5 +1,5 @@
---
- name: nfsd
- hosts: all
+ hosts: baseline:dev
roles:
- role: nfsd
diff --git a/playbooks/nfstest.yml b/playbooks/nfstest.yml
index 03715ebf45f90070ba1d57feab27720f23d28d5e..0e8963358b08b6f60b61aceecb1bdbdeb36df4e5 100644
--- a/playbooks/nfstest.yml
+++ b/playbooks/nfstest.yml
@@ -1,5 +1,5 @@
---
- name: nfstest
- hosts: all
+ hosts: baseline:dev
roles:
- role: nfstest
diff --git a/playbooks/pkg.yml b/playbooks/pkg.yml
index 60bee3cbd0382e2f2e0047fe1fadf245b685bc34..f2fd19683b8f2521e4ccf55c440fb4408b7666cd 100644
--- a/playbooks/pkg.yml
+++ b/playbooks/pkg.yml
@@ -1,5 +1,5 @@
---
- name: pkg
- hosts: all
+ hosts: baseline:dev
roles:
- role: pkg
diff --git a/playbooks/pynfs.yml b/playbooks/pynfs.yml
index ea01b9af880476e3bbe74114f996885f7e922148..5320b4936a906c93f276775421e5ede0a10d29e2 100644
--- a/playbooks/pynfs.yml
+++ b/playbooks/pynfs.yml
@@ -1,5 +1,5 @@
---
- name: pynfs
- hosts: all
+ hosts: baseline:dev
roles:
- role: pynfs
diff --git a/playbooks/reboot-limit.yml b/playbooks/reboot-limit.yml
index 160d6b9119788aed82e80740ecc2ab1edb208d89..c4ed2b9e8657ea7bfb1ddb6746504ea277645266 100644
--- a/playbooks/reboot-limit.yml
+++ b/playbooks/reboot-limit.yml
@@ -1,5 +1,5 @@
---
- name: reboot-limit
- hosts: all
+ hosts: baseline:dev
roles:
- role: reboot-limit
diff --git a/playbooks/roles/common/README.md b/playbooks/roles/common/README.md
index 2b0084c6bf42ae2382cfcaa3c4507f95bd48f06d..c5b0bbd2bcfc65d483236cc84f9ef3b11b3ac0b4 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 fa355394537123cc2b0453070d79d2a773c91c55..10e4b213d00ae92818b27bbe417d3852f957cdfd 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 1c2f8f774b7c67f6410017c764042fa89c0a2c7f..5bf50acbddac3d6f8685cb530f37cd602a97fba8 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 1b3034e05d58e1093e3ce4e3fda2336edc0d2653..64bec4561b6c4ef92df4d561b16cc1f69c20e7b2 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 abcdafd56686cf2a7b6d3e7f8405ba14041650d9..f5a383ebf383b37335ac120c607b6eb330a2267e 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 b8f393d63f96612a8ce28fd78d0e589adbbd722e..f4190cd0ecb3ba1dcf5385e4bfc7b529440ea81f 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 5032f592e466e4705979ad0c4eb23e0bb3a7f950..d5f99a69cee87c651315d43e2da4c4f205bf5b12 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 5b6ad9485d989c79b269831ad1af57c6970553c5..828fd63627184d98e21b11cb2025c7b67ad11e83 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 6a0d6cdc76323ed721aa17747dee50e3fe50c774..0d3aae9fb1ae4616ec809d67bfa4db1da76b7591 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 c018c5428828171cf4e652d0b2c20cc24b9da277..f5a4bb75aea194ad7000f8f4b82c4db4bfcf96ed 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 085b73375518e97f901b13728dccee7ecffa5119..e505bbf194b4c45e5978b6be89f28a2b131f06aa 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 76503ab761760c7ee1605e6e5bdbe9c3f1fa1e16..107eebc5fbce5cbef508aa2fb834f44d4795ce82 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 a3309d57f835d5ddb35e2d2956eeffef323ce66c..620d9efb2f5c64847fd962b860471963a1ce369a 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 4c1307fb7c62c9e8db0bceb9847081c330f49f53..2b9af91debb601637ff8fc9cc82fd4a41bb2f5c9 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 2204b10c136d5b2e0eb0e3262a9f2491fefdfce8..6f4b8ccfcd187de13a284e4576309b995d347c22 100644
--- a/playbooks/rxe.yml
+++ b/playbooks/rxe.yml
@@ -1,5 +1,5 @@
---
- name: rxe
- hosts: all
+ hosts: baseline:dev
roles:
- role: rxe
diff --git a/playbooks/selftests.yml b/playbooks/selftests.yml
index 2de584cb3c22ac08fa2d675ee5ef504671e8a389..8d1868a1921c28632099e8762a2d929dcc702ab1 100644
--- a/playbooks/selftests.yml
+++ b/playbooks/selftests.yml
@@ -1,5 +1,5 @@
---
- name: selftests
- hosts: all
+ hosts: baseline:dev
roles:
- role: selftests
diff --git a/playbooks/siw.yml b/playbooks/siw.yml
index cc546919681a15dff2a82472e1889711301b7a5c..35f0c26233bf519ad8a609e5c2faa72f175da52c 100644
--- a/playbooks/siw.yml
+++ b/playbooks/siw.yml
@@ -1,5 +1,5 @@
---
- name: siw
- hosts: all
+ hosts: baseline:dev
roles:
- role: siw
diff --git a/playbooks/smbd.yml b/playbooks/smbd.yml
index 258edec6c5889b2a98a450d230b07a684b28568a..4a9e623f851bf062ac0dc2d2beac78c8194ad2c4 100644
--- a/playbooks/smbd.yml
+++ b/playbooks/smbd.yml
@@ -1,5 +1,5 @@
---
- name: smbd
- hosts: all
+ hosts: baseline:dev
roles:
- role: smbd
diff --git a/playbooks/sysbench.yml b/playbooks/sysbench.yml
index 9cc043ba9d7a67f44d5b297dc8d0ea9cbe6b89ae..12d8b70e1fdaf822442c8eeedba05f92ee620e85 100644
--- a/playbooks/sysbench.yml
+++ b/playbooks/sysbench.yml
@@ -1,5 +1,5 @@
---
- name: sysbench
- hosts: all
+ hosts: baseline:dev
roles:
- role: sysbench
diff --git a/playbooks/terraform.yml b/playbooks/terraform.yml
index 1d212bd143ab49cc68b919022e8971d64c30270b..5d2a4cde5e9ede4d6023d289d065cc8010d4f2db 100644
--- a/playbooks/terraform.yml
+++ b/playbooks/terraform.yml
@@ -1,6 +1,6 @@
---
- name: terraform
- hosts: all
+ hosts: baseline:dev
gather_facts: false
roles:
- role: terraform
diff --git a/playbooks/update_etc_hosts.yml b/playbooks/update_etc_hosts.yml
index 57d921ff627a6ffe798dfe90b49b769cd46fe62c..2f11b4d0edcbf6306eeb5f94b434a389c18a2b90 100644
--- a/playbooks/update_etc_hosts.yml
+++ b/playbooks/update_etc_hosts.yml
@@ -1,6 +1,6 @@
---
- name: update_etc_hosts
- hosts: all
+ hosts: baseline:dev
gather_facts: no
roles:
- role: update_etc_hosts
diff --git a/scripts/devconfig.Makefile b/scripts/devconfig.Makefile
index bdff088589cd240717023f79d7adf349f196a463..0e5e58c38e2d2a4a8488f116b2d0824837d2fb38 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 8d4aac3e36694f5f4c3f0b040fa5bf6600641be2..cc9eae92eddfe1f57740ffd1b8e4caa773b924fb 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 ecce273a4f67959fb01caaf51e909c55fa3680eb..abb72bbaa669de1e721f7eb43bc99f669bf84c52 100644
--- a/workflows/linux/Makefile
+++ b/workflows/linux/Makefile
@@ -157,7 +157,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.49.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v3 08/10] Makefile: use inventory from ansible.cfg
2025-05-05 21:24 [PATCH v3 00/10] Define Ansible inventory in the Ansible Configuration file Daniel Gomez
` (6 preceding siblings ...)
2025-05-05 21:24 ` [PATCH v3 07/10] gen_hosts: templates: include localhost in the all group Daniel Gomez
@ 2025-05-05 21:24 ` Daniel Gomez
2025-05-05 21:24 ` [PATCH v3 09/10] ansible_cfg: add support to change ansible.cfg file location Daniel Gomez
` (2 subsequent siblings)
10 siblings, 0 replies; 18+ messages in thread
From: Daniel Gomez @ 2025-05-05 21:24 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
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
Makefile | 21 +++++-----
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 | 52 ++++++++++++-------------
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 | 17 +++-----
| 3 +-
scripts/iscsi.Makefile | 2 +-
scripts/journal-server.Makefile | 23 ++++++-----
scripts/kotd.Makefile | 16 +++++---
scripts/krb5.Makefile | 4 +-
scripts/ktls.Makefile | 1 -
scripts/nfsd.Makefile | 2 +-
scripts/provision.Makefile | 5 ++-
scripts/rdma.Makefile | 2 -
scripts/smbd.Makefile | 2 +-
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/nfstest/Makefile | 8 ++--
workflows/pynfs/Makefile | 12 +++---
workflows/selftests/Makefile | 11 ++++--
workflows/sysbench/Makefile | 12 +++---
46 files changed, 259 insertions(+), 237 deletions(-)
diff --git a/Makefile b/Makefile
index ba84dd62b6061497a148cb91bfb8eed03d517e39..f6befdc69d15af68e091420309dea4cde59de512 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))
@@ -198,8 +198,7 @@ include scripts/gen-nodes.Makefile
PHONY += ansible.cfg
ansible.cfg:
- @$(Q)ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \
- --inventory localhost, \
+ @$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
$(KDEVOPS_PLAYBOOKS_DIR)/ansible_cfg.yml \
--extra-vars=@./.extra_vars_auto.yaml
@@ -227,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
@@ -263,7 +260,7 @@ mrproper:
$(Q)rm -f terraform/*/terraform.tfvars
$(Q)rm -rf terraform/*/.terraform
$(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 73a1c95f169a67637cc65febf417b61b967e4668..9ccfafa360eab112e13588ab1908209f62247406 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 72e1cba4dfbccccf8c546c613b788a26be86ee3f..2eac6e9b56f7f9c67dbff079309b97fab52bee3e 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 39547c02f1b68a5bfb4ea770f37e4d3563109532..ff29b89cfbc93c0d5416e8c4bdf6842cbfd2d697 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 60d79a5a3e48e25fbda6647e86abc25fcd5611f3..7a156312176048edf37e903323a01c48a642d2f2 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 6961a55b47ce0796b39841ae125f52f07f11a96f..ccda361ba17396aad80c5cf846a5a21ec155450b 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 5db23dc973711dfbd697d5b353e64e257c8f1d0d..704c71550bd0cc0f724aaef2e64db071ca99e92e 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 e6a518c7f1cf9b500a9a249767293c073b70afe5..3291444d2f7245a670ca9e93036b49673c30fca5 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 d78ea7507632ae86481633e83a845e81e6f7ad92..40faa6fb6ff1fb37980fa72c4ed9cecd91b16726 100644
--- a/kconfigs/Kconfig.ansible_cfg
+++ b/kconfigs/Kconfig.ansible_cfg
@@ -10,6 +10,10 @@ config ANSIBLE_CFG_FORKS_SET_BY_CLI
bool
default $(shell, scripts/check-cli-set-var.sh ANSIBLE_CFG_FORKS)
+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"
@@ -210,7 +214,8 @@ endif # !ANSIBLE_CFG_FORKS_CUSTOM
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 0b440d2130b0673ea52b6f1000208f268f36304d..db7f8a9ef9a63fb9cb5198652f1d943d5a65620f 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 console,vars,manual-update-grub playbooks/bootlinux.yml
+ansible-playbook --tags console,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 f6ab9bcce1669b28bb04f8139f07e3d8091a2a88..1a2f737a63462ce90b868578577f7d1f1575e05c 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 a50355f721606a7da961b54ec29b16875391eca9..d20e48998a7789721eb919756755e79e7370ead7 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
@@ -68,11 +68,11 @@
- not kdevops_workflows_dedicated_workflow
- ansible_hosts_template.stat.exists
-- 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
@@ -81,11 +81,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
@@ -94,13 +94,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
@@ -109,13 +109,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
@@ -124,13 +124,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
@@ -183,7 +183,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) }}"
@@ -194,7 +194,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
@@ -224,11 +224,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
@@ -250,11 +250,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
@@ -291,11 +291,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
@@ -306,7 +306,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/libvirt_user/README.md b/playbooks/roles/libvirt_user/README.md
index 2120e841779209a1df0cbe95df81eab27ea030d2..7a0e034449e57620420ca3301e2ad5889b35ba67 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 54928d328472bb89e03ea0b11c259dbfabbe1c09..23a693d793f3c0659b6f42bc5eb222c560d1d37b 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 0e5e58c38e2d2a4a8488f116b2d0824837d2fb38..146c70f78897bffe6129a4c9dec8afd7a5e7a5ec 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 716cdc1e4814a26532c8bb3550670cdd1e4caf3a..8902da29e53d8a34df077f72f4969565f867ae3c 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 f1a4423e6d96f551f2ae8652fa2f8a08bc06fce8..9f8a63a8ff849decf2256a24d3c756664ef07d61 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 84e47fd73c9b716abd9b2e4ba52aa548dc6e59d8..0d1e0cd77c2ed92b5df678012e292ff386f3af2e 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 cc9eae92eddfe1f57740ffd1b8e4caa773b924fb..6e8a1469d6eee022e304128fd8ce02543c64d5dc 100644
--- a/scripts/guestfs.Makefile
+++ b/scripts/guestfs.Makefile
@@ -51,38 +51,33 @@ 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' -m wait_for_connection
$(Q)touch $(KDEVOPS_PROVISIONED_SSH)
install_libguestfs:
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \
- --inventory localhost, \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
playbooks/bringup_guestfs.yml \
--extra-vars=@./extra_vars.yaml \
--tags install-deps
bringup_guestfs: $(GUESTFS_BRINGUP_DEPS)
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \
- --inventory localhost, \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
playbooks/bringup_guestfs.yml \
--extra-vars=@./extra_vars.yaml \
--tags config-check,network,storage-pool-path
$(Q)$(TOPDIR)/scripts/bringup_guestfs.sh
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \
- --inventory localhost, \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
playbooks/bringup_guestfs.yml \
--extra-vars=@./extra_vars.yaml \
--tags console-permissions
--git a/scripts/install-menuconfig-deps.Makefile b/scripts/install-menuconfig-deps.Makefile
index 772e65df2528d1fdd191b7fad4ae68ebe0e35979..4b9aef8db20d63b8ab3ab131bf614ea54b5a6372 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 d9ac22befa0277c27c19e52ca548f93d0eb18f70..940dce35df54ff7457a13c51cb07b207168128ae 100644
--- a/scripts/iscsi.Makefile
+++ b/scripts/iscsi.Makefile
@@ -7,7 +7,7 @@ ANSIBLE_EXTRA_ARGS += $(ISCSI_EXTRA_ARGS)
iscsi:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) -l iscsi \
+ --limit 'iscsi' \
--extra-vars=@./extra_vars.yaml \
$(KDEVOPS_PLAYBOOKS_DIR)/iscsi.yml
diff --git a/scripts/journal-server.Makefile b/scripts/journal-server.Makefile
index da61fa30269826088ef261df91a1f9974f3a9493..d3c39712351dd60ed2f2e3dba9201cd8439c7912 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 b9b7cf650612d0fb4c28475444ca52b866051c45..c74aad5a1a3c208e7ca74822983b6baf18812cea 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 d49e77ba02a8efcf09b8fbc689abe2a09a39c435..eeadadc519b495aefa7732a529d8d1f650108de7 100644
--- a/scripts/krb5.Makefile
+++ b/scripts/krb5.Makefile
@@ -8,13 +8,13 @@ ANSIBLE_EXTRA_ARGS += $(KRB5_EXTRA_ARGS)
kdc:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) -l kdc \
+ --limit 'kdc' \
--extra-vars=@./extra_vars.yaml \
$(KDEVOPS_PLAYBOOKS_DIR)/kdc.yml
krb5:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) -l krb5 \
+ --limit 'krb5' \
--extra-vars=@./extra_vars.yaml \
$(KDEVOPS_PLAYBOOKS_DIR)/krb5.yml
diff --git a/scripts/ktls.Makefile b/scripts/ktls.Makefile
index ee1de731329f47fec26e270acbd215c1aefa6629..83a8dbe6c88df4ce1161bfa827bf86ddb577de71 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 79b980123591094c18a967e013c543166e886e4b..9779ec56b06d3cc6b1164f0dca0f1b0795169e7d 100644
--- a/scripts/nfsd.Makefile
+++ b/scripts/nfsd.Makefile
@@ -29,7 +29,7 @@ ANSIBLE_EXTRA_ARGS += $(NFSD_EXTRA_ARGS)
nfsd:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) -l nfsd \
+ --limit 'nfsd' \
--extra-vars=@./extra_vars.yaml \
$(KDEVOPS_PLAYBOOKS_DIR)/nfsd.yml
diff --git a/scripts/provision.Makefile b/scripts/provision.Makefile
index 92a7541089fcea5ae7471a6b49584ab3a3ee4e78..59d68abb2637644b3c9c7fd5d0657ede67c26918 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 5c8b60d72f25e5e8a88f1301e1efccb2f2c58a99..c63b63a7c9395d458745a63ba699cf5294875f96 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 1be5b93411a5629122de19f4470fbd0d9230a2bf..ba696f7366eb1971aacb5064bd66504041a05756 100644
--- a/scripts/smbd.Makefile
+++ b/scripts/smbd.Makefile
@@ -9,7 +9,7 @@ ANSIBLE_EXTRA_ARGS += $(SMBD_EXTRA_ARGS)
smbd:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i $(KDEVOPS_HOSTFILE) -l smbd \
+ --limit 'smbd' \
--extra-vars=@./extra_vars.yaml \
$(KDEVOPS_PLAYBOOKS_DIR)/smbd.yml
diff --git a/scripts/systemd-timesync.Makefile b/scripts/systemd-timesync.Makefile
index 9b84b4a1135961ee6feaa22f4c760b2009fd4a6e..148bf1737db42bce077bab215de5c99722ebbd77 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 91469469188a4f38b5e4d3c44f8fed449df90881..1032fa638931d45eb91a9861823486395f3ca10c 100644
--- a/scripts/terraform.Makefile
+++ b/scripts/terraform.Makefile
@@ -102,13 +102,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)
@@ -118,13 +116,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 4da15ea528374924b950824999fd6d70b4fd5aba..5fb90e987a32d5ae0449e09a2af5a5854b8a2ba5 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 e43a21d3c056225a0af5c3494cf64e75b648cd56..2c97f466a26127362971da6da0942fbff62a9b8c 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 663de9324e87e3103bd9532e9ea6c44e6352d87a..d9d121d10a248c2ed00932918e5c8867c58495b4 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 33fb6482e2fa70f992893c3a076313992e19ce4f..92c96babccf05508732a976ab93e43a493ed9ba3 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 cfbebebd8ce2ced1147d7f9f4982bcdcbce89118..9ae0a0a9aff51276bedcbc3682841d7f7de04168 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 11d3e8582b43a7fd13ce07ca626799fffe5168cd..bb13005763f81327a3fa71df2367b8e9418e7428 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 a6b4aaf788bd2e8fb30922a58c26f2bbe9a69a1e..e4cbf2947164dadc2c7bf4587f4afc6c8c46fdc5 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 a5e307b61b395a5a836d69bd9fea98d5cd49491c..48790d99c1dd6790d87accc56547853bb58a41b7 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 b8a1b3a439911247c0b0289321e64873efb5bc83..09ef466f70b955fd3032f8f836ba1ce4854f8513 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 abb72bbaa669de1e721f7eb43bc99f669bf84c52..2bfa6113f4fff3100e0cd54406e817bccceae8fa 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"
@@ -93,49 +94,63 @@ linux: $(KDEVOPS_NODES)
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
$(KDEVOPS_PLAYBOOKS_DIR)/bootlinux-local.yml \
--extra-vars="$(BOOTLINUX_ARGS)"
- $(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,deps,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,deps,clone
@@ -145,27 +160,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 081e8364d7f7dbf0cb713285ec869d9f1977f539..ddbdf7399789ffae037dabd4ec8f49e696cff18b 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/nfstest/Makefile b/workflows/nfstest/Makefile
index 80c00c12c20520953e0c0a11d2f324512fb51190..3945edf66d83dcc422337c3f6c693ddd04500251 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 dc4b29c52ccf6455e52a6de8f1f12de81bc484a2..1dfd349c868c3fd58565ac8a8f9eb86aabc1b588 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 075da61b0c26829ab4732d640da736cc958ee394..d3b7044c4ec7bf2468e36b5a1242ff1831356041 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/sysbench/Makefile b/workflows/sysbench/Makefile
index 21cb297e722c6190ecd2b8ced96d7fa675a38214..daf7bc75da2b7b164ca8a2bd891a41d097b8669b 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.49.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v3 09/10] ansible_cfg: add support to change ansible.cfg file location
2025-05-05 21:24 [PATCH v3 00/10] Define Ansible inventory in the Ansible Configuration file Daniel Gomez
` (7 preceding siblings ...)
2025-05-05 21:24 ` [PATCH v3 08/10] Makefile: use inventory from ansible.cfg Daniel Gomez
@ 2025-05-05 21:24 ` Daniel Gomez
2025-05-05 21:24 ` [PATCH v3 10/10] docs: ansible_cfg: add documentation Daniel Gomez
2025-05-06 20:35 ` [PATCH v3 00/10] Define Ansible inventory in the Ansible Configuration file Luis Chamberlain
10 siblings, 0 replies; 18+ messages in thread
From: Daniel Gomez @ 2025-05-05 21:24 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
It also fixes the target to generate the file only if it doesn't exist,
instead of regenerating it every time make is invoked. Removing the
quotes from the variable used as target fixes the problem. Reported
by Chuck.
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.
Reported-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
MAINTAINERS | 1 -
Makefile | 20 +++++++++++---------
kconfigs/Kconfig.ansible_cfg | 23 +++++++++++++++++++++++
playbooks/roles/ansible_cfg/tasks/main.yml | 2 +-
4 files changed, 35 insertions(+), 11 deletions(-)
diff --git a/MAINTAINERS b/MAINTAINERS
index 30591209e5a05faacfba87ddd2038c92ec846bda..d6f578c0be62ac3809084223ae190a70d3b23d0a 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 f6befdc69d15af68e091420309dea4cde59de512..076c9f3c9dbcf5033b702dd2216546546994e157 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,16 +199,14 @@ include scripts/gen-nodes.Makefile
make -f scripts/build.Makefile help ;\
false)
-
-PHONY += ansible.cfg
-ansible.cfg:
- @$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
+$(ANSIBLE_CFG_FILE):
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
$(KDEVOPS_PLAYBOOKS_DIR)/ansible_cfg.yml \
--extra-vars=@./.extra_vars_auto.yaml
PHONY += $(EXTRA_VAR_INPUTS) $(EXTRA_VAR_INPUTS_LAST)
-$(KDEVOPS_EXTRA_VARS): .config ansible.cfg $(EXTRA_VAR_INPUTS) $(EXTRA_VAR_INPUTS_LAST)
+$(KDEVOPS_EXTRA_VARS): .config $(ANSIBLE_CFG_FILE) $(EXTRA_VAR_INPUTS) $(EXTRA_VAR_INPUTS_LAST)
playbooks/secret.yml:
@if [[ "$(CONFIG_KDEVOPS_REG_TWOLINE_REGCODE)" == "" ]]; then \
@@ -216,7 +218,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 +229,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
@@ -262,7 +264,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 40faa6fb6ff1fb37980fa72c4ed9cecd91b16726..3ca66966fadec39975a50c992911df9a71df77ee 100644
--- a/kconfigs/Kconfig.ansible_cfg
+++ b/kconfigs/Kconfig.ansible_cfg
@@ -14,6 +14,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 a85d525f21b1a8968e4da73df6882f57b83c32d2..142a14615374e30a4549cfc5f72ddd8eb7f8ceaa 100644
--- a/playbooks/roles/ansible_cfg/tasks/main.yml
+++ b/playbooks/roles/ansible_cfg/tasks/main.yml
@@ -14,5 +14,5 @@
- name: Generate kdevops ansible.cfg
ansible.builtin.template:
src: "ansible.cfg.j2"
- dest: "{{ topdir_path }}/ansible.cfg"
+ dest: "{{ ansible_cfg_file }}"
mode: '0755'
--
2.49.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v3 10/10] docs: ansible_cfg: add documentation
2025-05-05 21:24 [PATCH v3 00/10] Define Ansible inventory in the Ansible Configuration file Daniel Gomez
` (8 preceding siblings ...)
2025-05-05 21:24 ` [PATCH v3 09/10] ansible_cfg: add support to change ansible.cfg file location Daniel Gomez
@ 2025-05-05 21:24 ` Daniel Gomez
2025-05-06 20:35 ` [PATCH v3 00/10] Define Ansible inventory in the Ansible Configuration file Luis Chamberlain
10 siblings, 0 replies; 18+ messages in thread
From: Daniel Gomez @ 2025-05-05 21:24 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).
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 d6f578c0be62ac3809084223ae190a70d3b23d0a..87273caa77c737de6b3d6b3c88c12653a1f886d9 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 0000000000000000000000000000000000000000..c5d3a5d5d7ada4821735d6eae7e93512216a2e85
--- /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.49.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH v3 00/10] Define Ansible inventory in the Ansible Configuration file
2025-05-05 21:24 [PATCH v3 00/10] Define Ansible inventory in the Ansible Configuration file Daniel Gomez
` (9 preceding siblings ...)
2025-05-05 21:24 ` [PATCH v3 10/10] docs: ansible_cfg: add documentation Daniel Gomez
@ 2025-05-06 20:35 ` Luis Chamberlain
10 siblings, 0 replies; 18+ messages in thread
From: Luis Chamberlain @ 2025-05-06 20:35 UTC (permalink / raw)
To: Daniel Gomez; +Cc: Chuck Lever, kdevops, Daniel Gomez
On Mon, May 05, 2025 at 11:24:47PM +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.
>
> 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.
>
> 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, matchin
> the 'all' concept in the former configuration 'hosts' file. Except the
> bootlinux.yml playbook, 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).
>
> 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
>
> Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
Thanks for doing all this, and the testing prior!
Reviewed-by: Luis Chamberlain <mcgrof@kernel.org>
Luis
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v3 01/10] playbooks: fix playbook name for all hosts plays
2025-05-05 21:24 ` [PATCH v3 01/10] playbooks: fix playbook name for all hosts plays Daniel Gomez
@ 2025-05-06 20:39 ` Chuck Lever
2025-05-07 12:04 ` Daniel Gomez
2025-05-16 12:51 ` Daniel Gomez
0 siblings, 2 replies; 18+ messages in thread
From: Chuck Lever @ 2025-05-06 20:39 UTC (permalink / raw)
To: Daniel Gomez, Luis Chamberlain; +Cc: kdevops, Daniel Gomez
On 5/5/25 5:24 PM, Daniel Gomez wrote:
> 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/
Nit: name[casing] states these names must begin with an upper case
letter. Ditto for 02/10.
Would be slightly nicer, perhaps, if these names were documentary
sentences, as they are in the roles themselves.
> 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/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 | 3 ++-
> playbooks/update_etc_hosts.yml | 3 ++-
> 24 files changed, 48 insertions(+), 24 deletions(-)
>
> diff --git a/playbooks/blktests.yml b/playbooks/blktests.yml
> index 99732af2b681d5a8a161514513e564495a2686c9..91b484fbef5f8868b97fff337eaf5011e4c7f9f6 100644
> --- a/playbooks/blktests.yml
> +++ b/playbooks/blktests.yml
> @@ -1,4 +1,5 @@
> ---
> -- hosts: all
> +- name: blktests
> + hosts: all
> roles:
> - role: blktests
> diff --git a/playbooks/bootlinux.yml b/playbooks/bootlinux.yml
> index 418bbed4c060ed10333f2b1c5832f4217d18f458..676469d49348ad209bb2d094b86e088a4dcf03b0 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 48485e3cfad5a253bd87ef231463167a824076f8..c4f0102b4bd5729d9ae347ae5c80a0a04576312e 100644
> --- a/playbooks/common.yml
> +++ b/playbooks/common.yml
> @@ -1,4 +1,5 @@
> ---
> -- hosts: all
> +- name: common
> + hosts: all
> roles:
> - role: common
> diff --git a/playbooks/create_data_partition.yml b/playbooks/create_data_partition.yml
> index fe7890b357c1ec0a4e42f29c24d2fbf093868fda..9cf4d0506c830847d54aa02555e0cc705b031cb3 100644
> --- a/playbooks/create_data_partition.yml
> +++ b/playbooks/create_data_partition.yml
> @@ -1,4 +1,5 @@
> ---
> -- hosts: all
> +- name: create_data_partition
> + hosts: all
> roles:
> - role: create_data_partition
> diff --git a/playbooks/cxl.yml b/playbooks/cxl.yml
> index 87638599bf4397c9508f7c746316e0f2e9312f67..65277d435a6fe13661febfea78181bf3a13e4dfc 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 871651d740153d5ed0f75d466da5ca218362425e..45eb163bedd95c9cb8736f3cb68954df6dacf941 100644
> --- a/playbooks/devconfig.yml
> +++ b/playbooks/devconfig.yml
> @@ -1,5 +1,6 @@
> ---
> -- hosts: all
> +- name: devconfig
> + hosts: all
> gather_facts: no
> roles:
> - role: devconfig
> diff --git a/playbooks/gitr.yml b/playbooks/gitr.yml
> index 4c3e3ba919d767c897f79e30debd628737f89a82..5037a813f6b0a759bede52d7092af2bff218315b 100644
> --- a/playbooks/gitr.yml
> +++ b/playbooks/gitr.yml
> @@ -1,4 +1,5 @@
> ---
> -- hosts: all
> +- name: gitr
> + hosts: all
> roles:
> - role: gitr
> diff --git a/playbooks/iscsi.yml b/playbooks/iscsi.yml
> index cea400081c8dbc9558d88bebe649407f1b9b235e..5b3c4f356d8864761e5d768c81d740180a20740c 100644
> --- a/playbooks/iscsi.yml
> +++ b/playbooks/iscsi.yml
> @@ -1,4 +1,5 @@
> ---
> -- hosts: all
> +- name: iscsi
> + hosts: all
> roles:
> - role: iscsi
> diff --git a/playbooks/kdc.yml b/playbooks/kdc.yml
> index 66709db81d531e373f2e51770f1bee70b091d6f5..27de7faf436dd3061fbe20c22bac5f0131a21356 100644
> --- a/playbooks/kdc.yml
> +++ b/playbooks/kdc.yml
> @@ -1,4 +1,5 @@
> ---
> -- hosts: all
> +- name: kdc
> + hosts: all
> roles:
> - role: kdc
> diff --git a/playbooks/krb5.yml b/playbooks/krb5.yml
> index 52ca3ef5aef4ab08bd05f1c3fc8d01c7a653af32..8d65e560dab24b1a8f1457334c5a426dc40108c9 100644
> --- a/playbooks/krb5.yml
> +++ b/playbooks/krb5.yml
> @@ -1,4 +1,5 @@
> ---
> -- hosts: all
> +- name: krb5
> + hosts: all
> roles:
> - role: krb5
> diff --git a/playbooks/ktls.yml b/playbooks/ktls.yml
> index 8b7044c7ef2d26819333de2e0bd2f4dd6b00f688..70cc9c0c8fc3090083e4487298096252ebd5d7aa 100644
> --- a/playbooks/ktls.yml
> +++ b/playbooks/ktls.yml
> @@ -1,4 +1,5 @@
> ---
> -- hosts: all
> +- name: ktls
> + hosts: all
> roles:
> - role: ktls
> diff --git a/playbooks/ltp.yml b/playbooks/ltp.yml
> index 5921cefc76e4d4369e858709aeeb58878a101195..c01022f5f765b7e084c3806acd3d9ce249e445d6 100644
> --- a/playbooks/ltp.yml
> +++ b/playbooks/ltp.yml
> @@ -1,4 +1,5 @@
> ---
> -- hosts: all
> +- name: ltp
> + hosts: all
> roles:
> - role: ltp
> diff --git a/playbooks/nfsd.yml b/playbooks/nfsd.yml
> index 6c7735867eec9c570875dc02192e9494d811d364..edb8b1ff8de9eaf91cceedab7fe0a4672b1d7148 100644
> --- a/playbooks/nfsd.yml
> +++ b/playbooks/nfsd.yml
> @@ -1,4 +1,5 @@
> ---
> -- hosts: all
> +- name: nfsd
> + hosts: all
> roles:
> - role: nfsd
> diff --git a/playbooks/nfstest.yml b/playbooks/nfstest.yml
> index d414091aee7c24662a9e128d88da0b184697b9bf..03715ebf45f90070ba1d57feab27720f23d28d5e 100644
> --- a/playbooks/nfstest.yml
> +++ b/playbooks/nfstest.yml
> @@ -1,4 +1,5 @@
> ---
> -- hosts: all
> +- name: nfstest
> + hosts: all
> roles:
> - role: nfstest
> diff --git a/playbooks/pkg.yml b/playbooks/pkg.yml
> index f9d3e624551174e174d97e72776481b8a09d8505..60bee3cbd0382e2f2e0047fe1fadf245b685bc34 100644
> --- a/playbooks/pkg.yml
> +++ b/playbooks/pkg.yml
> @@ -1,4 +1,5 @@
> ---
> -- hosts: all
> +- name: pkg
> + hosts: all
> roles:
> - role: pkg
> diff --git a/playbooks/pynfs.yml b/playbooks/pynfs.yml
> index ad5b3e2b07328d2a63efb8e28694d38c9570950f..ea01b9af880476e3bbe74114f996885f7e922148 100644
> --- a/playbooks/pynfs.yml
> +++ b/playbooks/pynfs.yml
> @@ -1,4 +1,5 @@
> ---
> -- hosts: all
> +- name: pynfs
> + hosts: all
> roles:
> - role: pynfs
> diff --git a/playbooks/reboot-limit.yml b/playbooks/reboot-limit.yml
> index 37936237b5024700bb5fdf6e48cbf86120cc9900..160d6b9119788aed82e80740ecc2ab1edb208d89 100644
> --- a/playbooks/reboot-limit.yml
> +++ b/playbooks/reboot-limit.yml
> @@ -1,4 +1,5 @@
> ---
> -- hosts: all
> +- name: reboot-limit
> + hosts: all
> roles:
> - role: reboot-limit
> diff --git a/playbooks/rxe.yml b/playbooks/rxe.yml
> index dc51c0347628df781e4846bc72614300894a0a95..2204b10c136d5b2e0eb0e3262a9f2491fefdfce8 100644
> --- a/playbooks/rxe.yml
> +++ b/playbooks/rxe.yml
> @@ -1,4 +1,5 @@
> ---
> -- hosts: all
> +- name: rxe
> + hosts: all
> roles:
> - role: rxe
> diff --git a/playbooks/selftests.yml b/playbooks/selftests.yml
> index 6f7d7770816e2e34614fef4eee557fb615fafe14..2de584cb3c22ac08fa2d675ee5ef504671e8a389 100644
> --- a/playbooks/selftests.yml
> +++ b/playbooks/selftests.yml
> @@ -1,4 +1,5 @@
> ---
> -- hosts: all
> +- name: selftests
> + hosts: all
> roles:
> - role: selftests
> diff --git a/playbooks/siw.yml b/playbooks/siw.yml
> index 5258a5af9dca98873b0dbfb921169ea9de505f7c..cc546919681a15dff2a82472e1889711301b7a5c 100644
> --- a/playbooks/siw.yml
> +++ b/playbooks/siw.yml
> @@ -1,4 +1,5 @@
> ---
> -- hosts: all
> +- name: siw
> + hosts: all
> roles:
> - role: siw
> diff --git a/playbooks/smbd.yml b/playbooks/smbd.yml
> index 47cd0223164aa7970d2d20e520fb0468d03bc655..258edec6c5889b2a98a450d230b07a684b28568a 100644
> --- a/playbooks/smbd.yml
> +++ b/playbooks/smbd.yml
> @@ -1,4 +1,5 @@
> ---
> -- hosts: all
> +- name: smbd
> + hosts: all
> roles:
> - role: smbd
> diff --git a/playbooks/sysbench.yml b/playbooks/sysbench.yml
> index 61026356edc78a004fd01cd2f63a546bc13bc0d3..9cc043ba9d7a67f44d5b297dc8d0ea9cbe6b89ae 100644
> --- a/playbooks/sysbench.yml
> +++ b/playbooks/sysbench.yml
> @@ -1,4 +1,5 @@
> ---
> -- hosts: all
> +- name: sysbench
> + hosts: all
> roles:
> - role: sysbench
> diff --git a/playbooks/terraform.yml b/playbooks/terraform.yml
> index 374a76fb0ae73da8598bec53590e01b85a528053..1d212bd143ab49cc68b919022e8971d64c30270b 100644
> --- a/playbooks/terraform.yml
> +++ b/playbooks/terraform.yml
> @@ -1,5 +1,6 @@
> ---
> -- hosts: all
> +- name: terraform
> + hosts: all
> gather_facts: false
> roles:
> - role: terraform
> diff --git a/playbooks/update_etc_hosts.yml b/playbooks/update_etc_hosts.yml
> index a0c217411400a00cf6fccf00bb47860081ed9256..57d921ff627a6ffe798dfe90b49b769cd46fe62c 100644
> --- a/playbooks/update_etc_hosts.yml
> +++ b/playbooks/update_etc_hosts.yml
> @@ -1,5 +1,6 @@
> ---
> -- hosts: all
> +- name: update_etc_hosts
> + hosts: all
> gather_facts: no
> roles:
> - role: update_etc_hosts
>
--
Chuck Lever
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v3 01/10] playbooks: fix playbook name for all hosts plays
2025-05-06 20:39 ` Chuck Lever
@ 2025-05-07 12:04 ` Daniel Gomez
2025-05-07 14:02 ` Chuck Lever
2025-05-16 12:51 ` Daniel Gomez
1 sibling, 1 reply; 18+ messages in thread
From: Daniel Gomez @ 2025-05-07 12:04 UTC (permalink / raw)
To: Chuck Lever; +Cc: Luis Chamberlain, kdevops, Daniel Gomez
On Tue, May 06, 2025 at 04:39:38PM +0100, Chuck Lever wrote:
> On 5/5/25 5:24 PM, Daniel Gomez wrote:
> > 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/
>
> Nit: name[casing] states these names must begin with an upper case
> letter. Ditto for 02/10.
>
> Would be slightly nicer, perhaps, if these names were documentary
> sentences, as they are in the roles themselves.
>
Agree. I'll work on this.
At some point we need to be a bit more strict about enforcing Ansible linter
rules. We are not quite there yet, but I was thinking in how to approach this.
Maybe we can start by just warning users in CI but once something is fixed
(maybe just a file or a full role) we can ensure the CI pipeline fails if lint
test is not passing. What do you think?
I was experimenting with that idea for playbooks files (exluding roles/ dir)
here:
https://github.com/linux-kdevops/kdevops/actions/runs/14882397895/job/41793330919
Read for instructions on how to ignore specific rule violations.
# Rule Violation Summary
1 profile:basic tags:idiom
1 profile:basic tags:idiom
2 profile:basic tags:formatting,yaml
46 profile:basic tags:idiom
1 profile:basic tags:formatting
Failed: 51 failure(s), 0 warning(s) on 47 files. Last profile that met the
validation criteria was 'min'.
Is this useful?
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v3 01/10] playbooks: fix playbook name for all hosts plays
2025-05-07 12:04 ` Daniel Gomez
@ 2025-05-07 14:02 ` Chuck Lever
0 siblings, 0 replies; 18+ messages in thread
From: Chuck Lever @ 2025-05-07 14:02 UTC (permalink / raw)
To: Daniel Gomez; +Cc: Luis Chamberlain, kdevops, Daniel Gomez
On 5/7/25 8:04 AM, Daniel Gomez wrote:
> On Tue, May 06, 2025 at 04:39:38PM +0100, Chuck Lever wrote:
>> On 5/5/25 5:24 PM, Daniel Gomez wrote:
>>> 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/
>>
>> Nit: name[casing] states these names must begin with an upper case
>> letter. Ditto for 02/10.
>>
>> Would be slightly nicer, perhaps, if these names were documentary
>> sentences, as they are in the roles themselves.
>>
>
> Agree. I'll work on this.
>
> At some point we need to be a bit more strict about enforcing Ansible linter
> rules. We are not quite there yet, but I was thinking in how to approach this.
> Maybe we can start by just warning users in CI but once something is fixed
> (maybe just a file or a full role) we can ensure the CI pipeline fails if lint
> test is not passing. What do you think?
There's enough unlinted code that that kind of restriction might be
premature.
Certainly ansible-lint could be made part of a check-in test.
> I was experimenting with that idea for playbooks files (exluding roles/ dir)
> here:
>
> https://github.com/linux-kdevops/kdevops/actions/runs/14882397895/job/41793330919
>
> Read for instructions on how to ignore specific rule violations.
>
> # Rule Violation Summary
>
> 1 profile:basic tags:idiom
> 1 profile:basic tags:idiom
> 2 profile:basic tags:formatting,yaml
> 46 profile:basic tags:idiom
> 1 profile:basic tags:formatting
>
> Failed: 51 failure(s), 0 warning(s) on 47 files. Last profile that met the
> validation criteria was 'min'.
>
> Is this useful?
--
Chuck Lever
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v3 01/10] playbooks: fix playbook name for all hosts plays
2025-05-06 20:39 ` Chuck Lever
2025-05-07 12:04 ` Daniel Gomez
@ 2025-05-16 12:51 ` Daniel Gomez
2025-05-17 19:43 ` Chuck Lever
1 sibling, 1 reply; 18+ messages in thread
From: Daniel Gomez @ 2025-05-16 12:51 UTC (permalink / raw)
To: Chuck Lever, Luis Chamberlain; +Cc: kdevops, Daniel Gomez
On 06/05/2025 22.39, Chuck Lever wrote:
> On 5/5/25 5:24 PM, Daniel Gomez wrote:
>> 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/
>
> Nit: name[casing] states these names must begin with an upper case
> letter. Ditto for 02/10.
>
> Would be slightly nicer, perhaps, if these names were documentary
> sentences, as they are in the roles themselves.
I'm getting a bit of “buddy” assistance on some playbooks I'm less/not
familiar with. Here's the first pass covering about half of them.
--- a/playbooks/blktests.yml
+++ b/playbooks/blktests.yml
-- name: blktests
+- name: Linux kernel block layer tests (blktests)
--- a/playbooks/bootlinux-local.yml
+++ b/playbooks/bootlinux-local.yml
-- name: bootlinux-local
+- name: Bootlinux (localhost only)
--- a/playbooks/bringup_guestfs.yml
+++ b/playbooks/bringup_guestfs.yml
-- name: bringup_guestfs
+- name: Bringup Guests (libguestfs)
--- a/playbooks/build_qemu.yml
+++ b/playbooks/build_qemu.yml
-- name: build_qemu
+- name: Build QEMU
--- a/playbooks/common.yml
+++ b/playbooks/common.yml
-- name: common
+- name: Common (shared role)
--- a/playbooks/create_data_partition.yml
+++ b/playbooks/create_data_partition.yml
-- name: create_data_partition
+- name: Create Directory Data Path (e.g. /data partition)
--- a/playbooks/devconfig.yml
+++ b/playbooks/devconfig.yml
-- name: devconfig
+- name: Configure developer environment on target systems
--- a/playbooks/fstests.yml
+++ b/playbooks/fstests.yml
-- name: fstests
+- name: "Filesystem testing suite setup - (x)fstests (control node only)"
-- hosts: baseline:dev
+- name: Filesystem testing suite setup - (x)fstests
+ hosts: baseline:dev
--- a/playbooks/pynfs.yml
+++ b/playbooks/pynfs.yml
-- name: pynfs
+- name: Configure and run pynfs testing workflow
--- a/playbooks/reboot-limit.yml
+++ b/playbooks/reboot-limit.yml
-- name: reboot-limit
+- name: reboot-limit stability test workflow
--- a/playbooks/rxe.yml
+++ b/playbooks/rxe.yml
-- name: rxe
+- name: Set up software-emulated RoCE RDMA over Ethernet (rxe) via udev
--- a/playbooks/selftests.yml
+++ b/playbooks/selftests.yml
-- name: selftests
+- name: Set up and run Linux kernel selftests (kselftests)
--- a/playbooks/siw.yml
+++ b/playbooks/siw.yml
-- name: siw
+- name: Set up software-emulated iWARP RDMA over TCP/IP (siw) via udev
--- a/playbooks/smbd.yml
+++ b/playbooks/smbd.yml
-- name: smbd
+- name: Set up Samba server with shared volume and system integration
--- a/playbooks/sysbench.yml
+++ b/playbooks/sysbench.yml
-- name: sysbench
+- name: Sysbench workflow
--- a/playbooks/terraform.yml
+++ b/playbooks/terraform.yml
-- name: terraform
+- name: Manage infrastructure lifecycle and SSH access with Terraform
--- a/playbooks/update_etc_hosts.yml
+++ b/playbooks/update_etc_hosts.yml
-- name: update_etc_hosts
+- name: Update target /etc/hosts with all targets and disable cloud-init
--- a/playbooks/update_ssh_config_guestfs.yml
+++ b/playbooks/update_ssh_config_guestfs.yml
-- name: update_ssh_config_guestfs
+- name: Update OpenSSH client configuration file (libguestfs)
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v3 01/10] playbooks: fix playbook name for all hosts plays
2025-05-16 12:51 ` Daniel Gomez
@ 2025-05-17 19:43 ` Chuck Lever
2025-05-17 20:34 ` Daniel Gomez
0 siblings, 1 reply; 18+ messages in thread
From: Chuck Lever @ 2025-05-17 19:43 UTC (permalink / raw)
To: da.gomez, Luis Chamberlain; +Cc: kdevops, Daniel Gomez
On 5/16/25 8:51 AM, Daniel Gomez wrote:
>
>
> On 06/05/2025 22.39, Chuck Lever wrote:
>> On 5/5/25 5:24 PM, Daniel Gomez wrote:
>>> 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/
>>
>> Nit: name[casing] states these names must begin with an upper case
>> letter. Ditto for 02/10.
>>
>> Would be slightly nicer, perhaps, if these names were documentary
>> sentences, as they are in the roles themselves.
>
> I'm getting a bit of “buddy” assistance on some playbooks I'm less/not
> familiar with. Here's the first pass covering about half of them.
Some suggestions below.
> --- a/playbooks/blktests.yml
> +++ b/playbooks/blktests.yml
> -- name: blktests
> +- name: Linux kernel block layer tests (blktests)
"Configure and run the block layer testing workflow"
> --- a/playbooks/bootlinux-local.yml
> +++ b/playbooks/bootlinux-local.yml
> -- name: bootlinux-local
> +- name: Bootlinux (localhost only)
I have a patch or two that folds this role into bootlinux.
Should I send it now, or wait until your clean-up is merged?
> --- a/playbooks/bringup_guestfs.yml
> +++ b/playbooks/bringup_guestfs.yml
> -- name: bringup_guestfs
> +- name: Bringup Guests (libguestfs)
"Bring up libvirt target nodes"
> --- a/playbooks/build_qemu.yml
> +++ b/playbooks/build_qemu.yml
> -- name: build_qemu
> +- name: Build QEMU
> --- a/playbooks/common.yml
> +++ b/playbooks/common.yml
> -- name: common
> +- name: Common (shared role)
"Common tasks"
> --- a/playbooks/create_data_partition.yml
> +++ b/playbooks/create_data_partition.yml
> -- name: create_data_partition
> +- name: Create Directory Data Path (e.g. /data partition)
> --- a/playbooks/devconfig.yml
> +++ b/playbooks/devconfig.yml
> -- name: devconfig
> +- name: Configure developer environment on target systems
> --- a/playbooks/fstests.yml
> +++ b/playbooks/fstests.yml
> -- name: fstests
> +- name: "Filesystem testing suite setup - (x)fstests (control node only)"
> -- hosts: baseline:dev
> +- name: Filesystem testing suite setup - (x)fstests
> + hosts: baseline:dev
> --- a/playbooks/pynfs.yml
> +++ b/playbooks/pynfs.yml
> -- name: pynfs
> +- name: Configure and run pynfs testing workflow
> --- a/playbooks/reboot-limit.yml
> +++ b/playbooks/reboot-limit.yml
> -- name: reboot-limit
> +- name: reboot-limit stability test workflow
"Configure and run the reboot-limit workflow"
> --- a/playbooks/rxe.yml
> +++ b/playbooks/rxe.yml
> -- name: rxe
> +- name: Set up software-emulated RoCE RDMA over Ethernet (rxe) via udev
> --- a/playbooks/selftests.yml
> +++ b/playbooks/selftests.yml
> -- name: selftests
> +- name: Set up and run Linux kernel selftests (kselftests)
> --- a/playbooks/siw.yml
> +++ b/playbooks/siw.yml
> -- name: siw
> +- name: Set up software-emulated iWARP RDMA over TCP/IP (siw) via udev
> --- a/playbooks/smbd.yml
> +++ b/playbooks/smbd.yml
> -- name: smbd
> +- name: Set up Samba server with shared volume and system integration
> --- a/playbooks/sysbench.yml
> +++ b/playbooks/sysbench.yml
> -- name: sysbench
> +- name: Sysbench workflow
"Configure and run the sysbench workflow"
> --- a/playbooks/terraform.yml
> +++ b/playbooks/terraform.yml
> -- name: terraform
> +- name: Manage infrastructure lifecycle and SSH access with Terraform
> --- a/playbooks/update_etc_hosts.yml
> +++ b/playbooks/update_etc_hosts.yml
> -- name: update_etc_hosts
> +- name: Update target /etc/hosts with all targets and disable cloud-init
> --- a/playbooks/update_ssh_config_guestfs.yml
> +++ b/playbooks/update_ssh_config_guestfs.yml
> -- name: update_ssh_config_guestfs
> +- name: Update OpenSSH client configuration file (libguestfs)
>
>
--
Chuck Lever
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v3 01/10] playbooks: fix playbook name for all hosts plays
2025-05-17 19:43 ` Chuck Lever
@ 2025-05-17 20:34 ` Daniel Gomez
0 siblings, 0 replies; 18+ messages in thread
From: Daniel Gomez @ 2025-05-17 20:34 UTC (permalink / raw)
To: Chuck Lever, Luis Chamberlain; +Cc: kdevops, Daniel Gomez
On 17/05/2025 21.43, Chuck Lever wrote:
> On 5/16/25 8:51 AM, Daniel Gomez wrote:
>>
>>
>> On 06/05/2025 22.39, Chuck Lever wrote:
>>> On 5/5/25 5:24 PM, Daniel Gomez wrote:
>>>> 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/
>>>
>>> Nit: name[casing] states these names must begin with an upper case
>>> letter. Ditto for 02/10.
>>>
>>> Would be slightly nicer, perhaps, if these names were documentary
>>> sentences, as they are in the roles themselves.
>>
>> I'm getting a bit of “buddy” assistance on some playbooks I'm less/not
>> familiar with. Here's the first pass covering about half of them.
>
> Some suggestions below.
Thanks!
>
>
>> --- a/playbooks/blktests.yml
>> +++ b/playbooks/blktests.yml
>> -- name: blktests
>> +- name: Linux kernel block layer tests (blktests)
>
> "Configure and run the block layer testing workflow"
>
>
>> --- a/playbooks/bootlinux-local.yml
>> +++ b/playbooks/bootlinux-local.yml
>> -- name: bootlinux-local
>> +- name: Bootlinux (localhost only)
>
> I have a patch or two that folds this role into bootlinux.
> Should I send it now, or wait until your clean-up is merged?
I still need to test the crash CI script and update the playbook
description. That said, I'd go ahead and send the bootlinux cleanup
patches now as they will also be helpful for the bisect workflow.
>
>
>> --- a/playbooks/bringup_guestfs.yml
>> +++ b/playbooks/bringup_guestfs.yml
>> -- name: bringup_guestfs
>> +- name: Bringup Guests (libguestfs)
>
> "Bring up libvirt target nodes"
>
>
>> --- a/playbooks/build_qemu.yml
>> +++ b/playbooks/build_qemu.yml
>> -- name: build_qemu
>> +- name: Build QEMU
>> --- a/playbooks/common.yml
>> +++ b/playbooks/common.yml
>> -- name: common
>> +- name: Common (shared role)
>
> "Common tasks"
>
>
>> --- a/playbooks/create_data_partition.yml
>> +++ b/playbooks/create_data_partition.yml
>> -- name: create_data_partition
>> +- name: Create Directory Data Path (e.g. /data partition)
>> --- a/playbooks/devconfig.yml
>> +++ b/playbooks/devconfig.yml
>> -- name: devconfig
>> +- name: Configure developer environment on target systems
>> --- a/playbooks/fstests.yml
>> +++ b/playbooks/fstests.yml
>> -- name: fstests
>> +- name: "Filesystem testing suite setup - (x)fstests (control node only)"
>> -- hosts: baseline:dev
>> +- name: Filesystem testing suite setup - (x)fstests
>> + hosts: baseline:dev
>> --- a/playbooks/pynfs.yml
>> +++ b/playbooks/pynfs.yml
>> -- name: pynfs
>> +- name: Configure and run pynfs testing workflow
>> --- a/playbooks/reboot-limit.yml
>> +++ b/playbooks/reboot-limit.yml
>> -- name: reboot-limit
>> +- name: reboot-limit stability test workflow
>
> "Configure and run the reboot-limit workflow"
>
>
>> --- a/playbooks/rxe.yml
>> +++ b/playbooks/rxe.yml
>> -- name: rxe
>> +- name: Set up software-emulated RoCE RDMA over Ethernet (rxe) via udev
>> --- a/playbooks/selftests.yml
>> +++ b/playbooks/selftests.yml
>> -- name: selftests
>> +- name: Set up and run Linux kernel selftests (kselftests)
>> --- a/playbooks/siw.yml
>> +++ b/playbooks/siw.yml
>> -- name: siw
>> +- name: Set up software-emulated iWARP RDMA over TCP/IP (siw) via udev
>> --- a/playbooks/smbd.yml
>> +++ b/playbooks/smbd.yml
>> -- name: smbd
>> +- name: Set up Samba server with shared volume and system integration
>> --- a/playbooks/sysbench.yml
>> +++ b/playbooks/sysbench.yml
>> -- name: sysbench
>> +- name: Sysbench workflow
>
> "Configure and run the sysbench workflow"
>
>
>> --- a/playbooks/terraform.yml
>> +++ b/playbooks/terraform.yml
>> -- name: terraform
>> +- name: Manage infrastructure lifecycle and SSH access with Terraform
>> --- a/playbooks/update_etc_hosts.yml
>> +++ b/playbooks/update_etc_hosts.yml
>> -- name: update_etc_hosts
>> +- name: Update target /etc/hosts with all targets and disable cloud-init
>> --- a/playbooks/update_ssh_config_guestfs.yml
>> +++ b/playbooks/update_ssh_config_guestfs.yml
>> -- name: update_ssh_config_guestfs
>> +- name: Update OpenSSH client configuration file (libguestfs)
>>
>>
>
>
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2025-05-17 20:34 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-05 21:24 [PATCH v3 00/10] Define Ansible inventory in the Ansible Configuration file Daniel Gomez
2025-05-05 21:24 ` [PATCH v3 01/10] playbooks: fix playbook name for all hosts plays Daniel Gomez
2025-05-06 20:39 ` Chuck Lever
2025-05-07 12:04 ` Daniel Gomez
2025-05-07 14:02 ` Chuck Lever
2025-05-16 12:51 ` Daniel Gomez
2025-05-17 19:43 ` Chuck Lever
2025-05-17 20:34 ` Daniel Gomez
2025-05-05 21:24 ` [PATCH v3 02/10] playbooks: fix playbook name for localhost plays Daniel Gomez
2025-05-05 21:24 ` [PATCH v3 03/10] Makefile: use long form of limit argument for clarity Daniel Gomez
2025-05-05 21:24 ` [PATCH v3 04/10] Makefile: print target when debug Daniel Gomez
2025-05-05 21:24 ` [PATCH v3 05/10] .github/workflows/fstests.yml: enable make verbosity Daniel Gomez
2025-05-05 21:24 ` [PATCH v3 06/10] ansible_cfg: add inventory support Daniel Gomez
2025-05-05 21:24 ` [PATCH v3 07/10] gen_hosts: templates: include localhost in the all group Daniel Gomez
2025-05-05 21:24 ` [PATCH v3 08/10] Makefile: use inventory from ansible.cfg Daniel Gomez
2025-05-05 21:24 ` [PATCH v3 09/10] ansible_cfg: add support to change ansible.cfg file location Daniel Gomez
2025-05-05 21:24 ` [PATCH v3 10/10] docs: ansible_cfg: add documentation Daniel Gomez
2025-05-06 20:35 ` [PATCH v3 00/10] Define Ansible inventory in the Ansible Configuration file Luis Chamberlain
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox