update-manager btrfs integration improvements

Registered by Colin Watson

Improve the btrfs integration in update-manager.

Blueprint information

Status:
Complete
Approver:
Steve Langasek
Priority:
Low
Drafter:
Michael Vogt
Direction:
Approved
Assignee:
Michael Vogt
Definition:
Approved
Series goal:
Accepted for oneiric
Implementation:
Implemented
Milestone target:
None
Started by
Michael Vogt
Completed by
Michael Vogt

Related branches

Sprints

Whiteboard

Work items:
[mvo] auto-import latest apt-btrfs-snapshot during update-manager build: DONE
[mvo] calculate additional apt-btrfs-snapshot disk space on release-upgrade when doing the free-space check: DONE
[mvo] automatically cleaning up old apt-btrfs-snapshots via cron (e.g. 30 days): DONE
[mvo] ensure we don't delete recently used snapshots: DONE
add support to show/boot old snapshots into friendly-recovery: DONE
ensure that when a old snapshot is booted, inhibit grubs safe-defaults: POSTPONED
[csurbhi] get in touch with upstream about if we can use "set-default" instead of "@": TODO
[mvo] profile why btrfs feels slow with dpkg (fsync/syncfilerange issues ?), use LD_PRELOAD=libeatmydata: https://wiki.ubuntu.com/AptBtrfsSnapshot: DONE
[mvo] test speed of dpkg 1.16.0 on btrfs (https://wiki.ubuntu.com/AptBtrfsSnapshot): DONE
talk to dpkg/btrfs upstream how to improve the performance (looks like this is not actually needed?): POSTPONED
[mvo] because /home is on a seperate subvolume we may run into issues with gconf->gsettings, so we need to check that the old gconf stuff is kept around (gconf xml is still kept) : DONE
write a wiki page explaining why its good to avoid one way transitions of e.g. config files when apps get updated to avoid failure when e.g. /home is on nfs and used by multiple versions of the application (potentially bring up with debian-policy?) https://wiki.ubuntu.com/AvoidIncompatibleConfigTransitions: DONE

Notes from Oneiric planning:
- Auto-import latest apt-btrfs-snapshot on update-manager build.
- Calculate additional disk space.
- Support for booting upgrade snapshots? http://paste.ubuntu.com/590182/
Do any of these changes require a user interface? - mpt

Session notes: http://summit.ubuntu.com/uds-o/meeting/foundations-o-update-manager-btrfs/

Suggest taking a look at the similar work that Nexenta did integrating zfs snapshotting/cloning with apt. See the perl script for apt-clone [0] (and man page) within their modified apt source. apt-clone Creates a clone of the current root, and then proceeds with package action. Usage is identical to apt-get. (Too bad mvogt already used the same name for his utility [1] to clone the packages-state of a system and restore it on another system. apt-zfs-shapshot, anyone?)
[0]http://apt.nexenta.org/wip/dists/unstable/main/source/admin/apt_0.8.0nexenta8.tar.gz
[1]https://launchpad.net/ubuntu/+source/apt-clone

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.