Linux maintainer tooling and workflows
 help / color / mirror / Atom feed
From: Daniel Gomez <da.gomez@kernel.org>
To: Chuck Lever <cel@kernel.org>, Daniel Gomez <da.gomez@kernel.org>,
	Luis Chamberlain <mcgrof@kernel.org>,
	Jeff Layton <jlayton@kernel.org>
Cc: kdevops@lists.linux.dev, tools@kernel.org,
	GOST <gost.dev@samsung.com>, Josef Bacik <josef@toxicpanda.com>,
	Amir Goldstein <amir73il@gmail.com>,
	Carlos Maiolino <cem@kernel.org>,
	Chandan Babu R <chandanbabu@kernel.org>,
	David Sterba <dsterba@suse.com>,
	Song Liu <liu.song.a23@gmail.com>,
	Scott Mayhew <smayhew@redhat.com>,
	Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>,
	Konstantin Ryabitsev <mricon@kernel.org>
Subject: Re: kdevops-ng: graduating kdevops beyond Ansible
Date: Thu, 18 Jun 2026 23:58:52 +0200	[thread overview]
Message-ID: <5b9777ac-64e7-4e93-ba16-90d1077812f4@kernel.org> (raw)
In-Reply-To: <244ce59c-c2ad-46a6-9753-488a48063a74@app.fastmail.com>

On 18/06/2026 15.22, Chuck Lever wrote:
> 
> On Thu, Jun 18, 2026, at 5:30 AM, Daniel Gomez wrote:
> 
> + How much development effort is this? I have nearly zero time to
>   work on kdevops these days. Even with AI assistance, this seems
>   like an enormous task.

You're right that it's large, but not all of it needs to migrate. I
wouldn't move libvirt or libguestfs unless people actually want it; the
main thing that path buys you is the auto-generated UI [1].

Workflows could be migrated as-is, since Ansible is one of the languages
Windmill runs, but I think most of them are entangled with libvirt and
9p. If we're not migrating libvirt/libguestfs, porting the workflows
verbatim doesn't make sense either; the effort is better spent rewriting
them in whichever Windmill language fits (Bash, Python, Rust, ...). The
ones that are already decoupled should convert fairly straightforwardly.

One thing I should have made clearer in the cover: I lean on systemd as
the process manager, not just for QSU (QEMU in systemd), but also to run
the test suites themselves, e.g. the fstests check script as a systemd
unit. That keeps the "scripts" simple while still being powerful.

I do think the rewrite into Nix/Windmill (Bash/Python/Rust/whatever)
plus systemd is worth it. Until then, both worlds can coexist.

Link: https://www.windmill.dev/docs/script_editor/customize_ui [1]

> 
> + Also as a user of kdevops, this means I would have to spend a
>   lot of time I don't have learning the new configuration shapes
>   and figuring out how to migrate my current CI to them. That's
>   not inviting.

Agreed, the learning curve is real. The upside is that migrating also
gives you CI essentially for free: the same flows, run on Windmill's
workers and schedules, are the CI.

> 
> + What would cloud support look like in a post-Ansible world? I>   don't think Nix has impact on the cloud aspect of kdevops, and this

Correct.


>   proposal seems to shift Nix into the role of the primary kdevops
>   virtualization method. 

Correct.

> Should we simply split kdevops into an "all
>   local virtualization" project and an "all cloud virtualization"
>   project that go their separate ways? Tying cloud and local together
>   seems to be a frequent source of chafing.

Good question. The same tension arguably applies to the Nix/QSU world
versus the Debian/Fedora/openSUSE + libvirt/libguestfs world. But I
don't think kdevops is really about which tools you use underneath; it's
a broader framework and idea, the same principles applied as a
kernel-development framework whatever the technology beneath. So rather
than splitting by tooling, I'd keep the framework and let the backends
differ.

> 
> + I'd rather see a focus on addressing the technical debt of
>   continuing to support distributions that no one uses any more,
>   and moving away from requiring root to run local virtualization
>   by installing kdevops from a package. 

That's exactly why QSU was merged, and I'm very happy with the
transition. Guests now run as systemd user services with virtiofsd
instead of 9p, with all the QEMU knobs I need and KVM acceleration, and
no libvirt permissions or qemu:///session vs qemu:///system headaches.

That said, fully unwiring the controller setup and the sudo escalations
is tedious, significant work for relatively little reward. I do reach
this paths even with QSU.


> Those are narrower work
>   items that offer a bigger bang-for-buck. (You might argue that
>   Nix solves the latter problem already).

Roughly, yes: Nix solves the reproducibility part, on both the
controller and guest sides, and QSU sidesteps the libvirt permission and
SELinux/apparmor sudo configuration steps.

BTW, on the cloud side with Nix I came across terranix [2], which lets
you describe Terraform/Opentofu infrastructure in the Nix language. And
either way, once a cloud guest is up you can just install Nix on it and
run the same paths as in local virtualization, so the workflow layer is
identical regardless of which deployment users choose. Only the bringup
differs.

Link: https://terranix.org/docs/what-is-terranix/ [2]

  parent reply	other threads:[~2026-06-18 21:58 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-18  9:30 kdevops-ng: graduating kdevops beyond Ansible Daniel Gomez
2026-06-18 12:31 ` Jeff Layton
2026-06-18 21:52   ` Daniel Gomez
2026-06-18 13:22 ` Chuck Lever
2026-06-18 14:02   ` Jeff Layton
2026-06-18 21:58   ` Daniel Gomez [this message]
  -- strict thread matches above, loose matches on Subject: below --
2026-07-01  8:22 Daniel Gomez

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=5b9777ac-64e7-4e93-ba16-90d1077812f4@kernel.org \
    --to=da.gomez@kernel.org \
    --cc=amir73il@gmail.com \
    --cc=cel@kernel.org \
    --cc=cem@kernel.org \
    --cc=chandanbabu@kernel.org \
    --cc=dsterba@suse.com \
    --cc=gost.dev@samsung.com \
    --cc=jlayton@kernel.org \
    --cc=josef@toxicpanda.com \
    --cc=kdevops@lists.linux.dev \
    --cc=liu.song.a23@gmail.com \
    --cc=mcgrof@kernel.org \
    --cc=mricon@kernel.org \
    --cc=shinichiro.kawasaki@wdc.com \
    --cc=smayhew@redhat.com \
    --cc=tools@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