From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 AEF652750FB for ; Fri, 30 May 2025 17:52:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748627552; cv=none; b=irTqg0FFcUO8DZuHNj9qSVqDPF2EiWwnpoHejQfnGJVWqSAu5k/8SfGH8kthYEGFBOeOV7Ym4s8ABb78Q+8RGMhXvAKVHS3v3FIf1uVz6pNPfursLJkpOJh0tXX8fNpBMc3IRaEcbY8yNm4u8m/r1hnBTMedVc/emLf9mz6TQHg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748627552; c=relaxed/simple; bh=N6KSLAlgPzLHCvhHtulsxxNu/YuGeAdjutHwg1Oabq4=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=BD3t0cG9Nr8aQ9s8mJQTTol6b7r3yn1tJ1wPUCcAdkT7yIzdnz8Fk8aaY0l/HETvRKoOTHEVHbHPveampD6oLzffLfk5BURCK1yguL88zgOyKdjPvbtOByo+jQe/3vQQVdhpaudSpcsOYGN5owOS9/SKDGTwUQPD+7u8WBHgB2o= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=fBs+LvuJ; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="fBs+LvuJ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4E5E3C4CEE9; Fri, 30 May 2025 17:52:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1748627552; bh=N6KSLAlgPzLHCvhHtulsxxNu/YuGeAdjutHwg1Oabq4=; h=From:To:Cc:Subject:Date:From; b=fBs+LvuJnBm+gB3wMMIVFyvIb2/7f04F5h74eVTLVsA61YBTxUKcRTh8JY7ZQEjMG pAHICFB90CAkSl9Fl71v/iidTzIn6ZX1L5C5yB1rwva5Zxr4Nvafi/phS65sCYzzYz Vg97t7qg3gBmUhiQWFtHpCBYz7/dXXWvz/wSIr268VCRRrKKRAL0w0DdBujG9Y3AYN MzLXl+cHpHZxMk6AKiODatzH/+ojNljqbjnH/Clsmk6KZVPOmR20tw0/klO/bDg5Gr iCg46B6zbbDEi+cHOwsGwa9bOoyeJbAqepoYH33jZK9iHHS6oio1f/6NP9CU15Tg/s kkNMTY84LsaaA== From: Chuck Lever To: Cc: Chuck Lever Subject: [PATCH v2 00/12] Convert bringup_guestfs to a single Ansible role Date: Fri, 30 May 2025 13:52:17 -0400 Message-ID: <20250530175229.489925-1-cel@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 From: Chuck Lever This series demonstrates some ideas about how libvirt/guestfs bring- up might be expressed using only Ansible (ie. with a minimal use of shell scripting). Benefits include: - Starting guests is now done in parallel - "make bringup" is more idempotent - Lets us create utilities that both guestfs and Terraform can use The new parts that handle custom upstream images has not yet been tested. Changes since RFC: - All of bringup_guestfs.sh has now been converted to Ansible - Remove the old code as the last step in the series - Reorganize the series to reduce the size of each patch - Modernize steps that Ansible can now do with builtin modules Chuck Lever (12): guestfs: Replace scripts/destroy_guestfs.sh with an Ansible playbook Move the guestfs install-deps to the guestfs playbook guestfs: Do not use the config-check tag guestfs: Add a "bringup" tag to the guestfs role guestfs: Copy "network" tag steps to guestfs role guestfs: Move the QEMU_GROUP check Add a base-image role guestfs: Convert scripts/bringup_guestfs.sh to Ansible guestfs: Move console-related steps to guestfs role bringup_guestfs: Remove the role scripts: Remove the bringup_guestfs.sh script scripts: Remove the destroy_guestfs.sh script .gitignore | 1 + playbooks/base_image.yml | 7 + playbooks/bringup_guestfs.yml | 4 - playbooks/guestfs.yml | 7 + playbooks/roles/base_image/README.md | 45 ++ playbooks/roles/base_image/defaults/main.yml | 7 + .../roles/base_image/tasks/base-image.yml | 80 ++++ .../roles/base_image/tasks/custom-image.yml | 159 +++++++ playbooks/roles/base_image/tasks/main.yml | 19 + .../base_image/templates/custom-index.j2 | 2 + .../base_image/templates/custom-source.j2 | 3 + .../base_image/templates/virt-builder.j2 | 77 ++++ .../roles/bringup_guestfs/defaults/main.yml | 12 - .../tasks/install-deps/main.yml | 17 - .../roles/bringup_guestfs/tasks/main.yml | 243 ----------- playbooks/roles/guestfs/defaults/main.yml | 5 + .../tasks/bringup/console-permissions.yml | 31 ++ .../guestfs/tasks/bringup/extra-disks.yml | 16 + .../roles/guestfs/tasks/bringup/largeio.yml | 11 + .../roles/guestfs/tasks/bringup/main.yml | 132 ++++++ .../roles/guestfs/tasks/bringup/network.yml | 83 ++++ .../tasks/bringup/storage-pool-path.yml | 92 ++++ playbooks/roles/guestfs/tasks/destroy.yml | 32 ++ .../tasks/install-deps/debian/main.yml | 3 +- .../roles/guestfs/tasks/install-deps/main.yml | 21 + .../tasks/install-deps/redhat/main.yml | 5 +- .../tasks/install-deps/suse/main.yml | 3 +- playbooks/roles/guestfs/tasks/main.yml | 67 +++ scripts/bringup_guestfs.sh | 399 ------------------ scripts/destroy_guestfs.sh | 36 -- scripts/guestfs.Makefile | 23 +- 31 files changed, 911 insertions(+), 731 deletions(-) create mode 100644 playbooks/base_image.yml delete mode 100644 playbooks/bringup_guestfs.yml create mode 100644 playbooks/guestfs.yml create mode 100644 playbooks/roles/base_image/README.md create mode 100644 playbooks/roles/base_image/defaults/main.yml create mode 100644 playbooks/roles/base_image/tasks/base-image.yml create mode 100644 playbooks/roles/base_image/tasks/custom-image.yml create mode 100644 playbooks/roles/base_image/tasks/main.yml create mode 100644 playbooks/roles/base_image/templates/custom-index.j2 create mode 100644 playbooks/roles/base_image/templates/custom-source.j2 create mode 100644 playbooks/roles/base_image/templates/virt-builder.j2 delete mode 100644 playbooks/roles/bringup_guestfs/defaults/main.yml delete mode 100644 playbooks/roles/bringup_guestfs/tasks/install-deps/main.yml delete mode 100644 playbooks/roles/bringup_guestfs/tasks/main.yml create mode 100644 playbooks/roles/guestfs/defaults/main.yml create mode 100644 playbooks/roles/guestfs/tasks/bringup/console-permissions.yml create mode 100644 playbooks/roles/guestfs/tasks/bringup/extra-disks.yml create mode 100644 playbooks/roles/guestfs/tasks/bringup/largeio.yml create mode 100644 playbooks/roles/guestfs/tasks/bringup/main.yml create mode 100644 playbooks/roles/guestfs/tasks/bringup/network.yml create mode 100644 playbooks/roles/guestfs/tasks/bringup/storage-pool-path.yml create mode 100644 playbooks/roles/guestfs/tasks/destroy.yml rename playbooks/roles/{bringup_guestfs => guestfs}/tasks/install-deps/debian/main.yml (78%) create mode 100644 playbooks/roles/guestfs/tasks/install-deps/main.yml rename playbooks/roles/{bringup_guestfs => guestfs}/tasks/install-deps/redhat/main.yml (62%) rename playbooks/roles/{bringup_guestfs => guestfs}/tasks/install-deps/suse/main.yml (71%) create mode 100644 playbooks/roles/guestfs/tasks/main.yml delete mode 100755 scripts/bringup_guestfs.sh delete mode 100755 scripts/destroy_guestfs.sh -- 2.49.0