* [PATCH 1/4] workflows: linux: remove explicit inventory in ansible wrappers
2025-09-17 8:32 [PATCH 0/4] Fix inconsistent ansible-playbook patterns across kdevops Daniel Gomez
@ 2025-09-17 8:32 ` Daniel Gomez
2025-09-17 8:32 ` [PATCH 2/4] workflows: fix inconsistent ansible-playbook patterns and invalid host groups Daniel Gomez
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Daniel Gomez @ 2025-09-17 8:32 UTC (permalink / raw)
To: Luis Chamberlain, Chuck Lever; +Cc: kdevops, Daniel Gomez
From: Daniel Gomez <da.gomez@samsung.com>
The A/B testing implementation introduced back the --inventory argument
for the ansible-playbook invocation patterns. Three targets (linux,
linux-baseline, linux-dev) were using '-i hosts' instead of leveraging
the ansible.cfg inventory key + the established '--limit' or hosts:
YAML field.
Also, for bootlinux playbook case, this caused the playbook to run on
localhost, leading to failures when localhost doesn't have the required
virtualization setup:
- virtio devices (/dev/disk/by-id/virtio-kdevops0)
- 9p kernel modules and filesystem support
- target directory structure (/data/linux-stable)
- etc.
Fixes: 7f25db722 ("bootlinux: add support for A/B kernel testing")
Generated-by: Claude AI
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
workflows/linux/Makefile | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/workflows/linux/Makefile b/workflows/linux/Makefile
index 1ab9d55d..23a59968 100644
--- a/workflows/linux/Makefile
+++ b/workflows/linux/Makefile
@@ -101,8 +101,9 @@ ifeq (y,$(CONFIG_BOOTLINUX_AB_DIFFERENT_REF))
linux: linux-baseline linux-dev
else
linux: $(KDEVOPS_NODES)
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) -i \
- hosts $(KDEVOPS_PLAYBOOKS_DIR)/bootlinux.yml \
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
+ --limit 'baseline:dev' \
+ $(KDEVOPS_PLAYBOOKS_DIR)/bootlinux.yml \
--extra-vars="$(BOOTLINUX_ARGS)" $(LIMIT_HOSTS)
endif
else
@@ -116,9 +117,10 @@ endif
PHONY += linux-baseline
ifeq (y,$(CONFIG_KDEVOPS_BASELINE_AND_DEV))
linux-baseline: $(KDEVOPS_NODES)
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) -i \
- hosts $(KDEVOPS_PLAYBOOKS_DIR)/bootlinux.yml \
- --extra-vars="$(BOOTLINUX_ARGS)" --limit baseline
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
+ --limit baseline \
+ $(KDEVOPS_PLAYBOOKS_DIR)/bootlinux.yml \
+ --extra-vars="$(BOOTLINUX_ARGS)"
else
linux-baseline:
@echo "linux-baseline requires KDEVOPS_BASELINE_AND_DEV=y"
@@ -128,9 +130,10 @@ endif
PHONY += linux-dev
ifeq (y,$(CONFIG_KDEVOPS_BASELINE_AND_DEV))
linux-dev: $(KDEVOPS_NODES)
- $(Q)ansible-playbook $(ANSIBLE_VERBOSE) -i \
- hosts $(KDEVOPS_PLAYBOOKS_DIR)/bootlinux.yml \
- --extra-vars="$(BOOTLINUX_ARGS)" --limit dev
+ $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
+ --limit dev \
+ $(KDEVOPS_PLAYBOOKS_DIR)/bootlinux.yml \
+ --extra-vars="$(BOOTLINUX_ARGS)"
else
linux-dev:
@echo "linux-dev requires KDEVOPS_BASELINE_AND_DEV=y"
--
2.50.1
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH 2/4] workflows: fix inconsistent ansible-playbook patterns and invalid host groups
2025-09-17 8:32 [PATCH 0/4] Fix inconsistent ansible-playbook patterns across kdevops Daniel Gomez
2025-09-17 8:32 ` [PATCH 1/4] workflows: linux: remove explicit inventory in ansible wrappers Daniel Gomez
@ 2025-09-17 8:32 ` Daniel Gomez
2025-09-17 8:32 ` [PATCH 3/4] docs: remove deprecated -i hosts pattern from CLAUDE.md example Daniel Gomez
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Daniel Gomez @ 2025-09-17 8:32 UTC (permalink / raw)
To: Luis Chamberlain, Chuck Lever; +Cc: kdevops, Daniel Gomez
From: Daniel Gomez <da.gomez@samsung.com>
Multiple issues were introduced in commit 7f25db722:
1. Workflow Makefiles using "-i hosts" explicitly instead of relying on
ansible.cfg inventory configuration
2. AI and minio workflows incorrectly using custom host groups "ai" and
"minio" instead of standard kdevops host groups
3. Redundant "-f" fork parameters when ansible.cfg already configures forks
The only valid host groups in kdevops are: all, baseline, dev, and service.
Custom workflow-specific host groups violate the established architecture.
This removes invalid groups, the -i/--inventory arguments, -f/--forks
parameters + leverages the ansible.cfg configuration.
Fixes: 7f25db722 ("bootlinux: add support for A/B testing different kernel refs")
Generated-by: Claude AI
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
---
playbooks/ai_benchmark.yml | 2 +-
playbooks/ai_destroy.yml | 2 +-
playbooks/ai_install.yml | 2 +-
playbooks/ai_results.yml | 2 +-
playbooks/ai_setup.yml | 2 +-
playbooks/ai_tests.yml | 6 +++---
playbooks/ai_uninstall.yml | 2 +-
playbooks/minio.yml | 10 +++++-----
workflows/ai/Makefile | 14 --------------
workflows/minio/Makefile | 8 ++++----
10 files changed, 18 insertions(+), 32 deletions(-)
diff --git a/playbooks/ai_benchmark.yml b/playbooks/ai_benchmark.yml
index 85fc117c..5ce45fdc 100644
--- a/playbooks/ai_benchmark.yml
+++ b/playbooks/ai_benchmark.yml
@@ -1,6 +1,6 @@
---
- name: Run Milvus Vector Database Benchmarks
- hosts: ai
+ hosts: baseline:dev
vars:
ai_vector_db_milvus_benchmark_enable: true
roles:
diff --git a/playbooks/ai_destroy.yml b/playbooks/ai_destroy.yml
index eef07b2a..ba1a31b5 100644
--- a/playbooks/ai_destroy.yml
+++ b/playbooks/ai_destroy.yml
@@ -1,6 +1,6 @@
---
- name: Destroy Milvus Vector Database
- hosts: ai
+ hosts: baseline:dev
become: true
tasks:
- name: Stop Milvus containers
diff --git a/playbooks/ai_install.yml b/playbooks/ai_install.yml
index 38e6671c..1cc2f6c2 100644
--- a/playbooks/ai_install.yml
+++ b/playbooks/ai_install.yml
@@ -1,6 +1,6 @@
---
- name: Install Milvus Vector Database
- hosts: ai
+ hosts: baseline:dev
become: true
become_user: root
roles:
diff --git a/playbooks/ai_results.yml b/playbooks/ai_results.yml
index 881295eb..64216d61 100644
--- a/playbooks/ai_results.yml
+++ b/playbooks/ai_results.yml
@@ -1,6 +1,6 @@
---
- name: Collect and analyze AI benchmark results
- hosts: ai
+ hosts: baseline:dev
roles:
- ai_collect_results
tags: ['ai', 'ai_results']
diff --git a/playbooks/ai_setup.yml b/playbooks/ai_setup.yml
index f0007ee2..eceda156 100644
--- a/playbooks/ai_setup.yml
+++ b/playbooks/ai_setup.yml
@@ -1,6 +1,6 @@
---
- name: Setup AI benchmark environment
- hosts: ai
+ hosts: baseline:dev
roles:
- ai_setup
tags: ['ai', 'ai_setup']
diff --git a/playbooks/ai_tests.yml b/playbooks/ai_tests.yml
index 1a5638fc..728196bd 100644
--- a/playbooks/ai_tests.yml
+++ b/playbooks/ai_tests.yml
@@ -3,7 +3,7 @@
# This ensures AI infrastructure is setup before running benchmarks
- name: AI Tests - Ensure Milvus is installed
- hosts: ai
+ hosts: baseline:dev
become: true
become_user: root
roles:
@@ -12,7 +12,7 @@
tags: ['ai', 'milvus', 'setup']
- name: AI Tests - Vector Database Benchmarks
- hosts: ai
+ hosts: baseline:dev
become: true
vars:
# Skip infrastructure setup when running tests
@@ -23,7 +23,7 @@
tags: ['ai', 'benchmark']
- name: AI Tests - Results Collection
- hosts: ai
+ hosts: baseline:dev
become: true
roles:
- role: ai_collect_results
diff --git a/playbooks/ai_uninstall.yml b/playbooks/ai_uninstall.yml
index fb537664..3894ef05 100644
--- a/playbooks/ai_uninstall.yml
+++ b/playbooks/ai_uninstall.yml
@@ -1,6 +1,6 @@
---
- name: Uninstall AI benchmark components
- hosts: ai
+ hosts: baseline:dev
roles:
- ai_uninstall
tags: ['ai', 'ai_uninstall']
diff --git a/playbooks/minio.yml b/playbooks/minio.yml
index bf80bbf4..2855a8fe 100644
--- a/playbooks/minio.yml
+++ b/playbooks/minio.yml
@@ -2,7 +2,7 @@
# MinIO S3 Storage Benchmarking Playbook
- name: Install MinIO and setup
- hosts: minio
+ hosts: baseline:dev
become: true
become_user: root
tags: ['minio_install']
@@ -21,7 +21,7 @@
minio_docker_network: "{{ minio_docker_network_name }}"
- name: Run MinIO Warp benchmarks
- hosts: minio
+ hosts: baseline:dev
become: true
become_user: root
tags: ['minio_warp']
@@ -29,7 +29,7 @@
- role: minio_warp_run
- name: Uninstall MinIO
- hosts: minio
+ hosts: baseline:dev
become: true
become_user: root
tags: ['minio_uninstall']
@@ -37,7 +37,7 @@
- role: minio_uninstall
- name: Destroy MinIO and cleanup
- hosts: minio
+ hosts: baseline:dev
become: true
become_user: root
tags: ['minio_destroy']
@@ -45,7 +45,7 @@
- role: minio_destroy
- name: Analyze MinIO results
- hosts: minio
+ hosts: baseline:dev
become: true
become_user: root
tags: ['minio_results']
diff --git a/workflows/ai/Makefile b/workflows/ai/Makefile
index 7e9b8af2..62731bae 100644
--- a/workflows/ai/Makefile
+++ b/workflows/ai/Makefile
@@ -31,9 +31,7 @@ export AI_ARGS_SEPARATED := $(subst $(space),$(comma),$(AI_ARGS))
# Main AI workflow targets
ai: $(KDEVOPS_NODES) $(ANSIBLE_INVENTORY_FILE)
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts \
playbooks/ai.yml \
- -f 10 \
--extra-vars=@$(KDEVOPS_EXTRA_VARS) \
--extra-vars="$(AI_ARGS) $(AI_MANUAL_ARGS)" \
$(LIMIT_HOSTS)
@@ -47,9 +45,7 @@ ai-dev:
# AI Testing/Benchmark targets
ai-tests: $(KDEVOPS_NODES) $(ANSIBLE_INVENTORY_FILE)
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts \
playbooks/ai_tests.yml \
- -f 10 \
--extra-vars=@$(KDEVOPS_EXTRA_VARS) \
--extra-vars="$(AI_ARGS) $(AI_MANUAL_ARGS)" \
$(LIMIT_HOSTS)
@@ -58,9 +54,7 @@ ai-tests: $(KDEVOPS_NODES) $(ANSIBLE_INVENTORY_FILE)
ai-tests-baseline: $(KDEVOPS_NODES) $(ANSIBLE_INVENTORY_FILE)
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
-l baseline \
- -i hosts \
playbooks/ai_tests.yml \
- -f 10 \
--extra-vars=@$(KDEVOPS_EXTRA_VARS) \
--extra-vars="$(AI_ARGS) $(AI_MANUAL_ARGS)"
$(Q)$(MAKE) ai-results-baseline
@@ -68,9 +62,7 @@ ai-tests-baseline: $(KDEVOPS_NODES) $(ANSIBLE_INVENTORY_FILE)
ai-tests-dev: $(KDEVOPS_NODES) $(ANSIBLE_INVENTORY_FILE)
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
-l dev \
- -i hosts \
playbooks/ai_tests.yml \
- -f 10 \
--extra-vars=@$(KDEVOPS_EXTRA_VARS) \
--extra-vars="$(AI_ARGS) $(AI_MANUAL_ARGS)"
$(Q)$(MAKE) ai-results-dev
@@ -78,9 +70,7 @@ ai-tests-dev: $(KDEVOPS_NODES) $(ANSIBLE_INVENTORY_FILE)
# Target to only run results analysis and graph generation
ai-tests-results:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts \
playbooks/ai_tests.yml \
- -f 10 \
--extra-vars=@$(KDEVOPS_EXTRA_VARS) \
--extra-vars="$(AI_ARGS) $(AI_MANUAL_ARGS)" \
--tags="results" \
@@ -89,7 +79,6 @@ ai-tests-results:
# Results collection targets
ai-results:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts \
playbooks/ai_results.yml \
--extra-vars=@$(KDEVOPS_EXTRA_VARS) \
--extra-vars="$(AI_ARGS) $(AI_MANUAL_ARGS)" \
@@ -103,7 +92,6 @@ ai-results-dev:
ai-setup:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts \
playbooks/ai_setup.yml \
--extra-vars=@$(KDEVOPS_EXTRA_VARS) \
--extra-vars="$(AI_ARGS) $(AI_MANUAL_ARGS)" \
@@ -111,7 +99,6 @@ ai-setup:
ai-uninstall:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts \
playbooks/ai_uninstall.yml \
--extra-vars=@$(KDEVOPS_EXTRA_VARS) \
--extra-vars="$(AI_ARGS) $(AI_MANUAL_ARGS)" \
@@ -119,7 +106,6 @@ ai-uninstall:
ai-destroy:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -i hosts \
playbooks/ai_destroy.yml \
--extra-vars=@$(KDEVOPS_EXTRA_VARS) \
--extra-vars="$(AI_ARGS) $(AI_MANUAL_ARGS)" \
diff --git a/workflows/minio/Makefile b/workflows/minio/Makefile
index c543ed3b..05b822a0 100644
--- a/workflows/minio/Makefile
+++ b/workflows/minio/Makefile
@@ -14,25 +14,25 @@ $(MINIO_DATA_TARGET): $(ANSIBLE_INVENTORY_FILE)
$(MINIO_DATA_TARGET_INSTALL): $(ANSIBLE_INVENTORY_FILE)
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -f 30 -i hosts $(MINIO_PLAYBOOK) \
+ $(MINIO_PLAYBOOK) \
--extra-vars=@$(KDEVOPS_EXTRA_VARS) \
--tags vars,minio_install
$(MINIO_DATA_TARGET_UNINSTALL): $(ANSIBLE_INVENTORY_FILE)
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -f 30 -i hosts $(MINIO_PLAYBOOK) \
+ $(MINIO_PLAYBOOK) \
--extra-vars=@$(KDEVOPS_EXTRA_VARS) \
--tags vars,minio_uninstall
$(MINIO_DATA_TARGET_DESTROY): $(ANSIBLE_INVENTORY_FILE)
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -f 30 -i hosts $(MINIO_PLAYBOOK) \
+ $(MINIO_PLAYBOOK) \
--extra-vars=@$(KDEVOPS_EXTRA_VARS) \
--tags vars,minio_destroy
$(MINIO_DATA_TARGET_RUN): $(ANSIBLE_INVENTORY_FILE)
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- -f 30 -i hosts $(MINIO_PLAYBOOK) \
+ $(MINIO_PLAYBOOK) \
--extra-vars=@$(KDEVOPS_EXTRA_VARS) \
--tags vars,minio_warp
--
2.50.1
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH 4/4] terraform: remove redundant ansible inventory and connection overrides
2025-09-17 8:32 [PATCH 0/4] Fix inconsistent ansible-playbook patterns across kdevops Daniel Gomez
` (2 preceding siblings ...)
2025-09-17 8:32 ` [PATCH 3/4] docs: remove deprecated -i hosts pattern from CLAUDE.md example Daniel Gomez
@ 2025-09-17 8:32 ` Daniel Gomez
2025-09-17 14:28 ` [PATCH 0/4] Fix inconsistent ansible-playbook patterns across kdevops Luis Chamberlain
4 siblings, 0 replies; 6+ messages in thread
From: Daniel Gomez @ 2025-09-17 8:32 UTC (permalink / raw)
To: Luis Chamberlain, Chuck Lever; +Cc: kdevops, Daniel Gomez
From: Daniel Gomez <da.gomez@samsung.com>
Remove unnecessary --inventory localhost, and connection: local
parameters and embrace the ansible.cfg and playbook hosts fields.
Generated-by: Claude AI
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
playbooks/gen_tfvars.yml | 1 -
playbooks/terraform.yml | 1 -
scripts/terraform.Makefile | 7 +------
3 files changed, 1 insertion(+), 8 deletions(-)
diff --git a/playbooks/gen_tfvars.yml b/playbooks/gen_tfvars.yml
index 11437fa2..9d75c868 100644
--- a/playbooks/gen_tfvars.yml
+++ b/playbooks/gen_tfvars.yml
@@ -1,6 +1,5 @@
---
- name: Generate Terraform variables file (terraform/terraform.tfvars)
- connection: local
hosts: localhost
roles:
- role: gen_tfvars
diff --git a/playbooks/terraform.yml b/playbooks/terraform.yml
index a740f79f..61a16a2c 100644
--- a/playbooks/terraform.yml
+++ b/playbooks/terraform.yml
@@ -1,6 +1,5 @@
---
- name: Manage infrastructure lifecycle and SSH access with Terraform
- connection: local
hosts: localhost
gather_facts: false
roles:
diff --git a/scripts/terraform.Makefile b/scripts/terraform.Makefile
index 4d738c82..ef11e0e3 100644
--- a/scripts/terraform.Makefile
+++ b/scripts/terraform.Makefile
@@ -203,23 +203,20 @@ endif
bringup_terraform: lambdalabs-ssh-check
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- --inventory localhost, \
playbooks/terraform.yml --tags bringup \
--extra-vars=@./extra_vars.yaml
$(KDEVOPS_PROVISIONED_SSH):
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- --inventory localhost, \
playbooks/terraform.yml --tags ssh \
--extra-vars=@./extra_vars.yaml
$(Q)ansible $(ANSIBLE_VERBOSE) \
- -i hosts baseline:dev:service \
+ baseline:dev:service \
-m wait_for_connection
$(Q)touch $(KDEVOPS_PROVISIONED_SSH)
status_terraform:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- --inventory localhost, \
playbooks/terraform.yml --tags status \
--extra-vars=@./extra_vars.yaml
@@ -227,13 +224,11 @@ destroy_terraform: destroy_terraform_base lambdalabs-ssh-clean-after
destroy_terraform_base:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
- --inventory localhost, \
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) \
- --inventory localhost, \
$(KDEVOPS_PLAYBOOKS_DIR)/gen_tfvars.yml \
--extra-vars=@./extra_vars.yaml
--
2.50.1
^ permalink raw reply related [flat|nested] 6+ messages in thread