Skip to content

Add new zincati-update-now command#1259

Merged
jlebon merged 1 commit intocoreos:mainfrom
jlebon:pr/zincati-update-now
Feb 27, 2025
Merged

Add new zincati-update-now command#1259
jlebon merged 1 commit intocoreos:mainfrom
jlebon:pr/zincati-update-now

Conversation

@jlebon
Copy link
Member

@jlebon jlebon commented Feb 26, 2025

This addresses the gap identified in
#498 in a blunt way by setting some runtime config knobs so Zincati in effect immediately downloads, deploys, and reboots the system.

The motivation to at least have this for now is
#1241, which will purposely break rpm-ostree upgrade --bypass-driver. But clearly the approach here is applicable regardless of whether the node has switched to OCI.

In the future, this may either get replaced by a proper zincatictl entrypoint, or by better integration into the system's update tooling (e.g. bootc), so that bootc upgrade does the right thing.

This addresses the gap identified in
coreos#498 in a blunt way by setting
some runtime config knobs so Zincati in effect immediately downloads,
deploys, and reboots the system.

The motivation to at least have this for now is
coreos#1241, which will purposely break
`rpm-ostree upgrade --bypass-driver`. But clearly the approach here is
applicable regardless of whether the node has switched to OCI.

In the future, this may either get replaced by a proper `zincatictl`
entrypoint, or by better integration into the system's update tooling
(e.g. bootc), so that `bootc upgrade` does the right thing.
Copy link
Contributor

@prestist prestist left a comment

Choose a reason for hiding this comment

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

From a code perspective LGTM!

echo "WARN: This command is experimental and subject to change." >&2

# this should exist already, but in case
mkdir -p /run/zincati/config.d
Copy link
Contributor

Choose a reason for hiding this comment

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

So I am very much out of my depth here but I have to ask in what circumstance would this not exist but the services exist?
would that be an indication of other issues that might want to halt the update attempt ?

Copy link
Member

Choose a reason for hiding this comment

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

doubt it, I think this only means that somehow the tmpfiles.d fragment didn't run

@dustymabe
Copy link
Member

In the future, this may either get replaced by a proper zincatictl entrypoint

and I'm guessing we didn't name this zincatictl with a subcommand (i.e. zincatictl update-now) because you want to explicitly get away from painting us into a UI corner for something that was whipped up quickly?

@jlebon
Copy link
Member Author

jlebon commented Feb 27, 2025

In the future, this may either get replaced by a proper zincatictl entrypoint

and I'm guessing we didn't name this zincatictl with a subcommand (i.e. zincatictl update-now) because you want to explicitly get away from painting us into a UI corner for something that was whipped up quickly?

I didn't think of it that way quite exactly, but yes I did intend to very clearly emphasize the stopgap nature of this.

Copy link
Member

@jbtrystram jbtrystram left a comment

Choose a reason for hiding this comment

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

LGTM

@jlebon jlebon merged commit 08ae919 into coreos:main Feb 27, 2025
8 checks passed
@dustymabe
Copy link
Member

Tested this out and it seemed to work well!

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.

4 participants