Feature: Rollbacks - cockpit-project/cockpit GitHub Wiki
As an administrator, I want to roll back to a previous state of the system if a software update didn't go as planned.
Notes
- uses Boot Manager
- Turn it on once and have it snapshot every update from then on (because once you need it, it's too late turn it on) and avoid mandatory interaction for each update
- add configuration of snapshotting on the page (in the Update History section) or possibly move history into a new subpage (but then consistently)
- if snapshotting is not enabled/used, keep the page and history as-is (or also move it to a subpage)
- if snapshotting is enabled, present one list for snapshots and history, and align the PackageKit history time stamps with the snapshot time stamps
- Auto-cleanup: avoid piling up an indefinite number of snapshots automatically: keep the most recent n (3?) snapshots, auto-delete the older ones when updating
- but also add a delete icon for manually creating them; if we can figure out a meaningful size, show it
- Have this apply to automatic updates as well, because that is where this becomes really powerful. For auto-updates: do the snapshotting there as well when enabled; but as they don't get recorded in the PackageKit history, just show the date/size, not the content
- For the admin to be able to identify the snapshot easier, store PackageKit timestamp in boom's human readable name; corrolate timestamp back with PK in the snapshot list
- Promt on manual update for when you're running out of space. Suggesting snapshots to delete there and then
- Applies to the root partition only
- Installs boom
- Auto-snapshot on an update (config setting? or on by default?)
- Manual snapshot perhaps?
Stories
Robert is a sysadmin at a medium sized IT company. They have a couple of file servers that he administers manually. After an upgrade of one of the systems, the file sharing is not working any more on one of the servers. He tracks it down to a system-breaking bug in the samba package. His colleagues needs to share their files, so he needs to get the system up and running again as soon as possible.
Workflows
As he's activated snapshotting the system on every update, Roberts rolls back the system to an earlier state and boots into that snapshot. The file sharing works as expected again. Hopefully the bug will be fixed in another update, but for now he's happy things are up and running again.
A while later he notices the system is running short on space on the root partition. He tracks it down to a three month old snapshot of the system. He has no need for this snapshot, so he deletes the snapshot and frees up the space.