bootc icon indicating copy to clipboard operation
bootc copied to clipboard

ci: rework testing farm to use cloud takeover, not libvirt

Open cgwalters opened this issue 1 year ago • 9 comments

Today our packit/tmt/testing-farm code ends up using the bootc provisioner which uses libvirt. In some cases this is convenient.

However, I think we should try to actually switch over to a replace workflow by default. This would have more impact on the tmt side I think, but it should dramatically improve the reliability and flexibility of our CI because we'll drop out bare metal (or at least nested virt) requirements.

(The nested virt is a whole separate thing to try to get into testing farm)

cgwalters avatar Dec 20 '24 16:12 cgwalters

@henrywang can you summarize the issues seen with trying to do tmt with this flow?

cgwalters avatar Mar 06 '25 16:03 cgwalters

OK wow I just found out that Github Actions has supported /dev/kvm in the default runners for literally years

cgwalters avatar Mar 12 '25 21:03 cgwalters

I'm trying this workflow: request image mode TF runner with CentOS-Stream-9-image-mode compose. And build integration test image inside this runner, then bootc switch to this new image, then run integration test.

In this case, our test does not need nested virtualization TF runner any more.

henrywang avatar Mar 13 '25 01:03 henrywang

Here's my bootc install on TMT package mode VM result: https://github.com/henrywang/tmt-bootc-install-switch/issues/1

And bootc switch works in TMT. I mean deploy image mode VM with TMT -> build image -> bootc switch.

henrywang avatar Mar 14 '25 14:03 henrywang

Okey, commit https://github.com/henrywang/tmt-bootc-install-switch/commit/6ced2bdd1555c96748a859346cf2cd7f4dc7a7f0 fixed issue.

I'll run this kind of test on QE CI for stability.

henrywang avatar Mar 14 '25 16:03 henrywang

Now running on Testing Farm works. TF artifacts: https://artifacts.osci.redhat.com/testing-farm/d88be6ff-2281-4f49-9cdf-e8dc7a62fde9/

henrywang avatar Mar 16 '25 09:03 henrywang

Now running on Testing Farm works. TF artifacts: https://artifacts.osci.redhat.com/testing-farm/d88be6ff-2281-4f49-9cdf-e8dc7a62fde9/

Awesome!

So as an incremental first step, WDYT about changing the tmt tests in this repo to do this?

cgwalters avatar Mar 17 '25 20:03 cgwalters

I group bootc install, upgrade, switch tests together as base line test with this new method. Things looks great! Test runs much faster than before. https://artifacts.osci.redhat.com/testing-farm/c5ec3337-af4d-46fa-93b3-d689623c933f/.

Yeah, I sent a MR https://gitlab.com/fedora/bootc/tests/bootc-workflow-test/-/merge_requests/601 to add this method in QE CI to try its stability. Let's run it this week. I'll update this repo next week if everything works well.

It's near GA, so I don't want to break things due to this change.

henrywang avatar Mar 18 '25 13:03 henrywang

At least as far as this upstream git repo, I think it's a fine time to make changes; in practice we'll probably need to cherry-pick changes to any frozen downstreams anyways.

cgwalters avatar Mar 18 '25 14:03 cgwalters

This was done.

cgwalters avatar May 29 '25 21:05 cgwalters