From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3969828F1 for ; Mon, 28 Jul 2025 00:18:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.137.202.133 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753661885; cv=none; b=LneYllIj9DAAEOIzjrR0+ZPVdZZQPhoPoG/VtCYI0ih4dpaORTBnGLtx/WioAQ1VxoFqZYw8LylSU3ID63D9bSVhjEbv5b2jpS8M38ClJl9+ooU5gJnyA4VzoVrFL2c8JUxeKtn7vVb2Pfw/RPhhQlHo0Ztc/apAlCc8sKKhTm0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753661885; c=relaxed/simple; bh=Ryu5O9Io3BbWvBOJKpiUTop185RKfVysFyOXMAYz02Y=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=ZzCwINvZ9i6XodrpexfbcfAj4MyDsmMsazF30DZ+Jq7UdUrM9qph1EPUw4yugXK/6DkzzkL3031yeCEGq0Ym8uKvg26TqQgirwYbiLSHEv9elakxRUa+hk9QRU8c+Hau6VB1vZ1ess3WTE0qYH49+UYvuE/abMkC0JMtwuaiad4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=kernel.org; spf=none smtp.mailfrom=infradead.org; dkim=pass (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b=MGb/Jgb9; arc=none smtp.client-ip=198.137.202.133 Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=kernel.org Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=infradead.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="MGb/Jgb9" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Sender:Content-Transfer-Encoding: MIME-Version:Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-Type: Content-ID:Content-Description:In-Reply-To:References; bh=iGCmJgJur5byawPCyBkmvF6OpqfJ/7wbFvOqnIF5O/s=; b=MGb/Jgb9CvFIZxHg00T2AH8i8x A0rhEDvMeZDXZ6JwAidcSefMBGI89m3o3cVWFCs8C1KmS4RAg1s7EOiYxL0IOkzkjnCgSPKzY+09a gIO3yUkSyzGzY1s2qc0Pvmqhs1APC+KBc+03CvS0c8DvK1T9S/oqLpUWTT9NwNAPHtOHE2TJpnz+2 HTk8hxl9dtpx1eogN972NFXXAfn4PKW+KrQZQc0f0ruZBvhVSrAkhjUmHIuELWcuicXKOnhGYNXHp i9eEesEzfQ19RCd6NkXYWxKT0Qn+/CCdp2pHBsq7c7kiZPjPbcOioUisHhwtncRnB2mt4QC55jZ/6 XVxLCT5g==; Received: from mcgrof by bombadil.infradead.org with local (Exim 4.98.2 #2 (Red Hat Linux)) id 1ugBZ3-0000000DNVR-3H5l; Mon, 28 Jul 2025 00:18:01 +0000 From: Luis Chamberlain To: Chuck Lever , Daniel Gomez , kdevops@lists.linux.dev Cc: Luis Chamberlain Subject: [PATCH 00/40] remove vagrant and bootlinux shape up Date: Sun, 27 Jul 2025 17:17:19 -0700 Message-ID: <20250728001800.3188617-1-mcgrof@kernel.org> X-Mailer: git-send-email 2.49.0 Precedence: bulk X-Mailing-List: kdevops@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: Luis Chamberlain During patch review of my A/B kernel testing Chuck pointed out he had a branch with bootlinux changes which would conflict with my A/B testing patches. I indicated I'd much prefer sound architecture for this. So as I expected just telling Claude Code to help me resolve those conflicts was likely easy and possible. To make it more challenging I figured I'd throw in our pending vagrant removal effort and here, we have now both efforts unified. Chuck, I've put my fixes as external patches to yours but if you agree with the fixes I can just roll them into your patches and blend them. This should be ready to merge. Chuck Lever (24): AuthorDate: Fri Jul 25 14:23:00 2025 -0400 ansible.cfg: Explicitly set the ssh user fstests: local NFS list terraform: Clean up the destroy tasks Switch to the cloud.terraform.terraform module terraform: Make use of the new "terraform_output" module terraform: Move "wait_for_connection" out of the terraform playbook terraform: Remove "delegate_to: localhost" terraform: Replace scripts/status_terraform.sh Kconfig: Convert the 9p option to a choice menu bootlinux: Relocate tasks that select a kernel .config bootlinux: Simplify tasks that select the kernel .config to build bootlinux: Select the kernel .config earlier bootlinux: Move 9p build tasks to a subrole bootlinux: Move tasks for building on target nodes to a subrole bootlinux: Clean up a grub set-up task bootlinux: Harden update-grub/install.yml Add a guest/instance for building the test kernel bootlinux: Add a new builder choice workflows: Add a kconfig setting for installing kernels via package bootlinux: Enclose tasks to find kernel release name in a block: bootlinux: Pick up kernel release info for pre-built packages bootlinux: Install pre-built kernels from packages bootlinux: Add an option to build with clang instead of gcc Luis Chamberlain (16): vagrant: remove entire vagrant configuration directory kconfigs: fix Kconfig references after vagrant removal scripts: remove Vagrant-specific scripts and Makefiles playbooks: remove Vagrant-specific playbooks and roles gitignore: remove Vagrant-specific ignore patterns docs: remove Vagrant-specific documentation files Remove all remaining Vagrant references from codebase bootlinux: fix making 9p default if using libvirt bootlinux: fix missing make command when using 9P builds guestsfs: ensure linux directory exists bootlinux: fix grub_boot_number_cmd undefined error in update-grub bootlinux: fix kernel_release_file.stat undefined error in update-grub Makefile: add make style for style checking CLAUDE.md: new workflow guide for hosts and nodes CLAUDE.md: add don't BS rules gen_nodes/gen_hosts: avoid usage of fs_config_path on task names .gitignore | 5 - CLAUDE.md | 720 ++++++++++++++++++ ...e => Kconfig.passthrough_libvirt.generated | 0 Makefile | 12 +- Makefile.kdevops | 32 +- Makefile.subtrees | 4 +- docs/custom-vagrant-boxes.md | 581 -------------- docs/kdevops-vagrant.md | 130 ---- docs/the-gen-nodes-ansible-role-vagrant.md | 78 -- docs/why-vagrant.md | 66 -- kconfigs/Kconfig.ansible_provisioning | 3 +- kconfigs/Kconfig.bringup | 11 +- kconfigs/Kconfig.hypervisor | 4 +- kconfigs/Kconfig.kdevops | 5 - kconfigs/Kconfig.kernel-ci | 5 +- kconfigs/Kconfig.libvirt | 73 +- kconfigs/Kconfig.libvirt.largeio | 2 +- kconfigs/Kconfig.ssh | 6 +- kconfigs/workflows/Kconfig | 18 + kconfigs/workflows/Kconfig.data_partition | 8 +- kconfigs/workflows/Kconfig.shared | 4 - kdevops-ci | 1 + playbooks/install_vagrant_boxes.yml | 5 - .../blktests/augment_expunge_list.py | 3 +- .../workflows/fstests/augment_expunge_list.py | 5 +- .../ansible_cfg/templates/ansible.cfg.j2 | 5 + playbooks/roles/bootlinux/defaults/main.yml | 16 +- playbooks/roles/bootlinux/tasks/build/9p.yml | 205 +++++ .../roles/bootlinux/tasks/build/builder.yml | 264 +++++++ .../roles/bootlinux/tasks/build/targets.yml | 125 +++ playbooks/roles/bootlinux/tasks/config.yml | 38 + .../tasks/install-deps/redhat/main.yml | 34 + .../install-minimal-deps/debian/main.yml | 19 + .../tasks/install-minimal-deps/main.yml | 15 + .../install-minimal-deps/redhat/main.yml | 27 + .../tasks/install-minimal-deps/suse/main.yml | 13 + .../bootlinux/tasks/install/packages.yml | 41 + playbooks/roles/bootlinux/tasks/main.yml | 477 +----------- .../bootlinux/tasks/update-grub/install.yml | 128 +++- playbooks/roles/devconfig/defaults/main.yml | 2 +- .../devconfig/scripts/prepare_suse_repos.sh | 2 +- playbooks/roles/gen_hosts/defaults/main.yml | 3 + playbooks/roles/gen_hosts/tasks/main.yml | 16 +- .../roles/gen_hosts/templates/builder.j2 | 13 + playbooks/roles/gen_nodes/defaults/main.yml | 14 +- playbooks/roles/gen_nodes/tasks/main.yml | 24 +- .../roles/gen_nodes/templates/Vagrantfile.j2 | 478 ------------ .../kdevops_nodes_split_start.j2.yaml | 171 ----- .../roles/gen_pci_kconfig/tasks/main.yml | 2 +- .../roles/guestfs/tasks/bringup/main.yml | 10 + .../roles/install_vagrant_boxes/README.md | 46 -- .../install_vagrant_boxes/defaults/main.yml | 6 - .../scripts/add-box-if-missing.sh | 48 -- .../install_vagrant_boxes/tasks/main.yml | 49 -- playbooks/roles/terraform/tasks/main.yml | 70 +- .../roles/terraform/templates/ssh_config.j2 | 4 +- .../roles/update_ssh_config_vagrant/README.md | 66 -- .../defaults/main.yml | 13 - .../python/update_ssh_config.py | 1 - .../update_ssh_config_vagrant/tasks/main.yml | 69 -- .../update_ssh_config/.gitignore | 6 - .../update_ssh_config/.travis.yml | 12 - .../update_ssh_config/CONTRIBUTING | 49 -- .../update_ssh_config/LICENSE | 239 ------ .../update_ssh_config/Makefile | 15 - .../update_ssh_config/README.md | 159 ---- .../test_update_ssh_config.py | 417 ---------- .../tests/0001_remove_hosts_top.orig | 53 -- .../tests/0001_remove_hosts_top.res | 33 - .../tests/0002_remove_hosts_middle.orig | 53 -- .../tests/0002_remove_hosts_middle.res | 33 - .../tests/0003_remove_hosts_bottom.orig | 53 -- .../tests/0003_remove_hosts_bottom.res | 33 - .../tests/0004_remove_hosts_missing.orig | 33 - .../tests/0004_remove_hosts_missing.res | 33 - .../tests/0005_remove_hosts_similar.orig | 53 -- .../tests/0005_remove_hosts_similar.res | 53 -- .../tests/0006_add_hosts_manual.orig | 33 - .../tests/0006_add_hosts_manual.res | 53 -- ..._remove_hosts_two_separate_ops_top.add.res | 53 -- ...add_remove_hosts_two_separate_ops_top.orig | 53 -- ...move_hosts_two_separate_ops_top.remove.res | 33 - .../0008_add_remove_hosts_one_shot_top.orig | 1 - .../0008_add_remove_hosts_one_shot_top.res | 1 - ..._hosts_vagrant_emulate_top.emulate_vagrant | 20 - .../0009_add_hosts_vagrant_emulate_top.orig | 1 - .../0009_add_hosts_vagrant_emulate_top.res | 53 -- ...rithms_vagrant_emulate_top.emulate_vagrant | 20 - ...sts_kexalgorithms_vagrant_emulate_top.orig | 53 -- ...osts_kexalgorithms_vagrant_emulate_top.res | 55 -- ...two_separate_ops_kexalgorithms_top.add.res | 55 -- ...ts_two_separate_ops_kexalgorithms_top.orig | 53 -- ..._separate_ops_kexalgorithms_top.remove.res | 33 - .../0012_add_remove_hosts_empty_file.res | 20 - .../update_ssh_config/update_ssh_config.py | 325 -------- .../update_ssh_config_vagrant/vars/main.yml | 1 - playbooks/terraform.yml | 3 +- playbooks/update_ssh_config_vagrant.yml | 4 - scripts/bringup.Makefile | 3 - scripts/bringup_vagrant.sh | 101 --- scripts/check_commit_format.py | 85 +++ scripts/check_distro_kconfig.sh | 6 +- scripts/check_pciepassthrough_kconfig.sh | 6 +- scripts/ci.Makefile | 8 + scripts/destroy_vagrant.sh | 30 - scripts/detect_whitespace_issues.py | 109 +++ scripts/dynamic-pci-kconfig.Makefile | 4 +- scripts/fix_whitespace_issues.py | 137 ++++ scripts/gen-nodes.Makefile | 5 - scripts/get-distro-default-bridge.sh | 11 +- scripts/provision.Makefile | 4 - scripts/prune_stale_vagrant.sh | 164 ---- scripts/status_terraform.sh | 17 - scripts/terraform.Makefile | 12 +- scripts/tests.Makefile | 1 - scripts/vagrant.Makefile | 109 --- scripts/workflows/generic/run_kernel_ci.sh | 4 +- terraform/azure/kconfigs/Kconfig.storage | 1 + terraform/azure/main.tf | 2 +- vagrant/.gitignore | 2 - vagrant/Kconfig | 295 ------- vagrant/Kconfig.debian | 46 -- vagrant/Kconfig.fedora | 29 - vagrant/Kconfig.kdevops | 42 - vagrant/Kconfig.opensuse | 144 ---- vagrant/Kconfig.pcie_passthrough_libvirt | 53 -- workflows/blktests/Kconfig | 9 +- workflows/demos/reboot-limit/Makefile | 2 +- workflows/fstests/Kconfig | 2 - .../xfs/unassigned/fstests-next-20230515 | 347 --------- .../expunges/any/nfs/unassigned/all.txt | 5 + workflows/fstests/xfs/Kconfig | 2 - workflows/linux/Kconfig | 90 ++- workflows/linux/Kconfig.linus | 1 - workflows/linux/Kconfig.mcgrof | 1 - workflows/linux/Kconfig.modules | 1 - workflows/linux/Kconfig.next | 1 - workflows/linux/Kconfig.stable | 1 - workflows/linux/Kconfig.vfs | 1 - workflows/linux/Kconfig.xfs | 1 - workflows/linux/Makefile | 5 +- 141 files changed, 2287 insertions(+), 6157 deletions(-) rename vagrant/Kconfig.suse => Kconfig.passthrough_libvirt.generated (100%) delete mode 100644 docs/custom-vagrant-boxes.md delete mode 100644 docs/kdevops-vagrant.md delete mode 100644 docs/the-gen-nodes-ansible-role-vagrant.md delete mode 100644 docs/why-vagrant.md create mode 160000 kdevops-ci delete mode 100644 playbooks/install_vagrant_boxes.yml create mode 100644 playbooks/roles/bootlinux/tasks/build/9p.yml create mode 100644 playbooks/roles/bootlinux/tasks/build/builder.yml create mode 100644 playbooks/roles/bootlinux/tasks/build/targets.yml create mode 100644 playbooks/roles/bootlinux/tasks/config.yml create mode 100644 playbooks/roles/bootlinux/tasks/install-minimal-deps/debian/main.yml create mode 100644 playbooks/roles/bootlinux/tasks/install-minimal-deps/main.yml create mode 100644 playbooks/roles/bootlinux/tasks/install-minimal-deps/redhat/main.yml create mode 100644 playbooks/roles/bootlinux/tasks/install-minimal-deps/suse/main.yml create mode 100644 playbooks/roles/bootlinux/tasks/install/packages.yml create mode 100644 playbooks/roles/gen_hosts/templates/builder.j2 delete mode 100644 playbooks/roles/gen_nodes/templates/Vagrantfile.j2 delete mode 100644 playbooks/roles/gen_nodes/templates/kdevops_nodes_split_start.j2.yaml delete mode 100644 playbooks/roles/install_vagrant_boxes/README.md delete mode 100644 playbooks/roles/install_vagrant_boxes/defaults/main.yml delete mode 100755 playbooks/roles/install_vagrant_boxes/scripts/add-box-if-missing.sh delete mode 100644 playbooks/roles/install_vagrant_boxes/tasks/main.yml delete mode 100644 playbooks/roles/update_ssh_config_vagrant/README.md delete mode 100644 playbooks/roles/update_ssh_config_vagrant/defaults/main.yml delete mode 120000 playbooks/roles/update_ssh_config_vagrant/python/update_ssh_config.py delete mode 100644 playbooks/roles/update_ssh_config_vagrant/tasks/main.yml delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/.gitignore delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/.travis.yml delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/CONTRIBUTING delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/LICENSE delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/Makefile delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/README.md delete mode 100755 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/test_update_ssh_config.py delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0001_remove_hosts_top.orig delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0001_remove_hosts_top.res delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0002_remove_hosts_middle.orig delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0002_remove_hosts_middle.res delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0003_remove_hosts_bottom.orig delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0003_remove_hosts_bottom.res delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0004_remove_hosts_missing.orig delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0004_remove_hosts_missing.res delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0005_remove_hosts_similar.orig delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0005_remove_hosts_similar.res delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0006_add_hosts_manual.orig delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0006_add_hosts_manual.res delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0007_add_remove_hosts_two_separate_ops_top.add.res delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0007_add_remove_hosts_two_separate_ops_top.orig delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0007_add_remove_hosts_two_separate_ops_top.remove.res delete mode 120000 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0008_add_remove_hosts_one_shot_top.orig delete mode 120000 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0008_add_remove_hosts_one_shot_top.res delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0009_add_hosts_vagrant_emulate_top.emulate_vagrant delete mode 120000 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0009_add_hosts_vagrant_emulate_top.orig delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0009_add_hosts_vagrant_emulate_top.res delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0010_add_hosts_kexalgorithms_vagrant_emulate_top.emulate_vagrant delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0010_add_hosts_kexalgorithms_vagrant_emulate_top.orig delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0010_add_hosts_kexalgorithms_vagrant_emulate_top.res delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0011_add_remove_hosts_two_separate_ops_kexalgorithms_top.add.res delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0011_add_remove_hosts_two_separate_ops_kexalgorithms_top.orig delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0011_add_remove_hosts_two_separate_ops_kexalgorithms_top.remove.res delete mode 100644 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/tests/0012_add_remove_hosts_empty_file.res delete mode 100755 playbooks/roles/update_ssh_config_vagrant/update_ssh_config/update_ssh_config.py delete mode 100644 playbooks/roles/update_ssh_config_vagrant/vars/main.yml delete mode 100644 playbooks/update_ssh_config_vagrant.yml delete mode 100755 scripts/bringup_vagrant.sh create mode 100755 scripts/check_commit_format.py delete mode 100755 scripts/destroy_vagrant.sh create mode 100755 scripts/detect_whitespace_issues.py create mode 100755 scripts/fix_whitespace_issues.py delete mode 100755 scripts/prune_stale_vagrant.sh delete mode 100755 scripts/status_terraform.sh delete mode 100644 scripts/vagrant.Makefile delete mode 100644 vagrant/.gitignore delete mode 100644 vagrant/Kconfig delete mode 100644 vagrant/Kconfig.debian delete mode 100644 vagrant/Kconfig.fedora delete mode 100644 vagrant/Kconfig.kdevops delete mode 100644 vagrant/Kconfig.opensuse delete mode 100644 vagrant/Kconfig.pcie_passthrough_libvirt delete mode 100644 workflows/fstests/expunges/6.4.0-rc2-next-20230515/xfs/unassigned/fstests-next-20230515 -- 2.47.2