* [PATCH 0/8] kdevops: small NIXOS and gen_hosts fixes
@ 2026-04-22 22:16 Daniel Gomez
2026-04-22 22:16 ` [PATCH 1/8] nixos: remove duplicate nixos_channel extra-var from Makefile Daniel Gomez
` (8 more replies)
0 siblings, 9 replies; 11+ messages in thread
From: Daniel Gomez @ 2026-04-22 22:16 UTC (permalink / raw)
To: Luis Chamberlain, Chuck Lever; +Cc: kdevops, Daniel Gomez, Daniel Gomez
Small cleanups picked up while building the new bringup backend that
depends on this series. Each patch is independent and stands on its
own: duplicated Makefile vars, ineffective silent recipe guards, libvirt
XML and cleanup path drift on the NIXOS role, and gen_hosts rough edges
around inventory group scoping and inventory owner refresh.
Preparatory series for the upstreaming of nixos-qemu [1] and
qemu-system-units [2] as git subtrees. The two projects provide an
alternative to kdevops libvirtd, libguestfs, and virsh stack for local
VM bringup, one that sidesteps the sudo and privilege escalation the
Ansible host-setup playbooks currently need on the control node to drive
that stack. libvirt bringup stays the default and is untouched; the
alternative is opt-in via Kconfig. qemu-system-units renders the QEMU
command line from templates into a systemd user service, so VMs run in
the user session with no root daemon and no new wrapper on top of QEMU.
nixos-qemu builds image-based and imageless guests declaratively through
a NixOS flake, with no libguestfs in the loop.
Link: https://github.com/linux-kdevops/nixos-qemu [1]
Link: https://github.com/linux-kdevops/qemu-system-units [2]
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
Daniel Gomez (8):
nixos: remove duplicate nixos_channel extra-var from Makefile
nixos: do not emit comment-only recipe lines under $(Q)
nixos: drop hardcoded qxl video model from libvirt XML
nixos: destroy the libvirt domain before cleaning up local artefacts
gen_hosts: scope the python interpreter per inventory group
gen_hosts: make the linux workflow node name follow bootlinux_builder
defconfigs/nixos: name NIXOS hosts with the "nixos" prefix
gen_hosts: drop sudo become on inventory owner refresh
defconfigs/nixos | 1 +
kconfigs/Kconfig.ansible_provisioning | 33 ++++++++++++++++
playbooks/nixos.yml | 14 +++++++
playbooks/roles/gen_hosts/tasks/main.yml | 3 --
playbooks/roles/gen_hosts/templates/blktests.j2 | 6 +--
playbooks/roles/gen_hosts/templates/cxl.j2 | 6 +--
playbooks/roles/gen_hosts/templates/fio-tests.j2 | 8 ++--
playbooks/roles/gen_hosts/templates/fstests.j2 | 16 ++++----
playbooks/roles/gen_hosts/templates/gitr.j2 | 10 ++---
playbooks/roles/gen_hosts/templates/ltp.j2 | 6 +--
playbooks/roles/gen_hosts/templates/mmtests.j2 | 8 ++--
playbooks/roles/gen_hosts/templates/nfstest.j2 | 10 ++---
playbooks/roles/gen_hosts/templates/pynfs.j2 | 10 ++---
playbooks/roles/gen_hosts/templates/selftests.j2 | 6 +--
playbooks/roles/gen_hosts/templates/sysbench.j2 | 6 +--
.../roles/gen_hosts/templates/workflows/ai.j2 | 14 +++----
.../gen_hosts/templates/workflows/blktests.j2 | 10 ++---
.../gen_hosts/templates/workflows/build-linux.j2 | 30 +++++++--------
.../templates/workflows/declared-hosts.j2 | 44 +++++++++++-----------
.../gen_hosts/templates/workflows/fio-tests.j2 | 16 ++++----
.../roles/gen_hosts/templates/workflows/fstests.j2 | 12 +++---
.../roles/gen_hosts/templates/workflows/generic.j2 | 2 +-
.../roles/gen_hosts/templates/workflows/gitr.j2 | 12 +++---
.../roles/gen_hosts/templates/workflows/linux.j2 | 23 ++++++++---
.../roles/gen_hosts/templates/workflows/ltp.j2 | 8 ++--
.../roles/gen_hosts/templates/workflows/minio.j2 | 26 ++++++-------
.../roles/gen_hosts/templates/workflows/mix.j2 | 10 ++---
.../roles/gen_hosts/templates/workflows/mmtests.j2 | 8 ++--
.../roles/gen_hosts/templates/workflows/nfstest.j2 | 12 +++---
.../roles/gen_hosts/templates/workflows/pynfs.j2 | 10 ++---
.../gen_hosts/templates/workflows/reboot-limit.j2 | 6 +--
.../gen_hosts/templates/workflows/selftests.j2 | 8 ++--
.../gen_hosts/templates/workflows/sysbench.j2 | 8 ++--
.../roles/gen_hosts/templates/workflows/vllm.j2 | 14 +++----
playbooks/templates/nixos/vm-libvirt.xml.j2 | 5 ---
scripts/nixos.Makefile | 6 +--
36 files changed, 239 insertions(+), 188 deletions(-)
---
base-commit: 1a61f43dc2bc2e019fc4a35d9673cfa31909272d
change-id: 20260422-kdevops-series-a-fixes-e26bd7d77c76
Best regards,
--
Daniel Gomez <da.gomez@samsung.com>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH 1/8] nixos: remove duplicate nixos_channel extra-var from Makefile
2026-04-22 22:16 [PATCH 0/8] kdevops: small NIXOS and gen_hosts fixes Daniel Gomez
@ 2026-04-22 22:16 ` Daniel Gomez
2026-04-22 22:16 ` [PATCH 2/8] nixos: do not emit comment-only recipe lines under $(Q) Daniel Gomez
` (7 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Daniel Gomez @ 2026-04-22 22:16 UTC (permalink / raw)
To: Luis Chamberlain, Chuck Lever; +Cc: kdevops, Daniel Gomez, Daniel Gomez
From: Daniel Gomez <da.gomez@samsung.com>
scripts/nixos.Makefile injected nixos_channel=\$(CONFIG_NIXOS_CHANNEL)
into ANSIBLE_EXTRA_ARGS, but Kconfig.nixos already declares
config NIXOS_CHANNEL with "output yaml", which writes the same key
and value into .extra_vars_auto.yaml on every defconfig regeneration.
The Ansible extra_vars therefore contained the mapping twice, which
ansible-core rightly warns about:
[WARNING]: Found duplicate mapping key 'nixos_channel'.
Origin: extra_vars.yaml:90:1
Drop the redundant Make assignment. The Kconfig-exported value is
authoritative and already drives every consumer.
Fixes: 3089c3fec57 ("nixos: add NixOS support as third bringup option with libvirt integration")
Generated-by: Claude AI
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
scripts/nixos.Makefile | 1 -
1 file changed, 1 deletion(-)
diff --git a/scripts/nixos.Makefile b/scripts/nixos.Makefile
index 1d8c4e47..d0ad0bf5 100644
--- a/scripts/nixos.Makefile
+++ b/scripts/nixos.Makefile
@@ -9,7 +9,6 @@ export KDEVOPS_PROVISIONED_SSH := $(KDEVOPS_PROVISIONED_SSH_DEFAULT_GUARD)
NIXOS_ARGS += nixos_path='$(TOPDIR_PATH)/nixos'
NIXOS_ARGS += data_home_dir=/home/kdevops
-NIXOS_ARGS += nixos_channel=$(CONFIG_NIXOS_CHANNEL)
NIXOS_ARGS += libvirt_provider=True
--
2.53.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 2/8] nixos: do not emit comment-only recipe lines under $(Q)
2026-04-22 22:16 [PATCH 0/8] kdevops: small NIXOS and gen_hosts fixes Daniel Gomez
2026-04-22 22:16 ` [PATCH 1/8] nixos: remove duplicate nixos_channel extra-var from Makefile Daniel Gomez
@ 2026-04-22 22:16 ` Daniel Gomez
2026-04-22 22:16 ` [PATCH 3/8] nixos: drop hardcoded qxl video model from libvirt XML Daniel Gomez
` (6 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Daniel Gomez @ 2026-04-22 22:16 UTC (permalink / raw)
To: Luis Chamberlain, Chuck Lever; +Cc: kdevops, Daniel Gomez, Daniel Gomez
From: Daniel Gomez <da.gomez@samsung.com>
Under CONFIG_KDEVOPS_MAKE_VERBOSE=y (or V=1) $(Q) expands to a
prefix that ends in "&& set -x &&", so a recipe line of the form
"$(Q)# comment" becomes "... && set -x && # comment"; the shell
treats "#" as a comment, the trailing "&&" loses its right-hand
operand, and the recipe aborts with a syntax error. Move prose
to Make-level comments above the target so every recipe line is
a real command that $(Q) can wrap safely in either verbosity
mode.
Fixes: 3089c3fec57 ("nixos: add NixOS support as third bringup option with libvirt integration")
Generated-by: Claude AI
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
scripts/nixos.Makefile | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/scripts/nixos.Makefile b/scripts/nixos.Makefile
index d0ad0bf5..7ed49b05 100644
--- a/scripts/nixos.Makefile
+++ b/scripts/nixos.Makefile
@@ -44,9 +44,10 @@ libvirt_pcie_passthrough_permissions:
$(Q)ansible-playbook \
playbooks/libvirt_pcie_passthrough.yml
+# SSH connectivity is verified during NixOS VM provisioning: VMs get
+# DHCP IPs and SSH is tested directly in the playbook. The marker
+# below just records that the provisioning reached that point.
$(KDEVOPS_PROVISIONED_SSH): $(KDEVOPS_HOSTS_PREFIX)
- $(Q)# The SSH connectivity is verified during NixOS VM provisioning
- $(Q)# VMs get DHCP IPs and SSH is tested directly in the playbook
$(Q)touch $(KDEVOPS_PROVISIONED_SSH)
install_nixos_deps:
--
2.53.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 3/8] nixos: drop hardcoded qxl video model from libvirt XML
2026-04-22 22:16 [PATCH 0/8] kdevops: small NIXOS and gen_hosts fixes Daniel Gomez
2026-04-22 22:16 ` [PATCH 1/8] nixos: remove duplicate nixos_channel extra-var from Makefile Daniel Gomez
2026-04-22 22:16 ` [PATCH 2/8] nixos: do not emit comment-only recipe lines under $(Q) Daniel Gomez
@ 2026-04-22 22:16 ` Daniel Gomez
2026-04-22 22:16 ` [PATCH 4/8] nixos: destroy the libvirt domain before cleaning up local artefacts Daniel Gomez
` (5 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Daniel Gomez @ 2026-04-22 22:16 UTC (permalink / raw)
To: Luis Chamberlain, Chuck Lever; +Cc: kdevops, Daniel Gomez, Daniel Gomez
From: Daniel Gomez <da.gomez@samsung.com>
The NIXOS bringup template hardcoded a <video model='qxl'/> stanza,
which libvirt refuses when the host QEMU build lacks the spice/qxl
package. That package is optional on Debian server-class installs
of qemu-system-x86, so virsh define silently failed on otherwise
healthy hosts. The playbook's failed_when: false masked the error
until a later task tried to start the absent domain, producing an
opaque "Ensure VM is running" failure.
Remove the explicit <video> stanza entirely. Libvirt picks a
compatible video model automatically based on the machine type,
matching how the GUESTFS bringup operates. VNC graphics access is
unchanged.
Fixes: 3089c3fec57 ("nixos: add NixOS support as third bringup option with libvirt integration")
Generated-by: Claude AI
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
playbooks/templates/nixos/vm-libvirt.xml.j2 | 5 -----
1 file changed, 5 deletions(-)
diff --git a/playbooks/templates/nixos/vm-libvirt.xml.j2 b/playbooks/templates/nixos/vm-libvirt.xml.j2
index 915a6090..2ace5784 100644
--- a/playbooks/templates/nixos/vm-libvirt.xml.j2
+++ b/playbooks/templates/nixos/vm-libvirt.xml.j2
@@ -79,11 +79,6 @@
<listen type='address' address='127.0.0.1'/>
</graphics>
- <video>
- <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
- </video>
-
<memballoon model='virtio'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</memballoon>
--
2.53.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 4/8] nixos: destroy the libvirt domain before cleaning up local artefacts
2026-04-22 22:16 [PATCH 0/8] kdevops: small NIXOS and gen_hosts fixes Daniel Gomez
` (2 preceding siblings ...)
2026-04-22 22:16 ` [PATCH 3/8] nixos: drop hardcoded qxl video model from libvirt XML Daniel Gomez
@ 2026-04-22 22:16 ` Daniel Gomez
2026-04-22 22:16 ` [PATCH 5/8] gen_hosts: scope the python interpreter per inventory group Daniel Gomez
` (4 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Daniel Gomez @ 2026-04-22 22:16 UTC (permalink / raw)
To: Luis Chamberlain, Chuck Lever; +Cc: kdevops, Daniel Gomez, Daniel Gomez
From: Daniel Gomez <da.gomez@samsung.com>
The destroy play tore down the local disk image, wrapper script
and symlink but never told libvirt about it, so domains brought
up through the libvirt bringup path stayed defined and running
after make destroy reported success. Add virsh destroy and virsh
undefine under the same LIBVIRT_DEFAULT_URI the bringup play
uses, both failed_when: false so a partial state across the
guest inventory does not abort the rest of the teardown.
Fixes: 3089c3fec57 ("nixos: add NixOS support as third bringup option with libvirt integration")
Generated-by: Claude AI
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
playbooks/nixos.yml | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/playbooks/nixos.yml b/playbooks/nixos.yml
index 26285520..d6aa2283 100644
--- a/playbooks/nixos.yml
+++ b/playbooks/nixos.yml
@@ -471,6 +471,20 @@
- "{{ playbook_dir }}/../extra_vars.yaml"
tags: [destroy, never]
tasks:
+ - name: Shut down VMs via libvirt
+ ansible.builtin.command: virsh destroy "{{ item }}"
+ loop: "{{ groups['all'] | reject('equalto', 'localhost') | list }}"
+ failed_when: false
+ environment:
+ LIBVIRT_DEFAULT_URI: "{{ libvirt_uri }}"
+
+ - name: Remove VM definitions from libvirt
+ ansible.builtin.command: virsh undefine "{{ item }}"
+ loop: "{{ groups['all'] | reject('equalto', 'localhost') | list }}"
+ failed_when: false
+ environment:
+ LIBVIRT_DEFAULT_URI: "{{ libvirt_uri }}"
+
- name: Stop VMs using wrapper scripts
ansible.builtin.command: "{{ nixos_storage_dir }}/run-{{ item }}-wrapper.sh stop"
loop: "{{ groups['all'] | reject('equalto', 'localhost') | list }}"
--
2.53.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 5/8] gen_hosts: scope the python interpreter per inventory group
2026-04-22 22:16 [PATCH 0/8] kdevops: small NIXOS and gen_hosts fixes Daniel Gomez
` (3 preceding siblings ...)
2026-04-22 22:16 ` [PATCH 4/8] nixos: destroy the libvirt domain before cleaning up local artefacts Daniel Gomez
@ 2026-04-22 22:16 ` Daniel Gomez
2026-04-22 22:16 ` [PATCH 6/8] gen_hosts: make the linux workflow node name follow bootlinux_builder Daniel Gomez
` (3 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Daniel Gomez @ 2026-04-22 22:16 UTC (permalink / raw)
To: Luis Chamberlain, Chuck Lever; +Cc: kdevops, Daniel Gomez, Daniel Gomez
From: Daniel Gomez <da.gomez@samsung.com>
Every inventory group's :vars scope emitted a single
kdevops_python_interpreter defaulting to /usr/bin/python3, so
selecting the NIXOS backend left every guest trying to run
Ansible modules through a path that does not exist on NixOS
(/run/current-system/sw/bin/python3 is the correct one).
Overriding the variable globally would break the control node,
which on most kdevops hosts is a Debian box with no NixOS paths.
Split the interpreter into per-group Kconfig strings with
output yaml: baseline, dev and service each default to the NixOS
path under NIXOS and fall back to kdevops_python_interpreter
otherwise. Localhost stays under [all] and keeps the control-node
interpreter; guests pick the backend-appropriate one by inventory
group.
Fixes: 3089c3fec57 ("nixos: add NixOS support as third bringup option with libvirt integration")
Generated-by: Claude AI
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
kconfigs/Kconfig.ansible_provisioning | 33 ++++++++++++++++
playbooks/roles/gen_hosts/templates/blktests.j2 | 6 +--
playbooks/roles/gen_hosts/templates/cxl.j2 | 6 +--
playbooks/roles/gen_hosts/templates/fio-tests.j2 | 8 ++--
playbooks/roles/gen_hosts/templates/fstests.j2 | 16 ++++----
playbooks/roles/gen_hosts/templates/gitr.j2 | 10 ++---
playbooks/roles/gen_hosts/templates/ltp.j2 | 6 +--
playbooks/roles/gen_hosts/templates/mmtests.j2 | 8 ++--
playbooks/roles/gen_hosts/templates/nfstest.j2 | 10 ++---
playbooks/roles/gen_hosts/templates/pynfs.j2 | 10 ++---
playbooks/roles/gen_hosts/templates/selftests.j2 | 6 +--
playbooks/roles/gen_hosts/templates/sysbench.j2 | 6 +--
.../roles/gen_hosts/templates/workflows/ai.j2 | 14 +++----
.../gen_hosts/templates/workflows/blktests.j2 | 10 ++---
.../gen_hosts/templates/workflows/build-linux.j2 | 30 +++++++--------
.../templates/workflows/declared-hosts.j2 | 44 +++++++++++-----------
.../gen_hosts/templates/workflows/fio-tests.j2 | 16 ++++----
.../roles/gen_hosts/templates/workflows/fstests.j2 | 12 +++---
.../roles/gen_hosts/templates/workflows/generic.j2 | 2 +-
.../roles/gen_hosts/templates/workflows/gitr.j2 | 12 +++---
.../roles/gen_hosts/templates/workflows/linux.j2 | 6 +--
.../roles/gen_hosts/templates/workflows/ltp.j2 | 8 ++--
.../roles/gen_hosts/templates/workflows/minio.j2 | 26 ++++++-------
.../roles/gen_hosts/templates/workflows/mix.j2 | 10 ++---
.../roles/gen_hosts/templates/workflows/mmtests.j2 | 8 ++--
.../roles/gen_hosts/templates/workflows/nfstest.j2 | 12 +++---
.../roles/gen_hosts/templates/workflows/pynfs.j2 | 10 ++---
.../gen_hosts/templates/workflows/reboot-limit.j2 | 6 +--
.../gen_hosts/templates/workflows/selftests.j2 | 8 ++--
.../gen_hosts/templates/workflows/sysbench.j2 | 8 ++--
.../roles/gen_hosts/templates/workflows/vllm.j2 | 14 +++----
31 files changed, 207 insertions(+), 174 deletions(-)
diff --git a/kconfigs/Kconfig.ansible_provisioning b/kconfigs/Kconfig.ansible_provisioning
index 7f20d092..7b1d4f79 100644
--- a/kconfigs/Kconfig.ansible_provisioning
+++ b/kconfigs/Kconfig.ansible_provisioning
@@ -127,6 +127,39 @@ config KDEVOPS_PYTHON_OLD_INTERPRETER
KDEVOPSPYTHONOLDINTERPRETER value on your hosts.in file on old
systems so that this gets properly placed.
+config KDEVOPS_BASELINE_PYTHON_INTERPRETER
+ string "Python interpreter for the [baseline] host group"
+ output yaml
+ default "/run/current-system/sw/bin/python3" if NIXOS
+ default KDEVOPS_PYTHON_INTERPRETER
+ help
+ Python interpreter emitted under [baseline:vars] in the generated
+ Ansible inventory. When NIXOS is the bringup method, guests run
+ NixOS and their system python lives at
+ /run/current-system/sw/bin/python3; otherwise this follows
+ KDEVOPS_PYTHON_INTERPRETER so the group tracks whatever the host
+ default is for other backends.
+
+config KDEVOPS_DEV_PYTHON_INTERPRETER
+ string "Python interpreter for the [dev] host group"
+ output yaml
+ default "/run/current-system/sw/bin/python3" if NIXOS
+ default KDEVOPS_PYTHON_INTERPRETER
+ help
+ Python interpreter emitted under [dev:vars] in the generated
+ Ansible inventory. See KDEVOPS_BASELINE_PYTHON_INTERPRETER for
+ the same rationale applied to the [dev] group.
+
+config KDEVOPS_SERVICE_PYTHON_INTERPRETER
+ string "Python interpreter for the [service] host group"
+ output yaml
+ default "/run/current-system/sw/bin/python3" if NIXOS
+ default KDEVOPS_PYTHON_INTERPRETER
+ help
+ Python interpreter emitted under [service:vars] in the generated
+ Ansible inventory. See KDEVOPS_BASELINE_PYTHON_INTERPRETER for
+ the same rationale applied to the [service] group.
+
config DEVCONFIG_ENABLE_SYSTEMD_JOURNAL_REMOTE
bool "Set up remote systemd-journal-remote"
default n
diff --git a/playbooks/roles/gen_hosts/templates/blktests.j2 b/playbooks/roles/gen_hosts/templates/blktests.j2
index 6aa434c3..271fe493 100644
--- a/playbooks/roles/gen_hosts/templates/blktests.j2
+++ b/playbooks/roles/gen_hosts/templates/blktests.j2
@@ -13,7 +13,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{{ kdevops_host_prefix }}-{{ test_type }}
{% endfor %}
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
[dev]
{% if kdevops_baseline_and_dev %}
{% for test_type in blktests_enabled_test_types %}
@@ -21,7 +21,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
{% endif %}
[dev:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_dev_python_interpreter }}"
[service]
[service:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
diff --git a/playbooks/roles/gen_hosts/templates/cxl.j2 b/playbooks/roles/gen_hosts/templates/cxl.j2
index cab7da24..cabec01b 100644
--- a/playbooks/roles/gen_hosts/templates/cxl.j2
+++ b/playbooks/roles/gen_hosts/templates/cxl.j2
@@ -9,13 +9,13 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
[baseline]
{{ kdevops_hosts_prefix }}
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
[dev]
{% if kdevops_baseline_and_dev %}
{{ kdevops_hosts_prefix }}-dev
{% endif %}
[dev:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_dev_python_interpreter }}"
[service]
[service:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
diff --git a/playbooks/roles/gen_hosts/templates/fio-tests.j2 b/playbooks/roles/gen_hosts/templates/fio-tests.j2
index 75bc0c53..2eab8b3b 100644
--- a/playbooks/roles/gen_hosts/templates/fio-tests.j2
+++ b/playbooks/roles/gen_hosts/templates/fio-tests.j2
@@ -9,20 +9,20 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
[baseline]
{{ kdevops_host_prefix }}-fio-tests
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
[dev]
{% if kdevops_baseline_and_dev %}
{{ kdevops_host_prefix }}-fio-tests-dev
{% endif %}
[dev:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_dev_python_interpreter }}"
[fio_tests]
{{ kdevops_host_prefix }}-fio-tests
{% if kdevops_baseline_and_dev %}
{{ kdevops_host_prefix }}-fio-tests-dev
{% endif %}
[fio_tests:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
[service]
[service:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
diff --git a/playbooks/roles/gen_hosts/templates/fstests.j2 b/playbooks/roles/gen_hosts/templates/fstests.j2
index 823dbb1e..126c9a89 100644
--- a/playbooks/roles/gen_hosts/templates/fstests.j2
+++ b/playbooks/roles/gen_hosts/templates/fstests.j2
@@ -35,7 +35,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
{% endif %}
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
[dev]
{% if kdevops_baseline_and_dev %}
{% for s in fstests_enabled_test_types %}
@@ -52,30 +52,30 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
{% endif %}
[dev:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_dev_python_interpreter }}"
{% if kdevops_enable_iscsi %}
[iscsi]
{{ kdevops_hosts_prefix }}-iscsi
[iscsi:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
{% endif %}
{% if kdevops_nfsd_enable %}
[nfsd]
{{ kdevops_hosts_prefix }}-nfsd
[nfsd:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
{% endif %}
{% if kdevops_smbd_enable %}
[smbd]
{{ kdevops_hosts_prefix }}-smbd
[smbd:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
{% endif %}
{% if kdevops_krb5_enable %}
[kdc]
{{ kdevops_hosts_prefix }}-kdc
[kdc:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
[krb5]
{% for s in fstests_enabled_test_types %}
{% if kdevops_enable_nixos|default(false) %}
@@ -88,7 +88,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{{ kdevops_hosts_prefix }}-nfsd
{% endif %}
[krb5:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
{% endif %}
{% if kdevops_enable_iscsi or kdevops_nfsd_enable or kdevops_smbd_enable or kdevops_krb5_enable %}
[service]
@@ -105,5 +105,5 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{{ kdevops_hosts_prefix }}-kdc
{% endif %}
[service:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
{% endif %}
diff --git a/playbooks/roles/gen_hosts/templates/gitr.j2 b/playbooks/roles/gen_hosts/templates/gitr.j2
index 3f30a5fb..11da5e46 100644
--- a/playbooks/roles/gen_hosts/templates/gitr.j2
+++ b/playbooks/roles/gen_hosts/templates/gitr.j2
@@ -14,7 +14,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{{ kdevops_host_prefix }}-{{ s }}
{% endfor %}
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
[dev]
{% if kdevops_baseline_and_dev %}
@@ -23,20 +23,20 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
{% endif %}
[dev:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_dev_python_interpreter }}"
{% if kdevops_enable_iscsi %}
[iscsi]
{{ kdevops_hosts_prefix }}-iscsi
[iscsi:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
{% endif %}
{% if kdevops_nfsd_enable %}
[nfsd]
{{ kdevops_hosts_prefix }}-nfsd
[nfsd:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
{% endif %}
{% if kdevops_enable_iscsi or kdevops_nfsd_enable %}
[service]
@@ -47,5 +47,5 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{{ kdevops_hosts_prefix }}-nfsd
{% endif %}
[service:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
{% endif %}
diff --git a/playbooks/roles/gen_hosts/templates/ltp.j2 b/playbooks/roles/gen_hosts/templates/ltp.j2
index 6946b3f3..c9eae43c 100644
--- a/playbooks/roles/gen_hosts/templates/ltp.j2
+++ b/playbooks/roles/gen_hosts/templates/ltp.j2
@@ -14,7 +14,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{{ kdevops_host_prefix }}-{{ s }}
{% endfor %}
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
[dev]
{% if kdevops_baseline_and_dev %}
@@ -23,8 +23,8 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
{% endif %}
[dev:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_dev_python_interpreter }}"
[service]
[service:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
diff --git a/playbooks/roles/gen_hosts/templates/mmtests.j2 b/playbooks/roles/gen_hosts/templates/mmtests.j2
index 8df4a3c3..b4aad380 100644
--- a/playbooks/roles/gen_hosts/templates/mmtests.j2
+++ b/playbooks/roles/gen_hosts/templates/mmtests.j2
@@ -13,7 +13,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{{ kdevops_host_prefix }}-{{ test_type }}
{% endfor %}
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
[dev]
{% if kdevops_baseline_and_dev %}
{% for test_type in mmtests_enabled_test_types %}
@@ -21,7 +21,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
{% endif %}
[dev:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_dev_python_interpreter }}"
[mmtests]
{% for test_type in mmtests_enabled_test_types %}
{{ kdevops_host_prefix }}-{{ test_type }}
@@ -30,7 +30,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
{% endfor %}
[mmtests:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
[service]
[service:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
diff --git a/playbooks/roles/gen_hosts/templates/nfstest.j2 b/playbooks/roles/gen_hosts/templates/nfstest.j2
index 709d871d..f3eba406 100644
--- a/playbooks/roles/gen_hosts/templates/nfstest.j2
+++ b/playbooks/roles/gen_hosts/templates/nfstest.j2
@@ -14,7 +14,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{{ kdevops_host_prefix }}-{{ s }}
{% endfor %}
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
[dev]
{% if kdevops_baseline_and_dev %}
@@ -23,20 +23,20 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
{% endif %}
[dev:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_dev_python_interpreter }}"
{% if kdevops_enable_iscsi %}
[iscsi]
{{ kdevops_hosts_prefix }}-iscsi
[iscsi:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
{% endif %}
{% if kdevops_nfsd_enable %}
[nfsd]
{{ kdevops_hosts_prefix }}-nfsd
[nfsd:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
{% endif %}
{% if kdevops_enable_iscsi or kdevops_nfsd_enable %}
[service]
@@ -47,5 +47,5 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{{ kdevops_hosts_prefix }}-nfsd
{% endif %}
[service:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
{% endif %}
diff --git a/playbooks/roles/gen_hosts/templates/pynfs.j2 b/playbooks/roles/gen_hosts/templates/pynfs.j2
index 55add4d1..8a3f5631 100644
--- a/playbooks/roles/gen_hosts/templates/pynfs.j2
+++ b/playbooks/roles/gen_hosts/templates/pynfs.j2
@@ -6,23 +6,23 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
[baseline]
{{ kdevops_hosts_prefix }}-nfsd
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
[dev]
{% if kdevops_baseline_and_dev %}
{{ kdevops_host_prefix }}-nfsd-dev
{% endif %}
[dev:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_dev_python_interpreter }}"
{% if kdevops_enable_iscsi %}
[iscsi]
{{ kdevops_hosts_prefix }}-iscsi
[iscsi:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
{% endif %}
[nfsd]
{{ kdevops_hosts_prefix }}-nfsd
[nfsd:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
{% if true %}
[service]
{% if kdevops_enable_iscsi %}
@@ -30,5 +30,5 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
{{ kdevops_hosts_prefix }}-nfsd
[service:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
{% endif %}
diff --git a/playbooks/roles/gen_hosts/templates/selftests.j2 b/playbooks/roles/gen_hosts/templates/selftests.j2
index af0d6b34..2a0f199d 100644
--- a/playbooks/roles/gen_hosts/templates/selftests.j2
+++ b/playbooks/roles/gen_hosts/templates/selftests.j2
@@ -13,7 +13,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{{ kdevops_host_prefix }}-{{ test_type }}
{% endfor %}
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
[dev]
{% if kdevops_baseline_and_dev %}
{% for test_type in selftests_enabled_test_types %}
@@ -21,7 +21,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
{% endif %}
[dev:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_dev_python_interpreter }}"
[service]
[service:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
diff --git a/playbooks/roles/gen_hosts/templates/sysbench.j2 b/playbooks/roles/gen_hosts/templates/sysbench.j2
index e30773c1..1d25c6c6 100644
--- a/playbooks/roles/gen_hosts/templates/sysbench.j2
+++ b/playbooks/roles/gen_hosts/templates/sysbench.j2
@@ -13,7 +13,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{{ kdevops_host_prefix }}-{{ test_type }}
{% endfor %}
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
[dev]
{% if kdevops_baseline_and_dev %}
{% for test_type in enabled_sysbench_tests %}
@@ -21,7 +21,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
{% endif %}
[dev:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_dev_python_interpreter }}"
[service]
[service:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
diff --git a/playbooks/roles/gen_hosts/templates/workflows/ai.j2 b/playbooks/roles/gen_hosts/templates/workflows/ai.j2
index d0914436..878f67c4 100644
--- a/playbooks/roles/gen_hosts/templates/workflows/ai.j2
+++ b/playbooks/roles/gen_hosts/templates/workflows/ai.j2
@@ -18,7 +18,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% if kdevops_baseline_and_dev %}
[dev]
@@ -29,7 +29,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[dev:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_dev_python_interpreter }}"
{% endif %}
[ai]
@@ -38,7 +38,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[ai:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{# Individual section groups for multi-filesystem testing #}
{% set section_names = [] %}
@@ -59,7 +59,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
[ai_{{ section | replace('-', '_') }}:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% endfor %}
{% else %}
@@ -78,14 +78,14 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{{ kdevops_host_prefix }}-ai
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% if kdevops_baseline_and_dev %}
[dev]
{{ kdevops_host_prefix }}-ai-dev
[dev:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_dev_python_interpreter }}"
{% endif %}
[ai]
@@ -95,5 +95,5 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
[ai:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% endif %}
diff --git a/playbooks/roles/gen_hosts/templates/workflows/blktests.j2 b/playbooks/roles/gen_hosts/templates/workflows/blktests.j2
index eea3eef3..7223628f 100644
--- a/playbooks/roles/gen_hosts/templates/workflows/blktests.j2
+++ b/playbooks/roles/gen_hosts/templates/workflows/blktests.j2
@@ -17,7 +17,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% if kdevops_baseline_and_dev %}
[dev]
@@ -26,7 +26,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[dev:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_dev_python_interpreter }}"
{% endif %}
[blktests]
@@ -38,7 +38,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[blktests:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% for test_type in blktests_enabled_test_types %}
[blktests_{{ test_type | replace('-', '_') }}]
@@ -48,11 +48,11 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
[blktests_{{ test_type | replace('-', '_') }}:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% endfor %}
[service]
[service:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
diff --git a/playbooks/roles/gen_hosts/templates/workflows/build-linux.j2 b/playbooks/roles/gen_hosts/templates/workflows/build-linux.j2
index 6ada0c0a..58c0b4bf 100644
--- a/playbooks/roles/gen_hosts/templates/workflows/build-linux.j2
+++ b/playbooks/roles/gen_hosts/templates/workflows/build-linux.j2
@@ -18,7 +18,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% if kdevops_baseline_and_dev %}
[dev]
@@ -29,7 +29,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[dev:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_dev_python_interpreter }}"
{% endif %}
[build-linux]
@@ -38,7 +38,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[build-linux:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{# Create filesystem-specific groups #}
{% if build_linux_multifs_xfs_4k_4ks|default(false)|bool %}
@@ -49,7 +49,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
[build-linux-xfs-4k-4ks:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% endif %}
{% if build_linux_multifs_xfs_8k_4ks|default(false)|bool %}
@@ -60,7 +60,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
[build-linux-xfs-8k-4ks:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% endif %}
{% if build_linux_multifs_xfs_16k_4ks|default(false)|bool %}
@@ -71,7 +71,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
[build-linux-xfs-16k-4ks:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% endif %}
{% if build_linux_multifs_xfs_32k_4ks|default(false)|bool %}
@@ -82,7 +82,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
[build-linux-xfs-32k-4ks:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% endif %}
{% if build_linux_multifs_xfs_64k_4ks|default(false)|bool %}
@@ -93,7 +93,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
[build-linux-xfs-64k-4ks:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% endif %}
{% if build_linux_multifs_ext4_4k|default(false)|bool %}
@@ -104,7 +104,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
[build-linux-ext4-4k:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% endif %}
{% if build_linux_multifs_ext4_16k_bigalloc|default(false)|bool %}
@@ -115,7 +115,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
[build-linux-ext4-16k-bigalloc:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
build_linux_ext4_mkfs_opts = "-F -O bigalloc -C 16384"
{% endif %}
@@ -127,7 +127,7 @@ build_linux_ext4_mkfs_opts = "-F -O bigalloc -C 16384"
{% endif %}
[build-linux-btrfs:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% endif %}
{% if build_linux_multifs_tmpfs_default|default(false)|bool %}
@@ -138,7 +138,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
[build-linux-tmpfs:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% endif %}
{% else %}
@@ -157,14 +157,14 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{{ kdevops_host_prefix }}-build-linux
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% if kdevops_baseline_and_dev %}
[dev]
{{ kdevops_host_prefix }}-build-linux-dev
[dev:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_dev_python_interpreter }}"
{% endif %}
[build-linux]
@@ -174,5 +174,5 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
[build-linux:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% endif %}
diff --git a/playbooks/roles/gen_hosts/templates/workflows/declared-hosts.j2 b/playbooks/roles/gen_hosts/templates/workflows/declared-hosts.j2
index 7d7975c7..f538d17c 100644
--- a/playbooks/roles/gen_hosts/templates/workflows/declared-hosts.j2
+++ b/playbooks/roles/gen_hosts/templates/workflows/declared-hosts.j2
@@ -35,7 +35,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
[dev]
{# Even-numbered hosts become dev nodes #}
@@ -46,7 +46,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[dev:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_dev_python_interpreter }}"
{% else %}
{# Without A/B testing, all hosts are baseline #}
@@ -56,7 +56,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% endif %}
{# Add workflow-specific groups based on enabled workflow #}
@@ -67,7 +67,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[reboot-limit:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% elif kdevops_workflow_enable_fio_tests %}
[fio_tests]
@@ -76,7 +76,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[fio_tests:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% elif kdevops_workflow_enable_fstests %}
[fstests]
@@ -85,7 +85,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[fstests:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{# Add per-section groups if needed #}
{% for section in fstests_enabled_test_types|default([]) %}
@@ -95,7 +95,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[fstests_{{ section | replace('-', '_') }}:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% endfor %}
{% elif kdevops_workflow_enable_blktests %}
@@ -105,7 +105,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[blktests:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% elif kdevops_workflow_enable_selftests %}
[selftests]
@@ -114,7 +114,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[selftests:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% elif kdevops_workflow_enable_mmtests %}
[mmtests]
@@ -123,7 +123,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[mmtests:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% elif kdevops_workflow_enable_sysbench %}
[sysbench]
@@ -132,7 +132,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[sysbench:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% elif kdevops_workflow_enable_ai|default(false)|bool %}
[ai]
@@ -141,7 +141,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[ai:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% elif kdevops_workflow_enable_minio|default(false)|bool %}
[minio]
@@ -150,7 +150,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[minio:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% elif kdevops_workflow_enable_cxl %}
[cxl]
@@ -159,7 +159,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[cxl:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% elif kdevops_workflow_enable_pynfs %}
[pynfs]
@@ -168,7 +168,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[pynfs:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% elif kdevops_workflow_enable_gitr %}
[gitr]
@@ -177,7 +177,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[gitr:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% elif kdevops_workflow_enable_ltp %}
[ltp]
@@ -186,7 +186,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[ltp:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% elif kdevops_workflow_enable_nfstest %}
[nfstest]
@@ -195,7 +195,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[nfstest:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% endif %}
{% else %}
@@ -206,7 +206,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{# For non-dedicated workflows (mix mode), add fstests group if enabled #}
{% if kdevops_workflow_enable_fstests %}
@@ -216,7 +216,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[fstests:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{# Add per-section groups if needed #}
{% for section in fstests_enabled_test_types|default([]) %}
@@ -226,7 +226,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[fstests_{{ section | replace('-', '_') }}:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% endfor %}
{% endif %}
@@ -236,4 +236,4 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{# Service nodes are typically not needed for declared hosts #}
[service:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
diff --git a/playbooks/roles/gen_hosts/templates/workflows/fio-tests.j2 b/playbooks/roles/gen_hosts/templates/workflows/fio-tests.j2
index 0f3550f5..b2c46b5d 100644
--- a/playbooks/roles/gen_hosts/templates/workflows/fio-tests.j2
+++ b/playbooks/roles/gen_hosts/templates/workflows/fio-tests.j2
@@ -18,7 +18,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% if kdevops_baseline_and_dev %}
[dev]
@@ -29,7 +29,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[dev:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_dev_python_interpreter }}"
{% endif %}
[fio_tests]
@@ -38,7 +38,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[fio_tests:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{# Individual section groups for multi-filesystem testing #}
{% set section_names = [] %}
@@ -59,7 +59,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
[fio_tests_{{ section | replace('-', '_') }}:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% endfor %}
{% else %}
@@ -78,14 +78,14 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{{ kdevops_host_prefix }}-fio-tests
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% if kdevops_baseline_and_dev %}
[dev]
{{ kdevops_host_prefix }}-fio-tests-dev
[dev:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_dev_python_interpreter }}"
{% endif %}
[fio_tests]
@@ -95,10 +95,10 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
[fio_tests:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
[service]
[service:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
{% endif %}
diff --git a/playbooks/roles/gen_hosts/templates/workflows/fstests.j2 b/playbooks/roles/gen_hosts/templates/workflows/fstests.j2
index 7799fec3..2c8f18d6 100644
--- a/playbooks/roles/gen_hosts/templates/workflows/fstests.j2
+++ b/playbooks/roles/gen_hosts/templates/workflows/fstests.j2
@@ -17,7 +17,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
[dev]
{% if kdevops_baseline_and_dev %}
@@ -27,7 +27,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
[dev:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_dev_python_interpreter }}"
[fstests]
{% for node_section in fstests_enabled_test_types %}
@@ -38,7 +38,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[fstests:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% for section in fstests_enabled_test_types %}
[fstests_{{ section | replace('-', '_') }}]
@@ -48,7 +48,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
[fstests_{{ section | replace('-', '_') }}:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% endfor %}
@@ -58,7 +58,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
[nfsd:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
[service]
{% if kdevops_enable_iscsi %}
@@ -69,4 +69,4 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
[service:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
diff --git a/playbooks/roles/gen_hosts/templates/workflows/generic.j2 b/playbooks/roles/gen_hosts/templates/workflows/generic.j2
index 20b2f389..944f019a 100644
--- a/playbooks/roles/gen_hosts/templates/workflows/generic.j2
+++ b/playbooks/roles/gen_hosts/templates/workflows/generic.j2
@@ -20,4 +20,4 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[{{ kdevops_host_prefix | regex_replace('-$', '') }}:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
diff --git a/playbooks/roles/gen_hosts/templates/workflows/gitr.j2 b/playbooks/roles/gen_hosts/templates/workflows/gitr.j2
index bed86ce5..2ed0ac4d 100644
--- a/playbooks/roles/gen_hosts/templates/workflows/gitr.j2
+++ b/playbooks/roles/gen_hosts/templates/workflows/gitr.j2
@@ -17,7 +17,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
[dev]
{% if kdevops_baseline_and_dev %}
@@ -27,7 +27,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
[dev:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_dev_python_interpreter }}"
[gitr]
{% for host in gitr_enabled_hosts %}
@@ -38,14 +38,14 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[gitr:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
[iscsi]
{% if kdevops_enable_iscsi %}
{{ kdevops_hosts_prefix }}-iscsi
{% endif %}
[iscsi:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
[nfsd]
@@ -53,7 +53,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{{ kdevops_hosts_prefix }}-nfsd
{% endif %}
[nfsd:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
[service]
{% if kdevops_enable_iscsi %}
@@ -63,4 +63,4 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{{ kdevops_hosts_prefix }}-nfsd
{% endif %}
[service:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
diff --git a/playbooks/roles/gen_hosts/templates/workflows/linux.j2 b/playbooks/roles/gen_hosts/templates/workflows/linux.j2
index 63032ada..47c20ab8 100644
--- a/playbooks/roles/gen_hosts/templates/workflows/linux.j2
+++ b/playbooks/roles/gen_hosts/templates/workflows/linux.j2
@@ -8,12 +8,12 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
[baseline]
{{ kdevops_host_prefix }}-builder
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
[dev]
[dev:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_dev_python_interpreter }}"
[service]
[service:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
diff --git a/playbooks/roles/gen_hosts/templates/workflows/ltp.j2 b/playbooks/roles/gen_hosts/templates/workflows/ltp.j2
index 28c8ed17..4febfdb5 100644
--- a/playbooks/roles/gen_hosts/templates/workflows/ltp.j2
+++ b/playbooks/roles/gen_hosts/templates/workflows/ltp.j2
@@ -17,7 +17,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
[dev]
{% if kdevops_baseline_and_dev %}
@@ -27,7 +27,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
[dev:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_dev_python_interpreter }}"
[ltp]
{% for host in ltp_enabled_hosts %}
@@ -38,8 +38,8 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[ltp:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
[service]
[service:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
diff --git a/playbooks/roles/gen_hosts/templates/workflows/minio.j2 b/playbooks/roles/gen_hosts/templates/workflows/minio.j2
index 42ba326b..aeb85357 100644
--- a/playbooks/roles/gen_hosts/templates/workflows/minio.j2
+++ b/playbooks/roles/gen_hosts/templates/workflows/minio.j2
@@ -18,7 +18,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% if kdevops_baseline_and_dev %}
[dev]
@@ -29,7 +29,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[dev:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_dev_python_interpreter }}"
{% endif %}
[minio]
@@ -38,7 +38,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[minio:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{# Create filesystem-specific groups #}
{% if minio_multifs_xfs_4k_4ks|default(false)|bool %}
@@ -49,7 +49,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
[minio-xfs-4k:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
minio_fstype = "xfs"
minio_xfs_blocksize = 4096
minio_xfs_sectorsize = 4096
@@ -63,7 +63,7 @@ minio_xfs_sectorsize = 4096
{% endif %}
[minio-xfs-16k:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
minio_fstype = "xfs"
minio_xfs_blocksize = 16384
minio_xfs_sectorsize = 4096
@@ -77,7 +77,7 @@ minio_xfs_sectorsize = 4096
{% endif %}
[minio-xfs-32k:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
minio_fstype = "xfs"
minio_xfs_blocksize = 32768
minio_xfs_sectorsize = 4096
@@ -91,7 +91,7 @@ minio_xfs_sectorsize = 4096
{% endif %}
[minio-xfs-64k:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
minio_fstype = "xfs"
minio_xfs_blocksize = 65536
minio_xfs_sectorsize = 4096
@@ -105,7 +105,7 @@ minio_xfs_sectorsize = 4096
{% endif %}
[minio-ext4-4k:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
minio_fstype = "ext4"
minio_ext4_mkfs_opts = "-F"
{% endif %}
@@ -118,7 +118,7 @@ minio_ext4_mkfs_opts = "-F"
{% endif %}
[minio-ext4-16k-bigalloc:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
minio_fstype = "ext4"
minio_ext4_mkfs_opts = "-F -O bigalloc -C 16384"
{% endif %}
@@ -131,7 +131,7 @@ minio_ext4_mkfs_opts = "-F -O bigalloc -C 16384"
{% endif %}
[minio-btrfs:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
minio_fstype = "btrfs"
minio_btrfs_mkfs_opts = "-f"
{% endif %}
@@ -152,14 +152,14 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{{ kdevops_host_prefix }}-minio
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% if kdevops_baseline_and_dev %}
[dev]
{{ kdevops_host_prefix }}-minio-dev
[dev:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_dev_python_interpreter }}"
{% endif %}
[minio]
@@ -169,5 +169,5 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
[minio:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% endif %}
diff --git a/playbooks/roles/gen_hosts/templates/workflows/mix.j2 b/playbooks/roles/gen_hosts/templates/workflows/mix.j2
index 86619309..a825df5d 100644
--- a/playbooks/roles/gen_hosts/templates/workflows/mix.j2
+++ b/playbooks/roles/gen_hosts/templates/workflows/mix.j2
@@ -28,7 +28,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{{ kdevops_host_prefix }}
{% endif %}
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
[dev]
{% if kdevops_baseline_and_dev %}
{% if kdevops_enable_nixos|default(false) %}
@@ -38,18 +38,18 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
{% endif %}
[dev:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_dev_python_interpreter }}"
{% if kdevops_enable_iscsi %}
[iscsi]
{{ kdevops_host_prefix }}-iscsi
[iscsi:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
{% endif %}
{% if kdevops_nfsd_enable %}
[nfsd]
{{ kdevops_host_prefix }}-nfsd
[nfsd:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
{% endif %}
[service]
{% if kdevops_enable_iscsi %}
@@ -59,4 +59,4 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{{ kdevops_host_prefix }}-nfsd
{% endif %}
[service:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
diff --git a/playbooks/roles/gen_hosts/templates/workflows/mmtests.j2 b/playbooks/roles/gen_hosts/templates/workflows/mmtests.j2
index d796cbe6..914da63c 100644
--- a/playbooks/roles/gen_hosts/templates/workflows/mmtests.j2
+++ b/playbooks/roles/gen_hosts/templates/workflows/mmtests.j2
@@ -28,7 +28,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% if kdevops_baseline_and_dev %}
[dev]
@@ -41,7 +41,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
[dev:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_dev_python_interpreter }}"
{% endif %}
[mmtests]
@@ -60,7 +60,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
[mmtests:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% if mmtests_enabled_test_types %}
{% for test_type in mmtests_enabled_test_types %}
@@ -71,7 +71,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
[mmtests_{{ test_type | replace('-', '_') }}:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% endfor %}
{% endif %}
diff --git a/playbooks/roles/gen_hosts/templates/workflows/nfstest.j2 b/playbooks/roles/gen_hosts/templates/workflows/nfstest.j2
index 1633c2ca..8763fb8c 100644
--- a/playbooks/roles/gen_hosts/templates/workflows/nfstest.j2
+++ b/playbooks/roles/gen_hosts/templates/workflows/nfstest.j2
@@ -17,7 +17,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
[dev]
{% if kdevops_baseline_and_dev %}
@@ -27,7 +27,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
[dev:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_dev_python_interpreter }}"
[nfstest]
{% for host in nfstest_enabled_hosts %}
@@ -38,21 +38,21 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[nfstest:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
[iscsi]
{% if kdevops_enable_iscsi %}
{{ kdevops_hosts_prefix }}-iscsi
{% endif %}
[iscsi:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
[nfsd]
{% if kdevops_nfsd_enable %}
{{ kdevops_hosts_prefix }}-nfsd
{% endif %}
[nfsd:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
[service]
{% if kdevops_enable_iscsi %}
@@ -62,4 +62,4 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{{ kdevops_hosts_prefix }}-nfsd
{% endif %}
[service:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
diff --git a/playbooks/roles/gen_hosts/templates/workflows/pynfs.j2 b/playbooks/roles/gen_hosts/templates/workflows/pynfs.j2
index 37167885..4c2806e7 100644
--- a/playbooks/roles/gen_hosts/templates/workflows/pynfs.j2
+++ b/playbooks/roles/gen_hosts/templates/workflows/pynfs.j2
@@ -7,26 +7,26 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
[baseline]
{{ kdevops_hosts_prefix }}-nfsd
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
[dev]
{% if kdevops_baseline_and_dev %}
{{ kdevops_host_prefix }}-nfsd-dev
{% endif %}
[dev:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_dev_python_interpreter }}"
[iscsi]
{% if kdevops_enable_iscsi %}
{{ kdevops_hosts_prefix }}-iscsi
{% endif %}
[iscsi:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
[nfsd]
{{ kdevops_hosts_prefix }}-nfsd
[nfsd:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
[service]
{% if kdevops_enable_iscsi %}
@@ -34,4 +34,4 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
{{ kdevops_hosts_prefix }}-nfsd
[service:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
diff --git a/playbooks/roles/gen_hosts/templates/workflows/reboot-limit.j2 b/playbooks/roles/gen_hosts/templates/workflows/reboot-limit.j2
index 07bd6f80..ff57d467 100644
--- a/playbooks/roles/gen_hosts/templates/workflows/reboot-limit.j2
+++ b/playbooks/roles/gen_hosts/templates/workflows/reboot-limit.j2
@@ -13,14 +13,14 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{{ kdevops_host_prefix }}-reboot-limit
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% if kdevops_baseline_and_dev %}
[dev]
{{ kdevops_host_prefix }}-reboot-limit-dev
[dev:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_dev_python_interpreter }}"
{% endif %}
[reboot-limit]
@@ -30,4 +30,4 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
[reboot-limit:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
diff --git a/playbooks/roles/gen_hosts/templates/workflows/selftests.j2 b/playbooks/roles/gen_hosts/templates/workflows/selftests.j2
index 4ef598c7..3acfce52 100644
--- a/playbooks/roles/gen_hosts/templates/workflows/selftests.j2
+++ b/playbooks/roles/gen_hosts/templates/workflows/selftests.j2
@@ -17,7 +17,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% if kdevops_baseline_and_dev %}
[dev]
@@ -26,7 +26,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[dev:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_dev_python_interpreter }}"
{% endif %}
[selftests]
@@ -38,7 +38,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[selftests:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% for test_type in selftests_enabled_test_types %}
[selftests_{{ test_type | replace('-', '_') }}]
@@ -48,6 +48,6 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
[selftests_{{ test_type | replace('-', '_') }}:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% endfor %}
diff --git a/playbooks/roles/gen_hosts/templates/workflows/sysbench.j2 b/playbooks/roles/gen_hosts/templates/workflows/sysbench.j2
index 34f22a83..af552f32 100644
--- a/playbooks/roles/gen_hosts/templates/workflows/sysbench.j2
+++ b/playbooks/roles/gen_hosts/templates/workflows/sysbench.j2
@@ -17,7 +17,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% if kdevops_baseline_and_dev %}
[dev]
@@ -26,7 +26,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[dev:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_dev_python_interpreter }}"
{% endif %}
[sysbench]
@@ -38,7 +38,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endfor %}
[sysbench:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% for test in enabled_sysbench_tests %}
[sysbench_{{ test | replace('-', '_') }}]
@@ -48,6 +48,6 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
[sysbench_{{ test | replace('-', '_') }}:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% endfor %}
diff --git a/playbooks/roles/gen_hosts/templates/workflows/vllm.j2 b/playbooks/roles/gen_hosts/templates/workflows/vllm.j2
index d0564e80..2e811e93 100644
--- a/playbooks/roles/gen_hosts/templates/workflows/vllm.j2
+++ b/playbooks/roles/gen_hosts/templates/workflows/vllm.j2
@@ -13,14 +13,14 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{{ kdevops_host_prefix }}-vllm
[baseline:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% if kdevops_baseline_and_dev %}
[dev]
{{ kdevops_host_prefix }}-vllm-dev
[dev:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_dev_python_interpreter }}"
{% endif %}
[vllm]
@@ -30,14 +30,14 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{% endif %}
[vllm:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
{% if kdevops_enable_iscsi %}
[iscsi]
{{ kdevops_host_prefix }}-iscsi
[iscsi:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
{% endif %}
{% if kdevops_nfsd_enable %}
@@ -45,7 +45,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{{ kdevops_host_prefix }}-nfsd
[nfsd:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
{% endif %}
{% if kdevops_smbd_enable %}
@@ -53,7 +53,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{{ kdevops_host_prefix }}-smbd
[smbd:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
{% endif %}
{% if kdevops_krb5_enable %}
@@ -61,5 +61,5 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
{{ kdevops_host_prefix }}-kdc
[kdc:vars]
-ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+ansible_python_interpreter = "{{ kdevops_service_python_interpreter }}"
{% endif %}
--
2.53.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 6/8] gen_hosts: make the linux workflow node name follow bootlinux_builder
2026-04-22 22:16 [PATCH 0/8] kdevops: small NIXOS and gen_hosts fixes Daniel Gomez
` (4 preceding siblings ...)
2026-04-22 22:16 ` [PATCH 5/8] gen_hosts: scope the python interpreter per inventory group Daniel Gomez
@ 2026-04-22 22:16 ` Daniel Gomez
2026-04-22 22:16 ` [PATCH 7/8] defconfigs/nixos: name NIXOS hosts with the "nixos" prefix Daniel Gomez
` (2 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Daniel Gomez @ 2026-04-22 22:16 UTC (permalink / raw)
To: Luis Chamberlain, Chuck Lever; +Cc: kdevops, Daniel Gomez, Daniel Gomez
From: Daniel Gomez <da.gomez@samsung.com>
workflows/linux.j2 hardcoded <prefix>-builder as the node name
regardless of whether a dedicated builder was requested.
Everywhere else in kdevops the convention is <prefix>-builder
when bootlinux_builder is set and <prefix> otherwise, and
gen_nodes already emits names along that rule. The template
produced inventory entries gen_nodes did not cover; fix it so
both sides agree.
Fixes: 3089c3fec57 ("nixos: add NixOS support as third bringup option with libvirt integration")
Generated-by: Claude AI
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
playbooks/roles/gen_hosts/templates/workflows/linux.j2 | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/playbooks/roles/gen_hosts/templates/workflows/linux.j2 b/playbooks/roles/gen_hosts/templates/workflows/linux.j2
index 47c20ab8..79a11757 100644
--- a/playbooks/roles/gen_hosts/templates/workflows/linux.j2
+++ b/playbooks/roles/gen_hosts/templates/workflows/linux.j2
@@ -1,12 +1,23 @@
-{# Template for the kernel builder workflow #}
+{# Template for the bootlinux workflow.
+
+ When bootlinux_builder is set, a dedicated build node carries the
+ -builder suffix (matching gen_nodes' builder_nodes list). Otherwise
+ the node takes the generic prefix-only name that gen_nodes emits
+ as generic_nodes.
+#}
+{% if bootlinux_builder | default(false) %}
+{% set node_name = kdevops_host_prefix + '-builder' %}
+{% else %}
+{% set node_name = kdevops_host_prefix %}
+{% endif %}
[all]
localhost ansible_connection=local
-{{ kdevops_host_prefix }}-builder
+{{ node_name }}
[all:vars]
ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
[baseline]
-{{ kdevops_host_prefix }}-builder
+{{ node_name }}
[baseline:vars]
ansible_python_interpreter = "{{ kdevops_baseline_python_interpreter }}"
--
2.53.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 7/8] defconfigs/nixos: name NIXOS hosts with the "nixos" prefix
2026-04-22 22:16 [PATCH 0/8] kdevops: small NIXOS and gen_hosts fixes Daniel Gomez
` (5 preceding siblings ...)
2026-04-22 22:16 ` [PATCH 6/8] gen_hosts: make the linux workflow node name follow bootlinux_builder Daniel Gomez
@ 2026-04-22 22:16 ` Daniel Gomez
2026-04-22 22:16 ` [PATCH 8/8] gen_hosts: drop sudo become on inventory owner refresh Daniel Gomez
2026-04-23 13:50 ` [PATCH 0/8] kdevops: small NIXOS and gen_hosts fixes Chuck Lever
8 siblings, 0 replies; 11+ messages in thread
From: Daniel Gomez @ 2026-04-22 22:16 UTC (permalink / raw)
To: Luis Chamberlain, Chuck Lever; +Cc: kdevops, Daniel Gomez, Daniel Gomez
From: Daniel Gomez <da.gomez@samsung.com>
The NIXOS defconfig inherited the generic "kdevops" default for
KDEVOPS_HOSTS_PREFIX, which made the VM show up in virsh as
"kdevops" (or "kdevops-builder" under the earlier bootlinux_builder
default). Neither name tells a user at a glance that the guest
runs NixOS.
Set CONFIG_KDEVOPS_HOSTS_PREFIX="nixos" so the generated VM and
inventory entries take the "nixos" prefix. Users who wish a
different prefix (for example, their own name, or a distro-style
prefix) can still override on the command line via
"KDEVOPS_HOSTS_PREFIX=... make defconfig-nixos" because the
CLI-set-by path in kconfigs/Kconfig.kdevops takes precedence over
the defconfig default.
Generated-by: Claude AI
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
defconfigs/nixos | 1 +
1 file changed, 1 insertion(+)
diff --git a/defconfigs/nixos b/defconfigs/nixos
index c510e341..bad22282 100644
--- a/defconfigs/nixos
+++ b/defconfigs/nixos
@@ -1,5 +1,6 @@
CONFIG_NIXOS=y
CONFIG_LIBVIRT=y
+CONFIG_KDEVOPS_HOSTS_PREFIX="nixos"
# Disable mirror setup for NixOS
CONFIG_ENABLE_LOCAL_LINUX_MIRROR=n
--
2.53.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 8/8] gen_hosts: drop sudo become on inventory owner refresh
2026-04-22 22:16 [PATCH 0/8] kdevops: small NIXOS and gen_hosts fixes Daniel Gomez
` (6 preceding siblings ...)
2026-04-22 22:16 ` [PATCH 7/8] defconfigs/nixos: name NIXOS hosts with the "nixos" prefix Daniel Gomez
@ 2026-04-22 22:16 ` Daniel Gomez
2026-04-23 13:50 ` [PATCH 0/8] kdevops: small NIXOS and gen_hosts fixes Chuck Lever
8 siblings, 0 replies; 11+ messages in thread
From: Daniel Gomez @ 2026-04-22 22:16 UTC (permalink / raw)
To: Luis Chamberlain, Chuck Lever; +Cc: kdevops, Daniel Gomez, Daniel Gomez
From: Daniel Gomez <da.gomez@samsung.com>
The inventory file is written by the same controller-side play
that later refreshes its owner and group, and the refresh task
sets owner to the current user and group to the current user's
primary group - i.e. it chowns the file to its own owner.
The task nevertheless wrapped that no-op in become_method: sudo
+ become_flags: "su - -c", and that combination fails at sudo
invocation time with:
/bin/sh: line 1: root: command not found
The failure was masked by the task being guarded on the inventory
file already existing, so it never fired on a freshly rendered
tree.
Drop the become block. The chown runs under the user the file
already belongs to, and the gen_hosts role no longer depends on
passwordless sudo on the control node.
Generated-by: Claude AI
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
playbooks/roles/gen_hosts/tasks/main.yml | 3 ---
1 file changed, 3 deletions(-)
diff --git a/playbooks/roles/gen_hosts/tasks/main.yml b/playbooks/roles/gen_hosts/tasks/main.yml
index 0d67e49f..5e5acac0 100644
--- a/playbooks/roles/gen_hosts/tasks/main.yml
+++ b/playbooks/roles/gen_hosts/tasks/main.yml
@@ -37,9 +37,6 @@
register: kdevops_hosts_dest
- name: Ensure proper permission on the inventory file
- become: true
- become_flags: "su - -c"
- become_method: sudo
ansible.builtin.file:
path: "{{ ansible_cfg_inventory }}"
owner: "{{ my_user.stdout }}"
--
2.53.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH 0/8] kdevops: small NIXOS and gen_hosts fixes
2026-04-22 22:16 [PATCH 0/8] kdevops: small NIXOS and gen_hosts fixes Daniel Gomez
` (7 preceding siblings ...)
2026-04-22 22:16 ` [PATCH 8/8] gen_hosts: drop sudo become on inventory owner refresh Daniel Gomez
@ 2026-04-23 13:50 ` Chuck Lever
2026-04-23 19:20 ` Daniel Gomez
8 siblings, 1 reply; 11+ messages in thread
From: Chuck Lever @ 2026-04-23 13:50 UTC (permalink / raw)
To: Daniel Gomez, Luis Chamberlain, Chuck Lever; +Cc: kdevops, Daniel Gomez
On Wed, Apr 22, 2026, at 6:16 PM, Daniel Gomez wrote:
> Small cleanups picked up while building the new bringup backend that
> depends on this series. Each patch is independent and stands on its
> own: duplicated Makefile vars, ineffective silent recipe guards, libvirt
> XML and cleanup path drift on the NIXOS role, and gen_hosts rough edges
> around inventory group scoping and inventory owner refresh.
>
> Preparatory series for the upstreaming of nixos-qemu [1] and
> qemu-system-units [2] as git subtrees. The two projects provide an
> alternative to kdevops libvirtd, libguestfs, and virsh stack for local
> VM bringup, one that sidesteps the sudo and privilege escalation the
> Ansible host-setup playbooks currently need on the control node to drive
> that stack. libvirt bringup stays the default and is untouched; the
> alternative is opt-in via Kconfig. qemu-system-units renders the QEMU
> command line from templates into a systemd user service, so VMs run in
> the user session with no root daemon and no new wrapper on top of QEMU.
> nixos-qemu builds image-based and imageless guests declaratively through
> a NixOS flake, with no libguestfs in the loop.
>
> Link: https://github.com/linux-kdevops/nixos-qemu [1]
> Link: https://github.com/linux-kdevops/qemu-system-units [2]
> Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
> ---
> Daniel Gomez (8):
> nixos: remove duplicate nixos_channel extra-var from Makefile
> nixos: do not emit comment-only recipe lines under $(Q)
> nixos: drop hardcoded qxl video model from libvirt XML
> nixos: destroy the libvirt domain before cleaning up local artefacts
> gen_hosts: scope the python interpreter per inventory group
> gen_hosts: make the linux workflow node name follow bootlinux_builder
> defconfigs/nixos: name NIXOS hosts with the "nixos" prefix
> gen_hosts: drop sudo become on inventory owner refresh
Not needing root privilege for local virtualization sounds great
to me!
The only hesitation is I would like to test the gen_hosts changes
in this series with the cloud providers, but I currently don't
have any kdevops branch that is newer than 6 months old. I will
need to update something and try it out.
--
Chuck Lever
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 0/8] kdevops: small NIXOS and gen_hosts fixes
2026-04-23 13:50 ` [PATCH 0/8] kdevops: small NIXOS and gen_hosts fixes Chuck Lever
@ 2026-04-23 19:20 ` Daniel Gomez
0 siblings, 0 replies; 11+ messages in thread
From: Daniel Gomez @ 2026-04-23 19:20 UTC (permalink / raw)
To: Chuck Lever, Luis Chamberlain, Chuck Lever; +Cc: kdevops, Daniel Gomez
On 23/04/2026 15.50, Chuck Lever wrote:
>
>
> On Wed, Apr 22, 2026, at 6:16 PM, Daniel Gomez wrote:
>> Small cleanups picked up while building the new bringup backend that
>> depends on this series. Each patch is independent and stands on its
>> own: duplicated Makefile vars, ineffective silent recipe guards, libvirt
>> XML and cleanup path drift on the NIXOS role, and gen_hosts rough edges
>> around inventory group scoping and inventory owner refresh.
>>
>> Preparatory series for the upstreaming of nixos-qemu [1] and
>> qemu-system-units [2] as git subtrees. The two projects provide an
>> alternative to kdevops libvirtd, libguestfs, and virsh stack for local
>> VM bringup, one that sidesteps the sudo and privilege escalation the
>> Ansible host-setup playbooks currently need on the control node to drive
>> that stack. libvirt bringup stays the default and is untouched; the
>> alternative is opt-in via Kconfig. qemu-system-units renders the QEMU
>> command line from templates into a systemd user service, so VMs run in
>> the user session with no root daemon and no new wrapper on top of QEMU.
>> nixos-qemu builds image-based and imageless guests declaratively through
>> a NixOS flake, with no libguestfs in the loop.
>>
>> Link: https://github.com/linux-kdevops/nixos-qemu [1]
>> Link: https://github.com/linux-kdevops/qemu-system-units [2]
>> Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
>> ---
>> Daniel Gomez (8):
>> nixos: remove duplicate nixos_channel extra-var from Makefile
>> nixos: do not emit comment-only recipe lines under $(Q)
>> nixos: drop hardcoded qxl video model from libvirt XML
>> nixos: destroy the libvirt domain before cleaning up local artefacts
>> gen_hosts: scope the python interpreter per inventory group
>> gen_hosts: make the linux workflow node name follow bootlinux_builder
>> defconfigs/nixos: name NIXOS hosts with the "nixos" prefix
>> gen_hosts: drop sudo become on inventory owner refresh
>
> Not needing root privilege for local virtualization sounds great
> to me!
Great to hear!
>
> The only hesitation is I would like to test the gen_hosts changes
> in this series with the cloud providers, but I currently don't
> have any kdevops branch that is newer than 6 months old. I will
> need to update something and try it out.
>
No problem. FYI, I've pushed b4/nixos-qsu to kdevops [1] repo with all
these 3 series applied. And I'll soon post more patches with fstests
workflow support.
Link: https://github.com/linux-kdevops/kdevops/tree/b4/nixos-qsu [1]
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2026-04-23 19:20 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-22 22:16 [PATCH 0/8] kdevops: small NIXOS and gen_hosts fixes Daniel Gomez
2026-04-22 22:16 ` [PATCH 1/8] nixos: remove duplicate nixos_channel extra-var from Makefile Daniel Gomez
2026-04-22 22:16 ` [PATCH 2/8] nixos: do not emit comment-only recipe lines under $(Q) Daniel Gomez
2026-04-22 22:16 ` [PATCH 3/8] nixos: drop hardcoded qxl video model from libvirt XML Daniel Gomez
2026-04-22 22:16 ` [PATCH 4/8] nixos: destroy the libvirt domain before cleaning up local artefacts Daniel Gomez
2026-04-22 22:16 ` [PATCH 5/8] gen_hosts: scope the python interpreter per inventory group Daniel Gomez
2026-04-22 22:16 ` [PATCH 6/8] gen_hosts: make the linux workflow node name follow bootlinux_builder Daniel Gomez
2026-04-22 22:16 ` [PATCH 7/8] defconfigs/nixos: name NIXOS hosts with the "nixos" prefix Daniel Gomez
2026-04-22 22:16 ` [PATCH 8/8] gen_hosts: drop sudo become on inventory owner refresh Daniel Gomez
2026-04-23 13:50 ` [PATCH 0/8] kdevops: small NIXOS and gen_hosts fixes Chuck Lever
2026-04-23 19:20 ` Daniel Gomez
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox