Skip to content

Conversation

ckyrouac
Copy link
Collaborator

@ckyrouac ckyrouac commented Sep 5, 2025

This is a rebased version of #1389 with some fixes on top to make bootc install reset --experimental work with the latest soft reboot code. I'd like to get this in hidden behind --experimental, then iterate on it. I plan to add some e2e tests as a followup but I can work on including them as part of this PR if you want.

This is a nondestructive variant of `to-existing-root`.

Signed-off-by: Colin Walters <[email protected]>
@ckyrouac ckyrouac requested a review from cgwalters September 5, 2025 15:23
Also cleans up some bugs from rebasing previous commits.
This is currently used to signal to `bootc status` that the deployment
is a factory reset and doesn't support soft reboot. Otherwise, the soft
reboot code will throw an exception due to mismatched kargs.

Signed-off-by: ckyrouac <[email protected]>
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a new experimental bootc install reset command, which appears to function as a factory reset. The implementation is well-structured, refactoring existing deployment logic to use a new MergeState enum, which is a clean way to handle different deployment sources. The changes also include new utilities for managing stateroots. I've found a couple of issues that need to be addressed before merging.

@cgwalters
Copy link
Collaborator

I think we'll want tests at least before merging, and supporting that with tmt is probably going to be an excellent driver for the feature.

I haven't dug in but I think tmt is relying on injecting ssh keys w/cloud-init, so it might Just Work to do a reset there?

@ckyrouac ckyrouac marked this pull request as draft September 8, 2025 12:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants