Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add docs for systemd-sysupdate #1129

Closed
pothos opened this issue Jul 20, 2023 · 9 comments
Closed

Add docs for systemd-sysupdate #1129

pothos opened this issue Jul 20, 2023 · 9 comments
Labels
area/sysext sysext roadmap kind/docs kind/feature A feature request

Comments

@pothos
Copy link
Member

pothos commented Jul 20, 2023

Current situation

systemd-sysupdate is an experimental new part of systemd for partition and extension updates. So far it landed in Flatcar Alpha but there are only upstream docs.

Impact

This makes it hard to Flatcar users to quickly see how to use this.

Ideal future situation

A part of the Flatcar sysext docs should show how to use systemd-sysupdate with Ignition examples.

Implementation options

The current-symlink setting should be used and because we don't want to clutter /etc/extensions/ with the version-suffixed images, we better store all versioned images of one extension in its folder, and set up a /etc/extensions/NAME.raw symlink to the current version in that folder.

Additional information

@tormath1
Copy link
Contributor

tormath1 commented Aug 3, 2023

@pothos
Copy link
Member Author

pothos commented Aug 29, 2023

First docs are in: https://www.flatcar.org/docs/latest/provisioning/sysext/#updating-custom-sysext-images
I think we should extend this a bit to use sysupdate components, otherwise the version can't be controlled well if two extensions should be updated.

@tormath1
Copy link
Contributor

@pothos do you think it could be something interesting for the upstream to have a systemd-sysupdate@.{service,timer} ?

@pothos
Copy link
Member Author

pothos commented Aug 29, 2023

Interesting idea. As alternative one could also work with ExecStartPre= drop-ins for the component updates and a ExecStartPost= drop-in to issue systemctl restart systemd-sysext systemd-confext.

@tormath1
Copy link
Contributor

Using ExecStartPre= drop-ins for each components won't avoid the ExecStart= to be executed from the systemd-sysupdate.service 🤔

@pothos
Copy link
Member Author

pothos commented Aug 29, 2023

Yes, I've added a noop.conf file now to silence the error message.

@pothos
Copy link
Member Author

pothos commented Aug 29, 2023

We should test the new update daemon service and see if that works for us.

@pothos
Copy link
Member Author

pothos commented Aug 29, 2023

Yes, I've added a noop.conf file now to silence the error message.

Another trick we could do is to symlink the service and timer units with a new name and use a drop-in to overwrite ExecStart=. But I kind of like to have only one timer/service to trigger for everything, and no custom unit names that people first have to learn about.

@pothos
Copy link
Member Author

pothos commented Aug 30, 2023

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/sysext sysext roadmap kind/docs kind/feature A feature request
Projects
None yet
Development

No branches or pull requests

2 participants