Skip to content

Support for soft reboots #1350

@cgwalters

Description

@cgwalters

This will build on ostreedev/ostree#3420 and we're hoping to land this by at least the Fedora 43 timeframe.


TODO:

  • update to newer ostree rust APIs
  • Expose in status whether we are capable of soft reboots to the staged deployment
  • use api to detect soft reboot capable (ostree)
  • handle case where kargs are different on the container image than local state /usr/lib/bootc/kargs.d. (bootc)
  • Debug prepare-root: boot is kept writable ostreedev/ostree#3365
  • Debug [ 388.410231] systemd[1]: Failed to load new SELinux policy. Continuing with old policy. (this may be a serious problem!)
  • UNDO: bootc upgrade --apply should automatically use soft reboots if capable (detect via new API); though we may need an opt-out flag for unusual cases bootc upgrade --apply --skip-soft-reboot?
  • Handle cases (RHEL9) where soft reboot is not supported by systemd (detect missing soft-reboot.target)
  • Opt-in and opt-out mechanisms (see below)

Detailed API

We need more sophistication for agent-driven cases that want precise control over the flow of every step in:

Opt-in soft reboots

  • systemctl enable bootc-soft-reboot.service
  • CLI flag bootc upgrade --queue-soft-reboot? (Problem: tools like flightctl, gnome-software etc. would all need to learn how to opt in to this) - this just calls systemctl enable --runtime bootc-soft-reboot.service

Precedent: rhsm-publish-facts.service which monitors bootc state for modifications

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions