zsys (0.5.9) jammy; urgency=medium [ Gabriel Nagy ] [ Jean-Baptiste Lallement ] [ Didier Roche ] * Take patched libzfs binding compatible with zfs 2.1 (LP: #1967585) -- Didier Roche Wed, 06 Apr 2022 10:44:54 +0200 zsys (0.5.8) hirsute; urgency=medium * Workaround deadlock with too many datasets Incrementing buffer size in go-libzfs to workaround operation deadlock while checking for datasets clones. #192. Thanks Anna Glasgall. * Add missing dep on zfs-zed on hirsute now that ZFS doesn’t dep on it. * Misc CI fixes, including upgrading to tested protobuf generator version. -- Didier Roche Tue, 06 Apr 2021 12:14:30 +0200 zsys (0.5.7) hirsute; urgency=medium * Use replaced version of go-libzfs by our own fork so that the openzfs 2 compability patch is directly available in tree for both: - build - autopkgtests * Remove any quilt usage and patch. -- Didier Roche Tue, 26 Jan 2021 14:41:55 +0100 zsys (0.5.6) hirsute; urgency=medium * ensure quilt patch is applied for this format 3.0 (native) -- Didier Roche Mon, 25 Jan 2021 15:00:41 +0100 zsys (0.5.5) hirsute; urgency=medium * debian/patches/01_golibzfs_zfs2.patch: - patch go-libzfs to be compatible with OpenZFS 2.0 -- Didier Roche Mon, 25 Jan 2021 11:40:19 +0100 zsys (0.5.4) hirsute; urgency=medium [ Jean-Baptiste Lallement ] * Deduplicate list of invalid characters in snapshot name If an invalid character appears multiple times in the name of a snapshot it was listed several times in the error message. This is a cosmetic fix to list each only once. -- Didier Roche Fri, 27 Nov 2020 10:31:01 +0100 zsys (0.5.3) hirsute; urgency=medium [ Jean-Baptiste Lallement ] [ Didier Roche ] * Prevent usage of forbidden characters (starting with -, spaces…) for state names (LP: #1903524) -- Didier Roche Tue, 17 Nov 2020 10:27:47 +0100 zsys (0.5.2) groovy; urgency=medium * Fix /boot/subdataset now being considered as persistent datasets (LP: #1897563) * Fix persistent dataset printing (LP: #1897565) -- Didier Roche Mon, 28 Sep 2020 14:39:07 +0200 zsys (0.5.1) groovy; urgency=medium * Fix ZSys package post-installation failed when boot pool is not imported (LP: #1886214) * Change ZSys GC to only keep one month (LP: #1889385) -- Didier Roche Wed, 29 Jul 2020 11:32:33 +0200 zsys (0.5.0) groovy; urgency=medium [ Jean-Baptiste Lallement ] [ Didier Roche ] * Fix infinite GC loop (LP: #1870461) * Enhance timeout handling to avoid error rpc error: code = DeadlineExceeded desc = context deadline exceeded while the daemon is doing work (LP: #1875564) * Stop taking automated or manual snapshot when there is less than 20% of free disk space (LP: #1876334) * Enable trim support for upgrading users (LP: #1881540) * Only clean up previously linked user datasets when unlinked under USERDATA (LP: #1881538) * Strategy for deleted user datasets via a new hidden command called by userdel (LP: #1870058) * Get better auto snapshots message when integrated to apt (LP: #1875420) * Update LastUsed on shutdown via a new hidden command service call (LP: #1881536) * Prevent segfault immediately after install when zfs kernel module isn't loaded (LP: #1881541) * Don’t try to autosave gdm user (and in general non system user), even if systemd --user is started for them. (LP: #1881539) * Prevent apt printing errors when zsys is removed without purge (LP: #1881535) * Some tests enhancements: - new tests for all the above - allow setting a different local socket for debugging/tests purposes only - ascii order datasets in golden files * Typos and messages fixes. Direct prints are not prefixed with INFO anymore. * Refreshed po and readme with the above. -- Didier Roche Mon, 01 Jun 2020 09:26:52 +0200 zsys (0.4.5) focal; urgency=medium * Fix user creation and rename integration (LP: #1873263) * Close socket when the service stops (thanks blkeller) -- Didier Roche Thu, 16 Apr 2020 15:54:23 +0200 zsys (0.4.4) focal; urgency=medium Some polish before the focal release: * Only print generated names on state save when generated: Handle empty name which is returned on success with a nil error on non zsys systems. * Fix history label showing up when no history was available: Use the same format for both: "History:\t\n" by reusing the string. Fix off by one error. -- Didier Roche Wed, 15 Apr 2020 16:52:35 +0200 zsys (0.4.3) focal; urgency=medium [ Jean-Baptiste Lallement ] [ Didier Roche ] * Fix GC collection of failed revert or incomplete boots and add tests for them (LP: #1870057, #1870054) * Account filesystem datasets in GC bucket policy budget, as it was leading to under budget results once cleaned up. * Fix warning when mounting source is set to default (LP: #1870052) * Fix some issues in go-libzfs: - it was not assigning the correct dataset type, leading to a segfault if the user has a zfs volume in a pool. - Perf enhancements by only loading our needed properties to reduce the amount of C performed calls. * Enhance apt hook: - Only display output and errors if running on ZFS systems (LP: #1868523, #1870304). - Suppress the 20 minutes grace period and only prevent multiple snapshots when unattended-upgrades is running. * Transition from 19.10: change the userdata user properties on first boot for machines installed from 19.10 without zsys installed. * Add apport hook. * Fix various mispells, simplify some code and remove some ineffective assignements. * Fix error message typos. * Fix generator check on CI, update bug template and update CI to use Go 1.14 in preparation of focal switch to 1.14. -- Didier Roche Wed, 08 Apr 2020 14:42:21 +0200 zsys (0.4.2) focal; urgency=medium [ Jean-Baptiste Lallement ] [ Didier Roche ] * Split the system snapshots in 2 phases for apt hook up: - take the snapshot - do the apt operation - rebuild grub menu This has the advantage of not blocking the apt operation for too long, but we may not be able to rebuild always the grub menu in case of a failing operation. Take this approach for now. * Increase the timeout for building grub menu until we optimize it (LP: #1867067) * Fix in go-libzfs some perf issues and switch to our vendored version. * Fix and simplify removals: - Dataset dependencies calculation is faster and more reliable. - Merge system and user States to remove code similarity copy and factorizing tests. No more intermediate cache needed and only one copy of each object is kept. - Make GC smarter by evenly distributing GC state keep events. Put the logic under tests. - Enable GC by default. - Simplify snapshot routine thanks to the system/user States merge. Increase tests on that part, including error cases. - Add dedicated error to allow user confirmation only when error is due to state dependencies. * Ensure we set all user properties at snapshot dataset creation. * Add more test coverage and fix test utilities. * Some misc refactoring covered by existing or new tests. * Add --type=trace to the profiler. * CI enhancements for quicker upstream roundtrips. * Swith to compat 12 to have the user systemd timer unit enabled by default for user snapshot creation. * Fix unclear context timeout error message (LP: #1867067) -- Didier Roche Thu, 26 Mar 2020 16:24:12 +0100 zsys (0.4.1) focal; urgency=medium * Fix build on armhf -- Didier Roche Wed, 26 Feb 2020 16:13:01 +0100 zsys (0.4.0) focal; urgency=medium * Many new commands: machine list/show, state management, service remote debug and management, logging support, garbage collection, first path on removal. * Aliases for commonly used actions. * More fine-grained policies for authorization support. * Many refactoring and improvement of internal representations with tests enhancements. * Automated snapshots done on package installation, upgrade and removal. * Update some vendored dependencies. -- Didier Roche Wed, 26 Feb 2020 16:01:23 +0100 zsys (0.3.3) focal; urgency=medium * Track number of requests in flights during dbus tests This is the easiest way to avoid data race. Hard to reproduce locally due to fallback to your system local bus. -- Didier Roche Tue, 26 Nov 2019 15:01:10 +0100 zsys (0.3.2) focal; urgency=medium * Fix a race in dbus test mock spawning when running tests detected on some slow builders, like armhf. -- Didier Roche Tue, 26 Nov 2019 14:13:38 +0100 zsys (0.3.1) focal; urgency=medium * Depends on go 1.12 as go 1.13 package doesn't provide the correct alternatives. The only drawback will be %w displayed when wrapping errors. * Fix tests using a local system dbus. -- Didier Roche Tue, 26 Nov 2019 12:29:15 +0100 zsys (0.3) focal; urgency=medium * Daemon/client split, communicating via unix sockets. Most notable changes: - new client command with zsysctl. Daemon is zsysd. - communication is done via GRPC. Logs for a particular client/request are streamed over network, with different log levels. - permission for every command is mediated by polkit. root has access to everything on daemon side, different level of actions are in available in a dedicated const. - daemon is socket activated, and tear down automatically after a grace idling period. * i18n integration. * Add man pages (autogenerated). * Autogenerate autocompletion, even for hidden commands. * Refactoring and cleaning up. * A lot of CI changes (migrated to github actions). * zsys backward compatibility script with eoan zfs generator. * Migrated to go 1.13. -- Didier Roche Mon, 25 Nov 2019 09:51:38 +0100 zsys (0.2.4) focal; urgency=medium * Skip tests on platform we don't build a binary for (no grub2-common package available). Autopkgtests will still try to run it if it ever ran one day and would fail as it can't install zsys. -- Didier Roche Tue, 29 Oct 2019 07:48:55 +0100 zsys (0.2.3) focal; urgency=medium * Backward compatibility for org.zsys set on user datasets and transition to newer com.ubuntu.zsys (LP: #1850052) -- Didier Roche Mon, 28 Oct 2019 09:51:38 +0100 zsys (0.2.2) eoan; urgency=medium * Move identifier tags to com.ubuntu.zsys (LP: #1847711) -- Didier Roche Fri, 11 Oct 2019 08:25:04 +0200 zsys (0.2.1) eoan; urgency=medium * Add caching for optimizing Scan() calls (from multiple seconds depending on the amount of snapshots to subseconds). * Fix update-grub not working when started by zsys boot systemd service. -- Didier Roche Thu, 12 Sep 2019 12:00:10 +0200 zsys (0.2) eoan; urgency=medium * Add userdata hidden subcommand for creating and renaming user datasets. (LP: #1842902) * Build-dep on grub2-common to not produce s390x build for now until we support an alternative bootloader. -- Didier Roche Mon, 09 Sep 2019 15:13:26 +0200 zsys (0.1.1) eoan; urgency=medium * Reduce cyclomatic complexity of some functions which results in better code readability and perf. * Hook up "modified boot" printing on command line so that we can avoid rerunning useless scanning. * Additional tests for covering modified boot tags. * Restrict daemon commit privilege in systemd service. * Now that go-libzfs upstream merged our fix, switch back to it rather than our fork (content is exactly the same). * debian/changelog: - ensure we dep on grub. * debian/zsys.lintian-overrides: - we only support systemd in ubuntu (and ship a service file). -- Didier Roche Mon, 26 Aug 2019 11:40:15 +0200 zsys (0.1) eoan; urgency=medium * Initial release -- Didier Roche Tue, 30 Jul 2019 09:46:08 +0200