kdevops.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: Jeff Layton <jlayton@kernel.org>
To: Luis Chamberlain <mcgrof@kernel.org>
Cc: kdevops@lists.linux.dev
Subject: Re: [PATCH kdevops v3 0/5] guestfs: replacement for vagrant in kdevops
Date: Mon, 11 Dec 2023 09:12:34 -0500	[thread overview]
Message-ID: <97c7feb60a4d72d0e96bf8007ba1b9aef9d63ab4.camel@kernel.org> (raw)
In-Reply-To: <20231211-guestfs-v3-0-2811a6a0576d@kernel.org>

On Mon, 2023-12-11 at 07:20 -0500, Jeff Layton wrote:
> As we discussed recently at LPC, Vagrant is unmaintained and needs
> replacement. This patchset implements a new "bringup" method alongside
> Vagrant and Terraform, that uses libguestfs tools to create an image and
> then has libvirt launch them directly:
> 
>     https://libguestfs.org/
> 
> The first 3 patches are cleanup patches that try to rework various
> variable names to not have "VAGRANT" or "vagrant" embedded in them.
> The last patch implements the new bringup method.
> 
> There may be some (hopefully minor) breakage to existing .config files
> due to the first patch. I detailed the reasons why I think it's benign
> in the changelog, but there is some risk there.
> 

Sorry, I never updated this part of the cover letter in b4...

The kconfig breakage in this version will _not_ be minor. People using
vagrant _will_ need to respin their kconfigs once we merge the first
patch in this series. Vagrant should still work fine after respinning
your configs.

My thinking at this point is that we're eventually going to need to do
this anyway, so we might as well get it over with.


> guestfs is not yet at feature parity yet with Vagrant:
> 
> - Fedora works for me, but the Debian image is _very_ minimal and seems
>   to lack some things that kdevops expects. I haven't tested opensuse
>   either.
> - The XML template needs more work, particularly to handle more complex
>   setups like PCI passthrough and CXL. Only the basic storage options
>   currently work. Things like ZNS or large storage options haven't
>   been implemented yet.
> - I didn't try to convert the maze of menus for the distro selection. You
>   have to set the os-version string for virt-builder in a single option.
>   I tend to think of this as a feature, but I'm open to other opinions.
> - It needs "firstrun" work to help the user ensure that the correct
>   packages are installed for new bringup method.
> 
> Patches from others are welcome for all of the above.
> 
> Signed-off-by: Jeff Layton <jlayton@kernel.org>
> ---
> Changes in v3:
> - cleaner separation between guestfs and vagrant
> - should now work with custom QEMU
> - more thorough Kconfig symbol renaming. This will break existing
>   kconfigs so they will need to be regenerated
> - guests now have no graphical console -- serial console only
> - serial consoles are now logged (so we should be able to catch oopses)
> - Link to v2: https://lore.kernel.org/r/20231208-guestfs-v2-0-082c11a3a0af@kernel.org
> 
> Changes in v2:
> - give guestfs its own makefile instead of piggybacking on vagrant's
> - do a more thorough conversion to remove VAGRANT from various variable
>   names in kconfigs and makefiles
> 
> ---
> Jeff Layton (5):
>       kconfig: move libvirt settings to a new file
>       nfsd: key off of LIBVIRT instead of VAGRANT for storage config
>       data_partition: make kconfig dependent on LIBVIRT instead of VAGRANT
>       bringup: rename the RHEL registration settings
>       guestfs: add a new local guest management variant
> 
>  Makefile                                           |    4 +
>  Makefile.kdevops                                   |   14 +-
>  defconfigs/cxl-switch                              |    2 +-
>  kconfigs/Kconfig.bringup                           |   25 +
>  kconfigs/Kconfig.libvirt                           | 1431 +++++++++++++++++++
>  kconfigs/Kconfig.nfsd                              |   12 +-
>  kconfigs/workflows/Kconfig.data_partition          |    8 +-
>  playbooks/roles/devconfig/defaults/main.yml        |    4 +-
>  .../devconfig/tasks/install-deps/redhat/main.yml   |    8 +-
>  playbooks/roles/gen_nodes/defaults/main.yml        |    3 +-
>  playbooks/roles/gen_nodes/tasks/main.yml           |   30 +
>  playbooks/roles/gen_nodes/templates/Vagrantfile.j2 |   16 +-
>  .../roles/gen_nodes/templates/guestfs_nodes.j2     |    3 +
>  .../roles/gen_nodes/templates/guestfs_q35.j2.xml   |  223 +++
>  .../roles/pynfs/tasks/install-deps/redhat/main.yml |    4 +-
>  scripts/bringup.Makefile                           |    7 +-
>  scripts/bringup_guestfs.sh                         |   91 ++
>  scripts/bringup_vagrant.sh                         |    2 +-
>  scripts/destroy_guestfs.sh                         |   29 +
>  scripts/gen-nodes.Makefile                         |   16 +-
>  scripts/guestfs.Makefile                           |   88 ++
>  scripts/prune_stale_vagrant.sh                     |    2 +-
>  scripts/update_ssh_config_guestfs.py               |   94 ++
>  scripts/vagrant.Makefile                           |   22 +-
>  vagrant/Kconfig                                    | 1455 +-------------------
>  vagrant/Kconfig.fedora                             |   10 +-
>  workflows/blktests/Kconfig                         |    2 +-
>  workflows/fstests/Kconfig                          |    4 +-
>  workflows/linux/Kconfig                            |    2 +-
>  workflows/linux/Kconfig.kdevops                    |    2 +-
>  workflows/linux/Kconfig.linus                      |    4 +-
>  workflows/linux/Kconfig.mcgrof                     |    4 +-
>  workflows/linux/Kconfig.next                       |    4 +-
>  workflows/linux/Kconfig.stable                     |    4 +-
>  34 files changed, 2100 insertions(+), 1529 deletions(-)
> ---
> base-commit: b5ed5b095795155a3ff2e40958ca78b6f9a030c4
> change-id: 20231206-guestfs-6b1c230f6b6f
> 
> Best regards,

-- 
Jeff Layton <jlayton@kernel.org>

      parent reply	other threads:[~2023-12-11 14:12 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-11 12:20 [PATCH kdevops v3 0/5] guestfs: replacement for vagrant in kdevops Jeff Layton
2023-12-11 12:20 ` [PATCH kdevops v3 1/5] kconfig: move libvirt settings to a new file Jeff Layton
2023-12-11 12:20 ` [PATCH kdevops v3 2/5] nfsd: key off of LIBVIRT instead of VAGRANT for storage config Jeff Layton
2023-12-11 12:20 ` [PATCH kdevops v3 3/5] data_partition: make kconfig dependent on LIBVIRT instead of VAGRANT Jeff Layton
2023-12-11 12:20 ` [PATCH kdevops v3 4/5] bringup: rename the RHEL registration settings Jeff Layton
2023-12-11 12:20 ` [PATCH kdevops v3 5/5] guestfs: add a new local guest management variant Jeff Layton
2023-12-11 14:12 ` Jeff Layton [this message]

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=97c7feb60a4d72d0e96bf8007ba1b9aef9d63ab4.camel@kernel.org \
    --to=jlayton@kernel.org \
    --cc=kdevops@lists.linux.dev \
    --cc=mcgrof@kernel.org \
    /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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).