From: Chuck Lever <cel@kernel.org>
To: <kdevops@lists.linux.dev>
Cc: Chuck Lever <chuck.lever@oracle.com>
Subject: [PATCH v2 00/12] Convert bringup_guestfs to a single Ansible role
Date: Fri, 30 May 2025 13:52:17 -0400 [thread overview]
Message-ID: <20250530175229.489925-1-cel@kernel.org> (raw)
From: Chuck Lever <chuck.lever@oracle.com>
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
next reply other threads:[~2025-05-30 17:52 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-30 17:52 Chuck Lever [this message]
2025-05-30 17:52 ` [PATCH v2 01/12] guestfs: Replace scripts/destroy_guestfs.sh with an Ansible playbook Chuck Lever
2025-05-30 17:52 ` [PATCH v2 02/12] Move the guestfs install-deps to the guestfs playbook Chuck Lever
2025-05-30 17:52 ` [PATCH v2 03/12] guestfs: Do not use the config-check tag Chuck Lever
2025-05-30 17:52 ` [PATCH v2 04/12] guestfs: Add a "bringup" tag to the guestfs role Chuck Lever
2025-05-30 17:52 ` [PATCH v2 05/12] guestfs: Copy "network" tag steps to " Chuck Lever
2025-05-30 17:52 ` [PATCH v2 06/12] guestfs: Move the QEMU_GROUP check Chuck Lever
2025-05-30 17:52 ` [PATCH v2 07/12] Add a base-image role Chuck Lever
2025-05-30 17:52 ` [PATCH v2 08/12] guestfs: Convert scripts/bringup_guestfs.sh to Ansible Chuck Lever
2025-05-30 17:52 ` [PATCH v2 09/12] guestfs: Move console-related steps to guestfs role Chuck Lever
2025-05-30 17:52 ` [PATCH v2 10/12] bringup_guestfs: Remove the role Chuck Lever
2025-05-30 17:52 ` [PATCH v2 11/12] scripts: Remove the bringup_guestfs.sh script Chuck Lever
2025-05-30 17:52 ` [PATCH v2 12/12] scripts: Remove the destroy_guestfs.sh script Chuck Lever
2025-06-03 19:29 ` [PATCH v2 00/12] Convert bringup_guestfs to a single Ansible role Luis Chamberlain
2025-06-04 14:29 ` Chuck Lever
2025-06-04 17:02 ` Luis Chamberlain
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250530175229.489925-1-cel@kernel.org \
--to=cel@kernel.org \
--cc=chuck.lever@oracle.com \
--cc=kdevops@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox