You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add support for downloading and staging updates without automatic
application on reboot. This allows users to prepare updates and apply
them at a controlled time.
User-facing changes:
- Add --download-only flag to bootc upgrade command
- bootc upgrade --download-only: locks staged deployment
- bootc upgrade (no flags): unlocks locked staged deployment
- bootc upgrade --apply: unlocks and immediately reboots
- bootc upgrade --check: read-only, doesn't change lock state
- bootc status --verbose: shows "Locked: yes/no" for staged deployments
Implementation details:
- Internally uses OSTree finalization locking APIs
- Sets opts.locked in SysrootDeployTreeOpts when staging deployments
- Added change_finalization() method to SysrootLock wrapper
- Handles lock state transitions for existing staged deployments
- Field name in BootEntry is finalization_locked for clarity
- Display name is shortened to "Locked" for user convenience
- Uses deployment.is_finalization_locked() API (OSTree v2023.8+)
Testing and documentation:
- Added TMT integration test (test-upgrade-download-only.nu)
- Test verifies 3-boot workflow: lock, reboot (stays old), unlock, reboot (applies)
- Updated docs/src/upgrades.md with comprehensive workflow examples
- Generated man pages and JSON schemas updated
The download-only flag is only available for upgrade, not switch.
The implementation is designed to support future composefs backend.
Assisted-by: Claude Code (Sonnet 4.5)
Signed-off-by: Wei Shi <wshi@redhat.com>
0 commit comments