lxd (1:0.10) focal; urgency=medium * Disable the "latest" track as it's no longer a valid upgrade target when coming from LXD 3.0. (LP: #1964833) * Unmount shmounts/devlxd prior to removal. (LP: #1876979) -- Stéphane Graber Mon, 14 Mar 2022 17:45:36 -0400 lxd (1:0.9) focal; urgency=medium * Detect and handle systems that are unable to run snapd. (LP: #1862550) -- Stéphane Graber Fri, 17 Apr 2020 16:01:48 -0400 lxd (1:0.8) focal; urgency=medium * Update for the LXD 4.0 track. -- Stéphane Graber Tue, 24 Mar 2020 13:44:45 -0400 lxd (1:0.7) disco; urgency=medium [ Balint Reczey ] * Fix error message on missing snap. (LP: #1821924) -- Stéphane Graber Thu, 11 Apr 2019 10:35:29 -0400 lxd (1:0.6) disco; urgency=medium * Tweak debconf messages a bit. -- Stéphane Graber Fri, 05 Apr 2019 18:02:01 -0400 lxd (1:0.5) disco; urgency=medium [ Balint Reczey ] * Allow skipping snap installation when LXD was never used (LP: #1821924) [ Stéphane Graber ] * Bump fallback Ubuntu release to 19.04 -- Stéphane Graber Fri, 05 Apr 2019 12:09:25 -0400 lxd (1:0.4) cosmic; urgency=medium * Remove rc.d symlinks (LP: #1797175) -- Stéphane Graber Wed, 10 Oct 2018 12:28:15 -0400 lxd (1:0.3) cosmic; urgency=medium * Install the snap on package installation too, not just upgrades * Make snapd a Pre-Depends for the case where snapd isn't installed -- Stéphane Graber Thu, 13 Sep 2018 14:28:29 -0400 lxd (1:0.2) cosmic; urgency=medium * Make it possible to abort the upgrade when run interactively * Introduce transitional packages to make proposed-migration happy -- Stéphane Graber Thu, 13 Sep 2018 10:26:17 -0400 lxd (1:0.1) cosmic; urgency=medium * Switch over to the snap (LP: #1788040) - Empty the source package - Bump epoch to 1 - Switch package to native - Drop lxd-client and lxd-tools packages * When installing/upgrading to this package, a preinst script will install the LXD snap and transition all data over to it. -- Stéphane Graber Wed, 12 Sep 2018 17:39:23 -0400 lxd (3.0.2-0ubuntu3) cosmic; urgency=medium * Add missing test dependency (socat) -- Stéphane Graber Wed, 22 Aug 2018 01:50:48 -0400 lxd (3.0.2-0ubuntu2) cosmic; urgency=medium * Disable static analysis tests in autopkgtest -- Stéphane Graber Wed, 22 Aug 2018 00:16:47 -0400 lxd (3.0.2-0ubuntu1) cosmic; urgency=medium * New upstream bugfix release (LP: #1788280): - container: containerCreateAsCopy() update pool - forkmount: ignore ENOENT and EINVAL on umount2() - nsexec: simplify attach_userns() - Fall back to alternate way of detecting minor version of NVIDIA driver - lxd/maas: Make error more readable - lxd-p2c: Send rsync output to stderr - lxd/migration: Don't pass -vP to a hidden rsync - lxc: Properly handle --target in copy and move - memory: fix format string - lxc/move: Support config and profile overrides - i18n: Update translation templates - exec: fix format string - images: fix format string - migrate: remove debug residuals - lvm: fix format string - db: fix format string - nsexec: prevent fd leak - Fix the storage_pool_id filter for the WHERE clause of StoragePoolsConfig - Fix lints - Extract cmdInit.ApplyConfig into a separate initApplyConfig function - Split initApplyConfig into initDataNodeApply and initDataClusterApply - Fix broken alternate TLS server cert in integration tests - lxd/containers: Don't update MAAS for snapshots - lxd/maas: Allow starting with MAAS offline - Enable tcp KeepAlive - lxd/cluster: Improve error on bad target - reader: Handle EINTR - allow uidmaps to be parsed from alternate roots - lxd/storage/zfs: Improve defaults - test: Fix static analysis - Allow identity mappings for unprivileged containers - container: adapt allowedUnprivilegedOnlyMap() - shared: Dereference directory symlinks - lxd,shared: Move parseNumberFromFile to shared - lxc/network: Add --format option to list - lxd/db: Don't hang after bad request - lxd/apparmor: Allow ro bind-mounts and remounts - idmap: support skipping directories - lxd: Properly set containerArgs in all cases - lxd/storage: Fix PATCH on storage pools - container: use lxcSetConfigItem() for lxc.log.file - lxc/cluster: Remove bad alias - lxd/storage: Fix volume creation API - tests: Add alternative TCP port finder - doc: Document hostname requirements - networks: Support stateful DHCPv6 with prefixes longer than /64 - lxd/networks: Skip DHCP mangle if firewall off - network: do not print writer struct on error - lxd/patches: Force a one-time config re-gen - storage pools: move structs - storage volumes: move structs - images: move structs - client: Export OperationWait - lxd/cluster: Only restart local containers - images: consistently name command structs - cluster: move structs - api 1.0: move struct - api internal: move structs - certificates: move structs - events: move structs - operations: move structs - profiles: move structs - resources: move structs - container logs: move structs - container post: move structs - lxd/storage/btrfs: Fix recursive snapshots - lxd/cluster: Fix attaching CEPH custom volumes - lxd/storage: Fix double quoting - Reduce the frequency of raft snapshots - lxd/storage/ceph: Don't keep snapshots mounted - util linux: add abstract unix socket helpers - proxy: Rework to match master - lxd: Cleanup logging - lxd: Improve error messages - proxy: Properly handle relay errors - lxd/certificates: Log password failures - proxy: handle full socket buffer - gpu: special case passing all GPUs - gpu: don't fail during parse - gpu: handle cards among Nvidia devices - gpu: fix Nvidia minor index parsing - lxd/containers: Fix removing NVIDIA containers - doc: Add links to REST API - doc: Fix storage volume examples - lxd/operations: Forward to right cluster node - lxc/{copy,move}: Allow overriding device config - i18n: Update translations - tests: Perform a lazy umount in case of errors - lxd/networks: Improve dnsmasq leases cleanup - migration: fix cross version migrations - doc: Note that default profile cannot be deleted/renamed - lxc/profile: Fix "get" command - lxd: Prevent renaming/deletion of the default profile - test: Test default profile renaming/deletion - Fix "neighbour: ndisc_cache: neighbor table overflow" - lxd: Fix StoragePoolVolumesGetNames - lxd/apparmor: Fix typo in nesting profile - lxd/patches: Make config re-gen fault tollerant - fix links in api-extension - lxd/db: Fix handling of NetworkConfigClear - lxd/networks: Fix PATCH operations - lxd/networks: Improve error on missing openvswitch - tests: Add test for network put/patch - lxd/networks: Fix revert on update failure - Allow deleting storage pools that only contain image volumes - lxd/storage: Remove image on pool deletion - lxd/storage: Keep images when deleting pool - lxd/init: Allow selecting custom Fan underlay - lxd/init: Fix typo in Fan question - lxd/networks: Calculate Fan MTU based on parent - shared/util: Fix unit parsing (metric vs iec) - lxd/storage/lvm: Round size to closest 512 bytes - lxd/storage: Drop late size check - lxd/storage/lvm: Fix umount logic during btrfs copy - lxd/storage/ceph: Mount the fs after growing the block - tests: Switch to MiB for btrfs resize - tests: Fix race in network test - lxc: Switch to Ubuntu 18.04 as initial container - lxc: Be clever about when showing "lxd init" - client: Split LXD download code into own function - client: Attempt to fetch through devlxd - Make lvm.thinpool_name and lvm.vg_name node-specific - This should have been a patch, for easier backporting - i18n: Update translation templates - zfs: Support querying version through modinfo - lxd/networks: Fix port number for DHCPv6 - Don't include container name in backups/snapshots - client: Fix CopyContainerSnapshot API - lxc/copy: Update to fixed CopyContainerSnapshot - lxd/import: Fix support for snapshots without container name - doc: Fix API output for snapshots - lxc: Make answer to remote add translatable - doc: Fix typo - lxc/storage: Fix bad argument parsing - tests: Fix new storage get/set test - *: Unify error messages - i18n: Update translation templates - Use mattn's sqlite3 bindings in the lxd/db sub package - Drop go-1.6 code - Replace grpc-sql with dqlite custom protocol - Wire dqlite server - Adapt main package to new cluster sub-package API - Drop raft snapshot workaround - Fetch containers info in parallel - Fix some missing error checks - Add support for "lxd sql global .sync", to sync the cluster db to disk - Capitalize error messages - Enforce the limit of open connections to local db after initialization - Re-enable empty table checks - Fix lints - lxd/cluster/gateway: Tweak errors - lxd/cluster/gateway: Log proxy errors - lxd: Improve shutdown logic for cluster nodes - Redirect dqlite logging to lxd logging - Fix unit test regression - Makefile: Respect CGO_CFLAGS - Makefile: Fix typo in .PHONY - Makefile: Rename protobuf to update-protobuf - Makefile: Drop gccgo - Makefile: Drop outdated comment - Makefile: Fix tags handling - Makefile: Require libsqlite3 - Makefile: Include dqlite in dist tarball - Makefile: Add deps target - lxd: Fix --syslog flag - lxd/containers: Don't flush leases for snapshots - shared/idmap: Shift fscaps - lxd/cluster: Fix typo in errors - tar: Support xattrs - rsync: Support xattrs - test: Add test for cluster shutdown logic - tar: Use --xattrs-include=\* during extract - idmap: C coding style fixups - idmap: s/set_caps/set_vfs_ns_caps/g - idmap: convert uid from big to little endian - client: Centrally handle targeting - shared/idmap: Fix xattr.h import - lxc/utils: Handle empty progress - lxc/file: Show progress - lxd/containers: Use internal struct values - networks: Ignore veth devices - networks: Don't try listing containers for lo - lxd/cluster: Only query the containers we need - Add ContainerArgsList and ContainerArgsNodeList - lxd/db: Fix snapshot filtering - lxd/containers: Add helpers for retrieving containers - lxd: Port over to new containerLoadNodeAll function - lxd: Port over to new containerLoadAll function - lxd: Only get the profiles once - lxd/containers: Speed up recursive list - shared/api: Define ContainerFull - lxd/storage: Don't log every storage init - lxc/list: Port to ContainerFull - lxd/storage: Cache storage version - Fix "no transaction is active" error during database updates - lxc/remote: Fix crash on bad remote name - lxd/storage/zfs: Optimize getting disk usage - lxd/networks: Drop unused db property - lxd: Add endpoints to state struct - lxc/container: CEPH also needs offline quotas - lxd/storage/ceph: Fix default container quotas - Makefile: Set PKG_CONFIG_PATH - i18n: Update translation templates - client: Implement support for recursion=2 - doc: Update requirements - lxd/images: Cleanup any leftovers on startup - Send a notification to other nodes when an image is removed - Silence shellcheck - doc: Update README a bit - doc: Add some more packages to README - doc: Add tcl to README - Makefile: Tweak sqlite build flags - doc: Pass LD_LIBRARY_PATH through sudo - Support moving a container within a cluster, keeping the same name - lxc/image: Fix URL-based imports - Update rest-api.md - shallow clone for deps - Shallow clone for dist - *: Rename macaroon(s) -> candid - lxd/patches: Add patch for macaroon/candid config - auth: Support URL based auth - Update i18n - doc: Add example of exec with record-output - lxd/devices: Iterate /sys/class/drm for GPUs - lxd/api: Sort list of endpoints * Cherry-pick some upstream fixes: - 0001-shared-idmap-test-fcaps-support.patch - 0002-Add-a-few-missing-rows.Close-calls.patch - 0003-lxd-patches-Profiles-are-in-the-cluster-db.patch - 0004-lxd-storage-ceph-Only-freeze-container-if-running.patch * Temporarily disable ZFS tests on s390x due to conflict between zfsutils-linux and s390-tools (LP: #1788314) * Bump standards to 4.2.0 * Update debian/copyright following go-sqlite3 move * Update lintian overrides * Update packaging to use the new libdqlite * Add build-depends on libuv-dev and libcap-dev -- Stéphane Graber Tue, 21 Aug 2018 16:55:56 -0400 lxd (3.0.1-0ubuntu1) cosmic; urgency=medium * New usptream bugfix release: - lxc: Fix mistakenly hidden commands - i18n: Update translation templates - lxd/migration: Pre-validate profiles - client: Improve remote operation errors - Fix some typos and wording. - Wording fix. - lxc/image: Fix crash due to bad arg parsing - lxd: add missing limits.h include - lxd/init: Fix --auto with network config - lxc: Consistent naming of clustering terms - i18n: Update translation templates - lxc/file: Fix pushing files to remote - lxd/init: Don’t setup a remote storage pool by default - Fix lxd init failing to join cluster interactively with existing zfs pool - lxc/query: Fix -d and -X - lxc/help: Make help respect --all too - Fix typo in help of “lxc network” - Properly filter node-level storage configs by pool ID - i18n: Update translation templates - lxd/init: Consistency - Make new gofmt happy - lxc/file: Allow using -r to follow symlinks - Replace juju/idmclient with CanonicalLtd/candidclient - lxc/config: Fix adding trust cert on snap - lxc/alias: Fix example in help message - i18n: Update translation templates - client: Introduce LXD_SOCKET - Makefile: Add a manifest - containers: fix snapshot deletion - lxc/init: Add missing --no-profiles - i18n: Update translations - lxc/file: Fix pull target logic - doc: Fix example in userns-idmap - devices: fail if Nvidia device minor is missing - Add db.ContainersNodeList - storage: createContainerMountpoint() fix perms - ceph: s/0755/0711/g - lvm: s/0755/0711/g - storage utils: s/0755/0711/g - zfs: s/0755/0711/g - patches: add “storage_api_path_permissions” - sys/fs: s/MkdirAll/Mkdir/g - btrfs: fix permissions - Pass a logger to raft-http - Add new cluster.Promote function - Add new cluster.Rebalance function - Notify the cluster leader after a node removal, so it can rebalance - Add integration test - doc: Tweak backup.md - lxd/init: Require root for interactive cluster join - Disable flaky unit tests for now - Log the error that made Daemon.Init() fail - client: Expose http URL in ConnectionInfo - lxc/query: Add support for non-JSON endpoints - Handle empty query strings - Support reading queries from standard in - Support passing multiple queries - Rename database files - Support querying both local and global database - Update integration tests - Normalize name of images_aliases table - Add query.Dump helper to dump schema and data - Add support for dump command in lxd sql - lxd/containers: Fix lxc.net 1 check - doc/backup.md: update snap path - Add lxc cluster enable command - Fix command description formatting - Update .pot files - Use an isolated LXD instance in integration tests - Start a container in the integration test - Address style comments - add LXD_UNPRIVILEGED_ONLY to disallow privileged containers. - lxd: tweak LXD_UNPRIVILEGED_ONLY - doc: add LXD_UNPRIVILEGED_ONLY - tests: add tests for LXD_UNPRIVILEGED_ONLY - Reword errors when LXD_UNPRIVILEGED_ONLY is set - lxd/containers: Allow sending progress - lxc/rename: Deal with remote renames - lxd/db: Don’t crash on empty queries - lxd/sql: Drop custom table renderer - lxd/network: Fix fan subnet calculation logic - Update translations from weblate - lxc/main: Fix remote caching - lxc/storage_volumes: Various fixes - tests: Add extra cleanup code - lxd/storage: Also set zfs.pool_name on upgrade - migration: fix btrfs live migration - lxd/containers: Fix broken unix hotplug logic - lxc/list: Reduce number of API calls - Make the interaction betwean lxd daemon and waitready non-blocking - Increase logging during startup - Remove log alias for waitready - Remove log alias for db.OpenCluster - Make Unavailable accept an error parameter - Add a new Schema.File() method to load extra queries from a file - Add support for patch.local.sql and patch.global.sql - Add integration tests - Add shared.DirCopy to recursively copy a directory. - Update database.md - Backup global database if non-clustered - lxd/init: Offer to setup a Fan bridge when clustered - lxd init: fix maas.api.url check when setting up existing bridge - Take raft snapshots more frequently and at shutdown - Add --schema flag to lxd sql to dump only the schema. - Update database.md with information about lxd sql and patch.*.sql - Document how to dump the content or schema of databases - Fix shell lints - Disable snapshot logging, as it’s too verbose now - Make .dump and .schema special queries, for consistency with sqlite3 - Run make i18n - xattr: Support empty values - doc: s/status command/info command/ - lxd/init: Explain password less behavior - Make waitready less verbose - devices: clone mode of device - lxd/init: Have --auto setup networkng if missing - container_lxc: fix optional property for disk devs - test: Fix busybox image - lxc/action: Fix pause - lxd/callhook: Respect LXD_SOCKET environment variable - forkfile: only open O_RDWR if necessary - Consider a copy to be local only when not clustered - Add integration tests - api: Add backup structs - client: Implement backup functionality - shared: Implement RunCommandWithFds - btrfs: add doContainerCreate() - btrfs: add doContainerSnapshotCreate() - ceph: ensure fs consistency when snapshotting - ceph: ensure fs consistency when restoring - ceph: add doContainerCreate() - ceph: add doContainerMount() - lvm: add doContainerMount() - zfs: add doContainerMount() - zfs: add do*() helpers - lvm: use internal pool name - lxd-p2c: Handle target URL smarter - lxd-p2c: Ignore missing arg errors - lxd-p2c: Delete containers on failure - lxd-p2c: Better report rsync errors - lxd-p2c: Allow overriding rsync args - Serialize reads to the cluster database - doc: Fix typo in api-extensions - Redirect container/snapshost publish API requests to the relevant node - gpu: fallback to default device mode - Improve error messages and docs about node-specific config keys - Avoid wrapping long lines - lxd-p2c: Add rsync version check - lvm: s/LXDPool/LXDThinPool/g - Extract expandConfigFromProfiles from expandConfig to avoid db calls - Broadcast profile changes to other cluster nodes - lvm: use LXD pool name - tests: Reduce ceph pg_num down to 1 - lxc-to-lxd: Respect LXD_SOCKET environment variable - Manually release the liblxc structs - Drop manual GC calls - lxd/containers: Fix fd leak in metadata * Add missing dependency on iproute2 (LP: #1770395) * Add missing recommend on apparmor -- Stéphane Graber Tue, 05 Jun 2018 18:01:41 -0400 lxd (3.0.0-0ubuntu4) bionic; urgency=medium * Cherry-pick upstream fixes: - lxc/alias: Fix example in help message - i18n: Update translation templates - client: Introduce LXD_SOCKET - Makefile: Add a manifest - containers: fix snapshot deletion - lxc/init: Add missing --no-profiles - i18n: Update translations - lxc/file: Fix pull target logic - doc: Fix example in userns-idmap - devices: fail if Nvidia device minor is missing - Add db.ContainersNodeList - storage: createContainerMountpoint() fix perms - ceph: s/0755/0711/g - lvm: s/0755/0711/g - storage utils: s/0755/0711/g - zfs: s/0755/0711/g - patches: add "storage_api_path_permissions" - sys/fs: s/MkdirAll/Mkdir/g - btrfs: fix permissions - Pass a logger to raft-http - Add new cluster.Promote function - Add new cluster.Rebalance function - Notify the cluster leader after a node removal, so it can rebalance - Add integration test - doc: Tweak backup.md - lxd/init: Require root for interactive cluster join - Disable flaky unit tests for now - Log the error that made Daemon.Init() fail - client: Expose http URL in ConnectionInfo - lxc/query: Add support for non-JSON endpoints - lxd/containers: Fix lxc.net check * Really don't restart lxd-containers on upgrades (LP: #1762680) * Bump standards to 4.1.4 -- Stéphane Graber Tue, 17 Apr 2018 13:35:28 -0400 lxd (3.0.0-0ubuntu3) bionic; urgency=medium * Cherry-pick upstream fixes: - lxd/init: Don't setup a remote storage pool by default - lxd/init: Fix cluster join failure when using an existing zfs dataset - lxc/query: Fix -d and -X parameters - lxc/help: Make help respect --all too - lxc/network: Fix typo in help - lxd/db: Properly filter node-level storage configs by pool ID - i18n: Update translation templates - lxd/init: Make questions consistent - lxd/db: Make new gofmt happy - lxc/file: Allow using -r to follow symlinks - lxc/config: Fix adding trust cert on snap -- Stéphane Graber Fri, 06 Apr 2018 13:45:31 -0400 lxd (3.0.0-0ubuntu2) bionic; urgency=medium * Cherry-pick upstream fixes: - lxc/file: Fix pushing files to remote - lxc: Consistent naming of clustering terms - lxd/init: Fix --auto with network config - lxd: add missing limits.h include - lxc/image: Fix crash due to bad arg parsing - doc: wording fix in cluster documentation - client: Improve remote operation errors - lxd/migration: Pre-validate profiles - i18n: Update translation templates - lxc/main: Add version subcommand - lxd/main: Add version subcommand - lxc: Fix mistakenly hidden commands * Fix upgrade-bridge for LXD 3.0 (LP: #1760812) -- Stéphane Graber Tue, 03 Apr 2018 12:57:32 -0400 lxd (3.0.0-0ubuntu1) bionic; urgency=medium * New upstream LTS release: - LXD 3.0 will be supported until June 2023. - Announcement: https://linuxcontainers.org/lxd/news/ -- Stéphane Graber Fri, 30 Mar 2018 00:10:30 -0400 lxd (3.0.0~beta7-0ubuntu1) bionic; urgency=medium * New upstream beta (3.0.0~beta7) -- Stéphane Graber Tue, 27 Mar 2018 00:28:28 -0400 lxd (3.0.0~beta6-0ubuntu1) bionic; urgency=medium * New upstream beta (3.0.0~beta6) * Update sqlite build options for clustering -- Stéphane Graber Fri, 23 Mar 2018 18:38:03 -0400 lxd (3.0.0~beta5-0ubuntu2) bionic; urgency=medium * Disable lvm in autopkgtest (requires proper LVM setup) -- Stéphane Graber Wed, 14 Mar 2018 18:56:13 -0400 lxd (3.0.0~beta5-0ubuntu1) bionic; urgency=medium * New upstream beta (3.0.0~beta5) -- Stéphane Graber Wed, 14 Mar 2018 13:39:34 -0400 lxd (3.0.0~beta4-0ubuntu1) bionic; urgency=medium * New upstream beta (3.0.0~beta4) -- Stéphane Graber Tue, 13 Mar 2018 23:32:17 -0400 lxd (3.0.0~beta3-0ubuntu3) bionic; urgency=medium * Fix typo in previous fix. -- Stéphane Graber Wed, 07 Mar 2018 08:49:57 +0100 lxd (3.0.0~beta3-0ubuntu2) bionic; urgency=medium * Cherry-pick upstream fix: - 0001-lxd-shutdown-Fix-error-string-check.patch -- Stéphane Graber Tue, 06 Mar 2018 23:16:47 +0100 lxd (3.0.0~beta3-0ubuntu1) bionic; urgency=medium * New upstream beta (3.0.0~beta3) -- Stéphane Graber Tue, 06 Mar 2018 16:20:03 +0100 lxd (3.0.0~beta2-0ubuntu5) bionic; urgency=medium * Fix shellcheck test failure in previous upload... -- Stéphane Graber Tue, 06 Mar 2018 10:05:20 +0100 lxd (3.0.0~beta2-0ubuntu4) bionic; urgency=medium * Add some more debugging for the s390x cluster test issue. -- Stéphane Graber Tue, 06 Mar 2018 09:01:20 +0100 lxd (3.0.0~beta2-0ubuntu3) bionic; urgency=medium * Try to workaround race condition in clustering test. -- Stéphane Graber Fri, 02 Mar 2018 22:57:42 -0500 lxd (3.0.0~beta2-0ubuntu2) bionic; urgency=medium * Update testsuite environment to better match upstream: - Run tests inside a tmpfs - Turn on verbose logging (easier to debug failures) -- Stéphane Graber Fri, 02 Mar 2018 20:40:06 -0500 lxd (3.0.0~beta2-0ubuntu1) bionic; urgency=medium * New upstream beta (3.0.0~beta2) * Update testsuite for clustering (unset proxy) -- Stéphane Graber Fri, 02 Mar 2018 16:05:22 -0500 lxd (3.0.0~beta1-0ubuntu1) bionic; urgency=medium * New upstream beta (3.0.0~beta1) - Move bash completion script - Use custom clustered sqlite3 * Update testsuite to deal wtih Go 1.10 * Update to new standards - Bump compat to 10 - Bump standards to 4.1.3 - Update copyright URLs to https - Refresh lintian overrides -- Stéphane Graber Thu, 01 Mar 2018 15:18:21 -0500 lxd (2.21-0ubuntu4) bionic; urgency=medium * Preparation for LXD 3.0 and Ubuntu 18.04: - Drop the lxc2 meta-package (unused and confusing) - Drop golang-github-lxc-lxd-dev (unused and unsupported) -- Stéphane Graber Tue, 20 Feb 2018 16:46:08 -0500 lxd (2.21-0ubuntu3) bionic; urgency=medium * Cherry-pick upstream bugfixes: - 0004-storage-btrfs-Fix-handling-of-UUID-based-mounts.patch - 0005-lxd-containers-No-slahses-in-snapshot-names.patch - 0006-lxd-storage-Don-t-allow-slashes-in-pool-or-volume-na.patch - 0007-lxd-init-Strip-leading-and-trailing-spaces.patch - 0008-console-Don-t-prevent-setting-lxc.console.logfile.patch - 0009-console-Fix-version-check-in-log-API.patch - 0010-lxd-containers-Don-t-drop-the-description.patch - 0011-network-Serialize-network-creation.patch - 0012-storage-Serialize-storage-pool-creation.patch - 0013-lxd-containers-Fix-container-shutdown-on-exit.patch - 0014-fix-parsing-for-container-name-tab-completion.patch - 0015-lxc-file-Fix-edit-in-a-snap-environment.patch - 0016-correct-mistake-in-help.patch - 0017-lxc-client-return-errArgs-on-empty-pool.patch - 0018-networks-Drop-all-firewall-rules-when-disabled.patch - 0019-container_lxc-ensure-container-is-initialized.patch - 0020-migrate-check-pre-dump-only-on-live-migration.patch - 0021-shared-hostpath-Also-check-SNAP_NAME.patch - 0022-shared-hostpath-Properly-handle-prefix-check.patch - 0023-lxc-config-Fix-metadata-edit.patch - 0024-containers-Default-to-pids-cgroup-for-fork-bomb-miti.patch -- Stéphane Graber Fri, 02 Feb 2018 14:27:13 +0100 lxd (2.21-0ubuntu2) bionic; urgency=medium * Cherry-pick upstream bugfixes: - 0001-containers-Fix-device-names-containing-slashes.patch - 0002-lxd-containers-Fix-tc-egress-rules.patch - 0003-lxc-exec-Fix-typo.patch -- Stéphane Graber Fri, 22 Dec 2017 15:19:10 -0500 lxd (2.21-0ubuntu1) bionic; urgency=medium * New upstream release (2.21) - The lxc start/stop/restart/pause commands now accept a new --all flag. (LP: #1735718) - Introduced a new infiniband device type which supports physical passthrough of Infiniband devices as well as SR-IOV allocated cards. - Added a new security.devlxd configuration key to control the presence of /dev/lxd inside the container. - Added support for incremental memory copy with container live-migration. This is controlled by a set of new migration.incremental.memory configuration keys. - A new boot.stop.priority configuration key can be used to control container shutdown order when LXD is brought down. - LXD users that use MAAS to manage their networks can now have LXD directly drive MAAS, recording all containers in MAAS and setting up static allocations in MAAS managed subnets. This is controlled with the maas.api.url and maas.api.key daemon keys as well as the maas.subnet.ipv4 and maas.subnet.ipv6 network interface configuration keys. - client: URL escape all user input - doc: Add example to create an storage pool from existing LVM thinpool. - doc: Fix markdown escaping for prlimits - doc: Update LVM documentation to cover scalability issues - extra: Fix some profile autocompletions - i18n: Update translations from weblate - lxc: Detect first-run based on conf file not dir - lxc/exec: Update help to cover shell behavior - lxc/shell: Switch to using su -l - lxd-benchmark: Change the default count of containers from 100 to 1 - lxd/certificates: Add missing name value - lxd/console: Adapt to new liblxc changes - lxd/containers: Actually return an error - lxd/containers: Add new disk-{char,block} path format - lxd/containers: Add new unix-{char,block} path format - lxd/containers: Escape paths fstab style - lxd/containers: Fix insertNetworkDevice() - lxd/containers: Fix race condition in shutdown - lxd/containers: Fix typo in prlimit error - lxd/containers: Log auto-start errors - lxd/containers: Only init the config if needed - lxd/containers: Skip non-existing Nvidia GPU devices - lxd/containers: Skip sockets in tarballs - lxd/daemon: Fix unsetting https address - lxd/daemon: Properly cache the storage information - lxd/dameon: Add LXD_EXEC_PATH to override execPath - lxd/devlxd: Cleanup in preparation for events - lxd/devlxd: Properly lock the internal struct - lxd/migration: Add handler for CRIU feature checking - lxd/migration: Default to pre-copy migration if CRIU supports it - lxd/migration: Move pre-dump check to its own function - lxd/migration: Remove obsolete TODO comment - lxd/networks: Extend allowed character set for interfaces - lxd/patches: Skip containers that don't have a devices dir - lxd/patches: Update to new device name scheme - lxd/storage: Use HostPath for dir/btrfs - lxd/storage/zfs: Fix argument order of zfs get commands - lxd/storage/zfs: Fix storage pool import - lxd/storage/zfs: Make sure to allow devices, setuid and exec - Makefile: Better detect sqlite3.h - shared/idmap: Fix handling of hardlinks - shared/util: Add EscapePathFstab() - shared/utils: Deal with symlinks - tests: Adapt to changes in console API behavior - tests: Deal with missing ttyS0/ttyS1 (on s390x) - tests: Skip console tests on lower liblxc versions - travis: Limit to just Go 1.9 * Bump standards to 4.1.2 * Update lintian overrides -- Stéphane Graber Tue, 19 Dec 2017 19:21:56 -0500 lxd (2.20-0ubuntu4) bionic; urgency=medium * Cherry-pick upstream fixes: - 0002-lxd-daemon-Fix-unsetting-https-address.patch - 0003-tests-Deal-with-missing-ttyS0-ttyS1-on-s390x.patch -- Stéphane Graber Fri, 17 Nov 2017 18:14:19 -0500 lxd (2.20-0ubuntu3) bionic; urgency=medium * Cherry-pick upstream fixes: - 0001-test-skip-console-tests-on-lower-versions.patch -- Stéphane Graber Wed, 15 Nov 2017 15:02:00 -0500 lxd (2.20-0ubuntu2) bionic; urgency=medium * Launchpad doesn't know about the golang section. -- Stéphane Graber Wed, 15 Nov 2017 03:13:29 -0500 lxd (2.20-0ubuntu1) bionic; urgency=medium * New upstream release (2.20) - New `lxc console` subcommand and console API to attach to the container's boot console or retrieve the boot log - New `lxc operation` subcommand to list and cancel background operations - Added support for SR-IOV network devices (nictype=sriov) including dynamic allocation of new virtual functions - Support for delegated external authentication through macarroons (using the go-bakery v2 protocol) - client: Add GetOperationUUIDs and GetOperations - client: Name all the return values in interfaces - doc: Fix markdown escaping - doc: Sort container config keys - doc: Sort network config keys - doc: Sort server.md config keys - doc: Sort storage config keys - extra: Update bash completion for all the new keys - global: Fix a number of unchecked variables - global: Fix some typos - global: Revert "Temporary workaround for log15 API breakage" - global: Switch to the built-in log15 - lxc/file: Log downloads/uploads - lxc/network: Fix error message - lxd-benchmark: use NewConfig to get a default configuration - lxd/containers: Detect version at runtime - lxd/containers: Don't allow removing lxc.conf or lxc.log - lxd/containers: Rename container.StateObject to container.DaemonObject - lxd/daemon: Add a endpoints.Endpoints class for managing HTTP endpoints - lxd/daemon: Add cpu profiling and goroutines printing to the debug pkg - lxd/daemon: Add error messages to lxdTestSuite setup and teardown - lxd/daemon: Add initial Go-level daemon integration-like test - lxd/daemon: Add lxd/config sub-package implementing structured config map - lxd/daemon: Add lxd/task sub-package for running functions periodically - lxd/daemon: Add new debug sub-package with support for memory profiling - lxd/daemon: Add node.Config high-level API to modify node-level config - lxd/daemon: Cleanup test state at every test, to improve isolation. - lxd/daemon: Control all routines spawned in Daemon.Ready() with task.Task - lxd/daemon: Don't skip Daemon.Ready() in tests, run unconditionally - lxd/daemon: Don't use global path variables in sys.OS - lxd/daemon: Drop logging setup in Daemon.Init() - lxd/daemon: Drop support for "setup mode" - lxd/daemon: Drop the containerLXC.OS() convenience - lxd/daemon: Drop unnecessary checks on MockMode - lxd/daemon: Extract initialization of the REST and /dev/lxd http Server - lxd/daemon: Gracefully cancel tasks on daemon shutdown - lxd/daemon: Improve error on invalid config key - lxd/daemon: Move directory initialization to sys.OS. - lxd/daemon: Move execPath global variable to sys.OS.ExecPath - lxd/daemon: Move global aaAdmin global variable to sys.OS - lxd/daemon: Move global aaAvailable global variable to sys.OS - lxd/daemon: Move global aaConfined global variable to sys.OS - lxd/daemon: Move global aaStacking global variable to sys.OS - lxd/daemon: Move global cgBlkioController global variable to sys.OS - lxd/daemon: Move global cgCpuController global variable to sys.OS - lxd/daemon: Move global runningInUserns global variable to sys.OS - lxd/daemon: Move optional Daemon config values to DaemonConfig - lxd/daemon: Move remaining global cgXXX global variables to sys.OS - lxd/daemon: Move util.AppArmorCanStack to a private appArmorCanStack - lxd/daemon: Streamline Daemon init and shutdownn - lxd/daemon: Track the lifecycle of the routine performing log expiration - lxd/daemon: Tweak schedule function for pruning images - lxd/daemon: Use instance cache dir variable instead of the env one - lxd/daemon: Use instance log dir variable instead of the env one - lxd/daemon: Use instance var dir variable instead of the env one - lxd/daemon: Wire debug utilities into main_daemon.go - lxd/daemon: Wire endpoints.Endpoints into Daemon - lxd/db: Add a db.NodeTx structure to abstract away low-level transactions - lxd/db: Add a Schema.Fresh() method to set a "bootstrap" SQL statement - lxd/db: Add db APIs for fetching and changing node-local config values - lxd/db: Add db.NewTestNode helper for database-related unit tests - lxd/db: Add low-level query helpers for changing config tables - lxd/db: Add query.Count utility - lxd/db: Add Schema.ExerciseUpdate() for testing a individual update - lxd/db: Add support for gracefully aborting schema.Ensure - lxd/db: Complete moving schema creation logic to schema.Schema - lxd/db: Convert a few call sites of sql.DB.Begin to db.DB.Begin - lxd/db: Convert remaining call sites of the low-level db.Begin function - lxd/db: Drop all references to Daemon.nodeDB - lxd/db: Fix spurious tx.Exec argument in lxd/db/schema/query.go - lxd/db: Move certificate db APIs to the db.Node facade - lxd/db: Move container db APIs to the db.Node facade - lxd/db: Move devices db APIs to the db.Node facade - lxd/db: Move image db APIs to the db.Node facade - lxd/db: Move network db APIs to the db.Node facade - lxd/db: Move node schema updates to their own db/local/ sub-package - lxd/db: Move patches db APIs to the db.Node facade - lxd/db: Move profile db APIs to the db.Node facade - lxd/db: Move storage db APIs to the db.Node facade - lxd/db: Remove direct use of low-level db.Exec() func outside of lxd/db/ - lxd/db: Rename Daemon.db to Daemon.nodeDB - lxd/db: Rename db.Exec to db.exec, making it unexported - lxd/db: Rename db.QueryScan to db.queryScan, making it unexported - lxd/db: Rename db_test.go to db_internal_test.go, since it's white box - lxd/db: Rename State.DB to State.NodeDB - lxd/db: Return the initial schema version in Schema.Ensure() - lxd/import: Use the right VG name on delete - lxd/main: Fix output of --print-goroutines-every - lxd/networks: Don't require a 1400 MTU with tunnels - lxd/seccomp: Fix security.syscalls.blacklist handling - lxd/storage: Drop the storageShared.OS() convenience - lxd/storage: Generate new UUID on thinpools for btrfs - lxd/storage/zfs: Try to import missing zpools - lxd/storage/zfs: Update for newer ZFS releases - shared: Add shared.KeyPairAndCA function to get coventionally named certs - shared: Fix file transfers to/from stdin/stdout in snap - shared: Make current gofmt happy - shared/api: Add API extension label to AuthMethods - shared/log15: Vendor a copy of log15 in shared/log15 - shared/logger: Add helper to send the global logger to the testing logger - shared/logging: Add freebsd build conditional to log_posix.go - shared/version: Extract the APIExtensions list from api10Get - shared/version: Split version declarations into several files - tests: Add test for unique btrfs UUID generation - tests: Add test for unused variables - tests: Check for typos - tests: Don't use godeps for import check - tests: Skip prlimits on liblxc < 2.1 - tests: Update for new dependencies -- Stéphane Graber Wed, 15 Nov 2017 02:18:40 -0500 lxd (2.19-0ubuntu1) bionic; urgency=medium * New upstream release (2.19) - The LXD documentation is now available at https://lxd.readthedocs.io - A new "resources" API was added allowing to get CPU and memory information as well as storage pool sizes from the API. In the client, this maps to "lxc info --resources" and "lxc storage show NAME --resources". - A new set of limits.kernel.[limit name] container configuration keys are available to tweak the various kernel process limits for the container. - The command line client now has a number of "rename" subcommands, for profiles, networks and image aliases. The toplevel "rename" command was also updated to match. - The LXD API now allows renaming of custom storage volumes. In the client tool, this can be done through "lxc storage volume rename". - Extended the LXD user-agent to include the kernel version, architecture and OS name and release. This will allow LXD image servers to show a filtered image list when applicable. - Added a new insecureSkipVerify flag to ConnectionArgs struct in the client allowing to connect to a LXD host bypassing any kind of TLSvalidation. - doc: Document instance types - doc: Document that squashfs images can also be used - github: Add SUPPORT.md - github: Refresh the issue template - global: Add some more TLS ciphers - lxc/file: Use shared.HostPath for push/pull - lxc/image: Fix regression in exported filename - lxc/image: Use shared.HostPath for import/export - lxc/storage: Fix remote operations - lxd-benchmark: Add "spawn" as equivalent but deprecated to "launch" - lxd-benchmark: Change name of spawn command to launch - lxd/apparmor: Drop useless apparmor denies - lxd/daemon: Don't update images while pruning - lxd/daemon: Fix handling of config triggers - lxd/daemon: Simplify time channels - lxd/db: Fix bad DB schema update between schema 30 and 31 - lxd/images: Actually get the list of images to remove - lxd/images: Fix bad error message - lxd/images: Respect disabled cache expiry - lxd/images: Store UploadedAt as RFC3399 - lxd/import: Check for on-disk only snapshots - lxd/import: Re-create mountpoints and symlinks - lxd/import: Rewrite - lxd/init: Only nest btrfs if container is on btrfs - lxd/migration: Fix lvm stateful restores - lxd/migration: Fix stateless incremental containers - lxd/network: Better handle dnsmasq version checks - lxd/network: Do not update limits unconditionally - lxd/networks: Fix renaming networks - lxd/networks: Update dnsmasq on container renames - lxd/patches: Convert UploadedAt to RFC3399 - lxd/resources: Deal with missing cpufreq directory - lxd/storage: Add growFileSystem helper - lxd/storage: Add shrinkFileSystem helper - lxd/storage: Add shrinkVolumeFilesystem helper - lxd/storage: Have "usedby" functions return empty slice - lxd/storage: Ignore vanished file warnings during rsync - lxd/storage: Move check for type into api - lxd/storage: Re-import image if volume filesystem has changed - lxd/storage: Rework container volume properties - lxd/storage: Rework storage pool updating - lxd/storage: Rework storage volume updating - lxd/storage: Support resizing btrfs-based volumes - lxd/storage/btrfs: Existence check before container delete - lxd/storage/btrfs: Existence check before custom delete - lxd/storage/btrfs: Existence check before image delete - lxd/storage/btrfs: Existence check before snapshot delete - lxd/storage/btrfs: Remove dependency on symlink - lxd/storage/btrfs: Workaround btrfs bug - lxd/storage/ceph: Check for mountpoint before calling umount - lxd/storage/ceph: Correctly implement (none-)live migration - lxd/storage/ceph: Existence check before container delete - lxd/storage/ceph: Existence check before custom delete - lxd/storage/ceph: Existence check before pool delete - lxd/storage/ceph: Existence check before snapshot delete - lxd/storage/ceph: Handle volume.block.filesystem update - lxd/storage/ceph: Remove size property from OSD pools - lxd/storage/ceph: Use [grow|shrink]FileSystem helpers - lxd/storage/dir: Check whether pool is already mounted - lxd/storage/dir: Make sure pool is mounted - lxd/storage/lvm: Existence check before container delete - lxd/storage/lvm: Existence check before custom delete - lxd/storage/lvm: Existence check before image delete - lxd/storage/lvm: Existence check before pool delete - lxd/storage/lvm: Mount xfs snapshots with "nouuid" - lxd/storage/lvm: Non-functional changes - lxd/storage/lvm: Re-import image on thinpool-based pools if fs changed - lxd/storage/lvm: Use DottedVersion for version comparison - lxd/storage/zfs: Existence check before custom delete - lxd/storage/zfs: Existence check before delete for pools - shared: Cleanup use of the log package - shared: Move testhelpers into shared/osarch for now - shared/api: Consistent file names - shared/api: Split storage in separate files for pools and volumes - shared/canceler: Support canceling with parallel downloads - shared/idmap: Fix numerous issues - shared/idmap: Make ACL failures more verbose - shared/logger: Temporary workaround for log15 API breakage - shared/util: Implement mountpoint checking - shared/util: More snap handling logic - tests: Add stateless live migration tests - tests: Add tests for btrfs resize - tests: Add tests using btrfs on LVM and ceph volumes - tests: Fix bad raw.lxc test - tests: Fix dependency check - tests: Fix image expiry test - tests: Fix shell return value masking - tests: Setup basic channel handler for triggers - tests: Test mountpoint and symlink recreation - tests: Update and expand container import tests - tests: Update perf.sh to "lxd-benchmark launch" - tests: Use 50MB as minimal block dev size for xfs * Disable building using Go shared libraries. * Use built-in dependencies. -- Stéphane Graber Fri, 03 Nov 2017 00:49:42 -0400 lxd (2.18-0ubuntu6) artful; urgency=medium * Cherry-pick upstream bugfixes: - 0024-dir-check-whether-pool-is-already-mounted.patch -- Stéphane Graber Sun, 15 Oct 2017 01:14:38 -0400 lxd (2.18-0ubuntu5) artful; urgency=medium * Cherry-pick upstream bugfixes: - 0022-network-do-not-update-limits-unconditionally.patch - 0023-dir-make-sure-pool-is-mounted.patch -- Stéphane Graber Fri, 13 Oct 2017 14:11:15 -0400 lxd (2.18-0ubuntu4) artful; urgency=medium * Cherry-pick upstream bugfixes: - 0012-Fix-bad-DB-schema-update-between-schema-30-and-31.patch - 0013-images-Respect-disabled-cache-expiry.patch - 0014-images-Store-UploadedAt-as-RFC3399.patch - 0015-patches-Convert-UploadedAt-to-RFC3399.patch - 0016-daemon-Fix-handling-of-config-triggers.patch - 0017-daemon-Don-t-update-images-while-pruning.patch - 0018-images-Actually-get-the-list-of-images-to-remove.patch - 0019-lxc-storage-Fix-remote-operations.patch - 0020-networks-Fix-renaming-networks.patch - 0021-support-canceling-with-parallel-downloads.patch -- Stéphane Graber Mon, 09 Oct 2017 12:27:53 -0400 lxd (2.18-0ubuntu3) artful; urgency=medium * Cherry-pick new user-agent handling from upstream: - 0003-shared-util-extract-helper-to-get-uname.patch - 0004-shared-util-add-helper-to-create-tempfiles.patch - 0005-shared-osarch-add-missing-architecture-aliases.patch - 0006-shared-osarch-add-function-for-parsing-etc-os-releas.patch - 0007-shared-version-add-helper-to-get-platform-specific-v.patch - 0008-shared-version-include-OS-architecture-and-possibly-.patch - 0009-Fix-uname-handling-on-some-architectures.patch - 0010-version-Only-include-kernel-version-not-build-id.patch - 0011-Move-testhelpers-into-shared-osarch-for-now.patch * Bump standards to 4.1.0 - Make dh-systemd build-dependency conditional on debhelper version -- Stéphane Graber Tue, 26 Sep 2017 11:07:55 -0400 lxd (2.18-0ubuntu2) artful; urgency=medium * Cherry-pick some upstream fixes: - 0001-networks-Update-dnsmasq-on-container-renames.patch - 0002-network-Better-handle-dnsmasq-version-checks.patch * Tighten liblxc dependency (>= 2.1) -- Stéphane Graber Sat, 23 Sep 2017 15:14:15 -0400 lxd (2.18-0ubuntu1) artful; urgency=medium * New upstream release (LP: #1718342) - The btrfs filesystem can now be used on LVM and Ceph storage pools. - Our internal "lxd-benchmark" tool is now a first class utility. - "lxd-benchmark" can now generate performance reports. - It's now possible to move a running container in the background, only stopping it at the last minute (using --stateless option). - A new "ceph.osd.force_reuse" storage pool property was added to limit accidental import of used Ceph pools. - client: Reduce request logging to Debug level - doc: Link to release notes and downloads - doc: Tweak docker instructions - lxc/delete: Fix the --force description - lxc/image: Fix import crash when adding properties - lxc/move: Use force on delete - lxd-benchmark: Big code refactoring - lxd/apparmor: Support new stacking syntax - lxd/containers: Check for container mountpoint too - lxd/containers: Fix handling of major and minor numbers in device IDs - lxd/containers: Remove from db on storage failure - lxd/daemon: Refactoring of State as a separate package - lxd/daemon: Reset the images auto-update loop when configuration changes - lxd/db: Add db/query sub-package with common query helpers - lxd/db: Add db/schema sub-package for managing database schemas - lxd/db: Automatically generate database schema from database updates - lxd/events: Fix race condition in event handlers - lxd: Fix typo in comment - lxd/images: Fix ordering of compressor arguments - lxd/images: Fix private image copy with partial fp - lxd/images: Properly extract the image expiry - lxd/init: Code refactoring - lxd/init: Fix btrfs subvolume creation - lxd/init: Improve default storage backend selection - lxd/init: Re-order btrfs questions (LP: #1717771) - lxd/main: Fix error message when log path is missing - lxd/migration: Fix live migration (bad URL in dumpsuccess) - lxd/networks: Allow for duplicate IPs - lxd/networks: Don't require ipt_checksum - lxd/networks: Fix bridging devices with IPv6 link-local - lxd/networks: Make dnsmasq quiet when not in debug mode - lxd/networks: Only add --quiet options to dnsmasq if it supports it - lxd/networks: Switch to a directory based dhcp-host - lxd/patches: Make dir pool use bind-mount - lxd/patches: Move patch to the right part of the file - lxd/storage: Don't mask error messages - lxd/storage: Extend makeFSType, remove duplicated mkfs.* code - lxd/storage: If volume creation fails, delete DB entry - lxd/storage: Only validate config changes - lxd/storage/ceph: Add note about filesystems for Ceph cluster - lxd/storage/ceph: Fix divide error in size calculation - lxd/storage/ceph: Generate a new xfs UUID - lxd/storage/ceph: Implement resizing - lxd/storage/ceph: Sanitize path return from rbd map - lxd/storage/ceph: Set ACL on container copy - lxd/storage/ceph: Use Storage{Start,Stop}() - lxd/storage/ceph: Use UUID when creating zombie storage volumes - lxd/storage/dir: Use bind-mount for pools outside ${LXD_DIR} - lxd/storage/dir: Use correct function - lxd/storage/lvm: Generate a new xfs UUID on thinpool copy - lxd/storage/lvm: Report error on wrong storage type - lxd/storage/lvm: Require resize request to be at least 1MB - lxd/storage/zfs: Use "referenced" property when zfs.use_refquota=true - shared: Add helpers to parse/compare versions - shared: Fix growing of buf in GroupId - shared: Guess size when sysconf() returns*1 - shared/api: Fix new golint warning - shared/idmap: Disallow hostids intersecting subids - shared/idmap: Move idmap/acl functions to a separate package - shared/subtest: Vendor the subtest package - tests: Add more ceph tests - tests: Add support for LXD_TMPFS to perf.sh - tests: Add test for disallowing hostid in subuid - tests: Also measure batch startup time in perf.sh - tests: Bump image auto update limit to 20min - tests: Ceph test volume resizing - tests: Container import fixes - tests: Don't copy running lvm/ceph containers - tests: Include LVM in image auto update - tests: Limit ceph volumes to 25MB - tests: Lower pg number for OSD pools - tests: Non-functional changes - tests: Resize block size to 200MB - tests: Use "--force" everywhere on stop - tests: Use testimage for perf testing - tests: Wait up to 2 minutes for image updates -- Stéphane Graber Thu, 21 Sep 2017 20:47:37 -0400 lxd (2.17-0ubuntu4) artful; urgency=medium * No change rebuild for updated go-lxc. -- Stéphane Graber Wed, 20 Sep 2017 18:09:13 -0400 lxd (2.17-0ubuntu3) artful; urgency=medium * No change rebuild for updated go-lxc. -- Stéphane Graber Tue, 19 Sep 2017 21:39:00 -0400 lxd (2.17-0ubuntu2) artful; urgency=medium * Cherry-pick upstream fixes: - 0001-network-Switch-to-a-directory-based-dhcp-host.patch - 0002-network-Make-dnsmasq-quiet-when-not-in-debug-mode.patch - 0003-shared-Fix-growing-of-buf-in-GroupId.patch - 0004-Fix-live-migration-bad-URL-in-dumpsuccess.patch - 0005-apparmor-Support-new-stacking-syntax.patch [ Dimitri John Ledkov ] * Disable upstart integration on artful+. -- Stéphane Graber Fri, 25 Aug 2017 18:35:56 -0400 lxd (2.17-0ubuntu1) artful; urgency=medium * New upstream release (2.17): - Add support for specifying the ceph user - Implement "instance types" as an easy way to specify limits - Add a new "lxc query" command as a low level query tool for the LXD API - Filesystem ACLs are now rewritten when the container changes uid/gid map - LXD now supports using binary deltas when refreshing daily images - "lxc image info" now shows whether an image was automatically cached - client: Cleanup code duplication in image download function - client: Remove deprecated client code - client: Simplify ConnectPublicLXD logic - doc: Add storage documentation for volatile.pool.pristine - doc: Add the volatile.initial\_source key - doc: Fix bad JSON in rest-api.md - doc: Properly escape path params - extra/lxc-to-lxd: Ignore capabilities that are dropped by default - extra/lxc-to-lxd: Ignore sysfs/proc mounts - extra/lxc-to-lxd: Properly handle lxc.seccomp - i18n: Update translations from weblate - lxc: Fix race in progress reporter - lxc: Re-introduce remote protocol migration - lxc/config: Expose extra certificate functions - lxc/image: Fix copy of image aliases - lxc/image: Wait for the refresh to complete - lxc/remote: Don't require a crt for public remotes - lxd: Move lxd/util.go into its own lxd/util/ sub-package - lxd/containers: Allow passing disk devices with the LXD snap - lxd/containers: Another LXC 2.1 key rename, lxc.idmap - lxd/containers: Fix a typo: now -> know - lxd/containers: Fix gpu attach when mixing GPU vendors - lxd/containers: Fix sorting order of devices - lxd/containers: Fix support for isolcpu in CPU scheduler - lxd/containers: Make stateful snapshot restores work again - lxd/daemon: Add initial lxd/sys sub-package and OperatingSystem structure - lxd/daemon: d.os.Init must be run after all paths are created - lxd/daemon: Extract Daemon.ExpireLogs into a standalone function - lxd/daemon: Extract Daemon.GetListeners into a standalone function - lxd/daemon: Extract Daemon.httpClient into a standalone HTTPClient - lxd/daemon: Extract Daemon.ListenAddresses into a standalone function - lxd/daemon: Extract Daemon.PasswordCheck into a standalone function - lxd/daemon: Extract Daemon.SetupStorageDriver into a standalone function - lxd/daemon: Log a warning for unknown config keys instead of crashing - lxd/daemon: Move Daemon.BackingFs to the OS struct - lxd/daemon: Move Daemon.IdmapSet to OS.IdmapSet - lxd/daemon: Move Daemon.isRecursionRequest to the lxd/util sub-package - lxd/daemon: Move Daemon.lxcpath to OS.LxcPath - lxd/daemon: Move Daemon.MockMode to OS.MockMode - lxd/daemon: Move Deamon.CheckTrustState and Deamon.isTrustedClient - lxd/daemon: Move filesystemDetect function into lxd/util subpackage - lxd/daemon: Replace Daemon with State in all model entities - lxd/daemon: Use select and save a few goroutines - lxd/daemon: Use sql.DB or sys.OS instead of Daemon where possible - lxd/db: Drop dependencies on Daemon in db.go - lxd/db: Move db\*.go files into their own db/ sub-package - lxd/images: Carry old "cached" value on refresh - lxd/import: Don't use un-initialized structs - lxd/networks: Allow starting LXD without dnsmasq - lxd/networks: Fix networkIptablesClear with missing ip{6}tables - lxd/networks: Make "dev" work as a network name - lxd/networks: Set dnsmasq.raw to be 0644 - lxd/networks: Stop networks on clean shutdown - lxd/patches: Fix canmount=noauto patch - lxd/patches: Unset "size" for ZFS containers + images - lxd/storage: Count custom volumes in pool UsedBy - lxd/storage: Enable "volume.size" for {btrfs,zfs} - lxd/storage: Fix "size" property - lxd/storage: Fix wrong driver name for log output - lxd/storage: Non-functional changes - lxd/storage/ceph: Fix double --cluster - lxd/storage/ceph: Unmap until EINVAL - lxd/storage/ceph: Use "/dev/rbd" via sysfs - lxd/storage/ceph: Use minimal image feature set for clones - lxd/storage/dir: Check if directory is empty - lxd/storage/zfs: Always require existing datasets to be empty - lxd/storage/zfs: Refactoring - shared: Add wrapper to translate host paths - shared: Move GetRemoteCertificate from lxc/remote - tests: function to include storage backends helpers - tests: Refactor cleanup functions - tests: Split out lxc and lxd related helper functions - tests: Split out network-related helper functions - tests: Split out storage-related helper functions - tests: Split out test setup related helper functions - tests: Use $storage\_backends variable * Add dependency on xdelta3 (for delta updates) * Add build-dependency on libacl1-dev (for posix ACL remapping) -- Stéphane Graber Wed, 23 Aug 2017 00:38:09 -0400 lxd (2.16-0ubuntu3) artful; urgency=medium * Cherry-pick upstream fixes: - 0002-Don-t-use-un-initialized-structs-in-import.patch - 0003-client-fix-image-copy.patch - 0004-network-Make-dev-work-as-a-network-name.patch - 0005-Make-lxc-image-copy-fast-again.patch - 0006-lxc-image-Fix-aliases-with-simplestreams-remotes.patch - 0007-lxc-remote-Don-t-require-a-crt-for-public-remotes.patch - 0008-storage-Count-custom-volumes-in-pool-UsedBy.patch - 0009-Make-stateful-snapshot-restores-work-again.patch - 0010-Add-support-for-isolcpu-in-CPU-scheduler.patch - 0011-devices-handle-empty-isolcpus-set.patch - 0012-devices-do-not-mark-all-cpus-isolated-by-default.patch - 0013-gpu-fix-gpu-attach.patch -- Stéphane Graber Thu, 17 Aug 2017 00:36:12 -0400 lxd (2.16-0ubuntu2) artful; urgency=medium * Cherry-pick upstream fix: - 0001-patches-fix-canmount-noauto-patch.patch -- Stéphane Graber Wed, 26 Jul 2017 10:55:45 -0400 lxd (2.16-0ubuntu1) artful; urgency=medium * New upstream release (2.15): - Ceph RBD can now be used as a LXD storage backend. - A new security.idmap.base key has been added to control what base uid/gid to use on the host when using security.idmap.isolated. - Image downloads can now be interrupted. - File transfers now support sending symlinks - "lxc copy" and "lxc move" will now show progress information - "lxc copy" and "lxc move" now support "relay" and "push" modes to go around firewalls and NAT (--mode option) - Custom storage volumes can now have their size set and modified - "lxc image import" now supports reading from a directory containing an unpacked image - The "vlan" property can now be set on "physical" network interfaces (was previously restricted to "macvlan") - It's now possible to delete image volumes from a storage pool. This allows removing a storage pool without having to remove the images from the image store. - The image metadata and template files can now be created or modified through the API prior to publish a container as an image. - Stateful snapshots can be restored as a new container on a remote host. - client: Allow specifying base http client - client: Commonize error handling - client: Don't live migrate stopped containers - client: Fix crash in operation handler - client: Fix file push/pull with names containing spaces - client: Fix handling of public LXD remote - client: Fix race condition in operation handling - client: Improve migration relay code - client: Make it possible to retrieve HTTP client - client: Properly handle remote disconnections - client.go: Make deprecation warnings visible in godoc - config: Try to be clever about ":" in snapshots - doc: Add note on use of previous image from cache - doc: Document storage\_images\_delete API extension - doc: Document the exec control API - doc: Expand lxd import documentation - doc: Extend/rework security-related documentation. - doc: Fix help to provide sample that actually works - doc: Fix spaces, commas, quotes, brackets where needed - doc: Initial documentation of container env - doc: Need quotes for /1.0/networks/ "config"."ipv6.nat" - doc: Remove extraneous backslash - doc: Update containers.md - github: ISSUE\_TEMPLATE.md: Fix lxd.log location - global: Fix a few typos - lxc/config: Removal of multiple devices at once - lxc: Create missing config paths - lxc: Cross-platform HOME handling - lxc/exec: Fix signal handler for Windows - lxc/file: Don't specify mode for directories created with `push -p` - lxc/image: Always use long fingerprint in exported filenames. - lxc/image: Fix "lxc image copy" not recording the source - lxc/image: Improve "lxc image list" filter handling - lxc/image: Missing error handling - lxc/image: Properly record alias source on copy - lxc/image: Update image aliases when they already exist - lxc/launch: Fix failure to launch containers with random names - lxc/list: Error if --columns and --fast are used together - lxc/publish: Change compression\_algorithm to compressionAlgorithm - lxc/publish: Fix fingerprint printing - lxc/utils: Avoid potential progress race condition - lxc/utils: Println doesn't do format strings - lxd/container: Fix broken error handling - lxd/containers: Better handle errors in memory reporting - lxd/containers: Show underlying error when container delete fails - lxd/containers: Support for LXC 2.1 configuration keys (and fallback) - lxd/images: Clear error for image not found - lxd/images: Fix image refresh when fingerprint is passed. - lxd/import: Keep volatile keys - lxd/import: Remove last dependency on symlink - lxd/init: Detect LVM thin provisioning tools - lxd/networks: Don't fail on non-process PIDs - lxd/storage: Check idmaps of all attaching containers - lxd/storage: Fix ETag handling of volumes - lxd/storage: Fix readonly mode for directory mount - lxd/storage: Fix UsedBy for containers and images - lxd/storage: Fix volume config logic - lxd/storage: Introduce a storagePoolVolumeUsedByContainersGet function - lxd/storage: Move db deletion to driver implementation - lxd/storage: Restrict size property in pool config - lxd/storage/lvm: Convert to RunCommand - lxd/storage/lvm: Fix broken error handling - lxd/storage/lvm: Fix non-thinpool container creation - lxd/storage/lvm: Non-functional changes - lxd/storage/zfs: Moved all the helper functions to storage\_zfs\_utils.go - lxd/storage/zfs: Removed s.zfsPoolVolumeCreate() - lxd/storage/zfs: Set canmount=noauto on all mountable datasets - lxd/storage/zfs: Used s.getOnDiskPoolName() instead of s.pool.Name - README: Fix broken links - README: Seriously rework the content - shared/cancel: Fix crash if no canceler is setup - shared/cancel: Fix return value ordering - shared/cancel: Use request Cancel channel - shared: Use custom error type for RunCommand - shared/util: Guess size when sysconf() returns -1 - shared: Websocket proxy should proxy everything - tests: Add a test for "lxc storage volume set" - tests: Add a test for read-only disks - tests: Add import test when symlink has been removed - tests: Add test for push and relay mode - tests: Allow running tests without lxdbr0 - tests: Always pass --force to stop/restart - tests: More apparmor presence checking - tests: Skip apparmor tests when no kernel support - tests: Validate that the right busybox is present - zfs: Use tryMount when mounting filesystem -- Stéphane Graber Tue, 25 Jul 2017 20:05:57 -0400 lxd (2.15-0ubuntu6) artful; urgency=medium * Cherry-pick upstream fixes: - 0015-Fix-file-push-pull-with-names-containing-spaces.patch -- Stéphane Graber Wed, 05 Jul 2017 14:51:44 -0400 lxd (2.15-0ubuntu5) artful; urgency=medium * Cherry-pick upstream fixes: - 0006-lxc-config-Removal-of-multiple-devices-at-once.patch (LP: #1690299) - 0007-network-Don-t-fail-on-non-process-PIDs.patch (LP: #1698712) - 0008-config-Try-to-be-clever-about-in-snapshots.patch (LP: #1694855) - 0009-Fix-readonly-mode-for-directory-mount.patch - 0010-client-Fix-race-condition-in-operation-handling.patch - 0011-import-keep-volatile-keys.patch - 0012-import-remove-last-dependency-on-symlink.patch - 0013-Better-handle-errors-in-memory-reporting.patch - 0014-client-Don-t-live-migrate-stopped-containers.patch -- Stéphane Graber Mon, 03 Jul 2017 18:19:16 -0400 lxd (2.15-0ubuntu4) artful; urgency=medium * Cherry-pick upstream fixes: - 0005-client-Commonize-error-handling.patch -- Stéphane Graber Fri, 30 Jun 2017 18:13:02 -0400 lxd (2.15-0ubuntu3) artful; urgency=medium * Cherry-pick upstream fixes: - 0004-cancel-Fix-crash-if-no-canceler-is-setup.patch -- Stéphane Graber Thu, 29 Jun 2017 14:22:51 -0400 lxd (2.15-0ubuntu2) artful; urgency=medium * Cherry-pick upstream fixes: - 0001-lxc-publish-Fix-fingerprint-printing.patch - 0002-Fix-failure-to-launch-containers-with-random-names.patch - 0003-client-Fix-handling-of-public-LXD-remote.patch -- Stéphane Graber Wed, 28 Jun 2017 17:40:28 -0400 lxd (2.15-0ubuntu1) artful; urgency=medium * New upstream release (2.15): - "lxc list" and "lxc image list" now both support table, json, yaml and csv as output formats. - It's now possible to cancel (DELETE) some background operations while they're downloading content. - The "lxc" command line tool was ported from our old client code to the new client package. This was the last bit of code which needed porting and we're now planning on removing the old client package from our tree with LXD 2.16. - New CopyContainer and CopyContainerSnapshot functions were added to the client package. - LXD will now dynamically remap custom storage volumes when attached to containers. - client: Add extra exec option to block on I/O - client: Fail copy if the source isn't listening on network - client: Fix potential race in event handler setup - client: Only set file headers if value is provided - doc: Add a note for blkio limits - doc: Document image refresh API call - doc: Fix missing markdown escaping - doc: Tweak storage formatting - lxc/file: Clean source path for recursive push - lxc/file: Properly read file permissions on Windows - lxd/containers: Support lxc.net..\* configuration keys on newer LXC - lxd/containers: Check whether the disk device exists before unmount - lxd/containers: Detect POLLNVAL when polling during exec - lxd/containers: Fail if we get EBUSY during startup - lxd/containers: Use the lxc.network..\* configuration keys - lxd/db: Replace some uses of InternalError with SmartError - lxd/images: Always expand the fingerprint - lxd/images: If multiple cache hits, pick the latest - lxd/images: Properly initialize image info in direct case - lxd/images: Skip cached images without auto-update - lxd/networks: Always pass --conf-file to dnsmasq - lxd/networks: Only generate DHCP fw rules if enabled - lxd/networks: Remove IPv6 leases on container delete - lxd/networks: Tweak error in subnet auto detection - lxd/patches: Fix bad upgrade for ZFS pools - lxd/patches: Make sure localdevices are properly updated - lxd/shutdown: Only timeout if told to - lxd/storage: Fix ETag calculation for pools - lxd/storage: Insert driver correctly - lxd/storage/btrfs: Apply default flags BEFORE detecting type - lxd/storage/btrfs: Enable filesystem quotas on demand - lxd/storage/dir: Still create the needed symlinks on freeze failure - lxd/storage/dir: Unfreeze on rsync errors - lxd/storage/lvm: Allow non-empty VGs when thinpool exists - lxd/storage/rsync: Handle sparse files when rsyncing - lxd/storage/zfs: Fix container snapshot copy - lxd/storage/zfs: Improve dummy dataset creation - Makefile: Update pot before po - shared/api: API extensions go at the bottom - tests: Add more copy/migration tests - tests: Add tests for custom storage volume attach - tests: Add tests for "lxc file push -r ./" - tests: Don't attempt to finger public remotes - tests: Don't run migration tests again on LVM when backend is random - tests: Use in-memory database for tests * Bump standards to 4.0.0, no change required. -- Stéphane Graber Wed, 28 Jun 2017 00:05:49 -0400 lxd (2.14-0ubuntu5) artful; urgency=medium * Cherry-pick upstream fix (image direct download): - 0007-lxd-images-Initialize-image-info-in-direct-case.patch -- Stéphane Graber Tue, 20 Jun 2017 13:28:36 -0400 lxd (2.14-0ubuntu4) artful; urgency=medium * Cherry-pick upstream fix (btrfs bind-mount): - 0006-btrfs-Apply-default-flags-BEFORE-detecting-type.patch -- Stéphane Graber Thu, 15 Jun 2017 01:04:03 -0400 lxd (2.14-0ubuntu3) artful; urgency=medium * Cherry-pick upstream fixes (bad snapshot copies): - 0003-zfs-fix-container-copy.patch - 0004-storage-copy-move-bugfixes.patch - 0005-test-add-more-copy-migration-tests.patch -- Stéphane Graber Fri, 09 Jun 2017 15:18:57 -0600 lxd (2.14-0ubuntu2) artful; urgency=medium * Cherry-pick upstream fixes: - 0001-storage-insert-driver-correctly.patch - 0002-patches-fix-upgrade.patch -- Stéphane Graber Wed, 07 Jun 2017 23:04:16 -0600 lxd (2.14-0ubuntu1) artful; urgency=medium * New upstream release (2.14): * New client library * Add a CreateContainerFromImage function * Implement image upload * Implement remote operations * API additions * New "description" field for containers, networks, storage pools and storage volumes * Allow for image refreshes (lxc image refresh) * When launching containers, an existing cached image is now preferred over downloading a refreshed one * "lxd init" can now be preseeded with "--preseed" and a yaml config file * Introduce a new btrfs.mount\_options pool property * Implement resizing for LVM (grow/shrink for ext4, grow only for xfs) * client: Add image\_create\_aliases backward compat * client: Always pass pointer to queryStruct * client: Don't return cache on GetServer * client: Fill the server fingerprint if missing * client: Fix private image handling * client: Fix race condition in operation handler * client: Improve error on image copy * client: Keep track of protocol * client: Move CopyImage to the target server * client: Remove unneeded condition * client: Require the volume type for storage volume * client: Support partial fingerprints * client: Track the server certificate, not client * client: Use RemoteOperation for CopyImage * doc: Add documentation about the init preseed feature * doc: Correct typo in device type name * doc: Fix markdown escaping * doc: Update README.md Docker instructions * doc/network: Add section on macvlan vs bridge * doc/storage: Correct grammar * doc/storage: Document zfs quota vs refquota * doc/storage: Fix ordering * extra/lxc-to-lxd: Don't crash on missing mount file * global: Fix typos * global: Replace file Chmod() with os.Chmod() * global: Use containerGetParentAndSnapshotName() everywhere * i18n: Pre-release update * i18n: Update translations from weblate * lxc: Fix obscure error on missing object name * lxc: Implement progress tracking for operations * lxc/copy: Improve error handling * lxc/copy: Simplify the code * lxc/file: Fix broken file push on Windows * lxc/file: Fix recursive file push on Windows * lxc/init: Drop unnecessary else statement * lxc/remote: Show the fingerprint as string not hex * lxc/storage: Don't ignore yaml errors * lxd: Support running individual testify test suites * lxd/containers: Also clear the host\_name volatile key * lxd/containers: Cleanup volatile keys on update * lxd/containers: Disable IPv6 on created macvlan parents * lxd/containers: fillNetworkDevice is only for nic * lxd/containers: Use networkSysctl whenever possible * lxd/daemon: Fix ETag handling for /1.0 * lxd/daemon: Actually set ServerFingerprint * lxd/db: Add a testify test suite for db tests, rework existing tests * lxd/db: Clear database state in the mock daemon after each lxdSuiteTest * lxd/db: Don't special-case mock mode unnecessarily in db patches * lxd/db: Return NoSuchObjectError on missing storage pools * lxd/db: Separate db-level update logic from daemon-level one * lxd/images: Check if the image already exists on upload * lxd/images: Fix potential double unlock * lxd/images: Fix regression in image auto-update logic * lxd/images: Save image source certificate and pass it to the download * lxd/images: Split autoUpdateImage function * lxd/import: Error on out missing name * lxd/init: Extract validation of --auto args into a separate method * lxd/init: Move state-changing inline functions to own methods * lxd/init: Rollback to initial state if anything goes wrong * lxd/init: Properly set the default port * lxd/networks: Fix ETag regression * lxd/patches: Drop unused variable * lxd/profiles: Remove the Docker profile * lxd/storage: Add helper to detect if pool is in use * lxd/storage: Add lxdResolveMountoptions() * lxd/storage: Add MS\_LAZYTIME to mount options * lxd/storage: Add permission helpers * lxd/storage: Avoid an infinite loop * lxd/storage: Fix bad internal types * lxd/storage: Move mount helpers to storage utils * lxd/storage: Only delete custom volumes * lxd/storage: Pass container struct to ContainerMount() * lxd/storage: Re-order storage pool checks * lxd/storage/btrfs: Add getBtrfsPoolMountOptions() * lxd/storage/btrfs: Handle migration on different LXDs * lxd/storage/btrfs: Remove unused variable * lxd/storage/btrfs: Use lxdResolveMountoptions() * lxd/storage/lvm: Allow re-using existing thinpools * lxd/storage/lvm: Check whether volume group is already in use * lxd/storage/lvm: Disallow using non-empty volume groups * lxd/storage/lvm: Only delete VG when empty * lxd/storage/lvm: Resolve mount options properly * lxd/storage/lvm: Simplify and improve pool creation * lxd/storage/zfs: Create image dataset with mountpoint=none * lxd/storage/zfs: Fix folder permissions after dataset creation * lxd/storage/zfs: Try to work around zfs EBUSY bug * Makefile: Add update-po to i18n target * Makefile: Fix static-analysis target * shared: Add yaml-mode marker in template for "lxc edit" actions * shared/cmd: Add new package with initial command I/O logic * shared/cmd: Complete cmd.Context support for various AskXXX methods * shared/cmd: Don't depend on testify * shared/cmd: Make the log cmdInit unit-testable * shared/logger: Make golint clean * shared/logger: Replace PrintStack with GetStack * shared/logging: Export LogfmtFormat * shared/logging: Make golint clean * shared/termios: Make golint clean * tests: Add btrfs.mount\_options test * tests: Add LV resizing tests * tests: Add mount option test for LVM * tests: Add quota tests * tests: Allow random storage backend selection * tests: Don't rely on busybox shutting down nicely * tests: Drop jenkins-specific check again * tests: Explicitly pass shell type to shellcheck * tests: Honor the LXD\_BACKEND environment variable in storage tests * tests: Make sure storage volume is mounted * tests: Remove invalid test for Jenkins * tests: Test suites use space indent * tests/deps: Make golint clean * Re-enable building with shared libraries. -- Stéphane Graber Tue, 30 May 2017 17:25:29 -0400 lxd (2.13-0ubuntu3) artful; urgency=medium * Add build-dependency on golang-github-gorilla-context-dev. Only needed when building without shlibs. -- Stéphane Graber Wed, 26 Apr 2017 12:18:27 -0400 lxd (2.13-0ubuntu2) artful; urgency=medium * Disable building with shared libraries. This will hopefully fix the weird i386 crashes we're seeing. -- Stéphane Graber Wed, 26 Apr 2017 12:02:01 -0400 lxd (2.13-0ubuntu1) artful; urgency=medium * New upstream release (2.13): - lxc/copy: Allow copying a container without its snapshots - lxd/storage/zfs: Introduce a new "zfs.clone_copy" property - client: New, better designed, client library available for testing - lxd/containers: unix-char/unix-block devices can now be renamed - lxd/containers: AppArmor namespacing for privileged containers too - lxd/storage/lvm: Implement non-thinpool LVM storage pools - lxc/list: Support for CSV as an output format - lxd/init: Support for creating a subvolume in an existing btrfs setup - lxd/storage: Implement support for restricting rsync bandwidth - lxd/network: Allow overriding the VXLAN multicast interface - client: Add basic logging code - client: Fix file push path handling - doc/api-extensions: Properly escape markdown - doc/configuration: Drop deprecated config options - doc/configuration: Extract containers documentation to containers.md - doc/configuration: Extract networking documentation to networks.md - doc/configuration: Extract profiles documentation to profiles.md - doc/configuration: Extract server documentation to server.md - doc/configuration: Extract storage documentation to storage.md - doc/configuration: Fix storage volume configuration - doc/configuration: Update with links to other documents - doc/lxd-ssl-authentication: Drop mention of PKI CRL (not implemented) - doc/production-setup: Fix broken table - doc/README: Update for new API client - doc/storage: Add note about escaping btrfs qgroups - doc/storage: Re-format a bit - i18n: Update translations from weblate - lxc/copy: Return the source error too - lxc/copy: Wait for operations asynchronously - lxc/list: Document list format options - lxc/manpage: Show all commands in "man lxc" - lxd/containers: Add containerGetParentAndSnapshotName() - lxd/containers: Added soft memory limit even when hard is selected - lxd/containers: Allow for stable host interface names - lxd/containers: Fix handling of devices with minor>255 - lxd/containers: Fix typo in securtiy.syscalls.blacklist - lxd/containers: Fix unix device removal (bad cgroup.deny entry) - lxd/containers: Improve storage error messages on creation - lxd/containers: Properly invalidate the idmap cache - lxd/daemon: Improve PKI certificate handling - lxd/db: Deal with the case where no updates exist - lxd/images: Drop leftover debug statement - lxd/init: Add all storage options - lxd/main_activateifneeded: Port to new client code - lxd/main_callhook: Port to new client code - lxd/main_daemon: Port to new client code - lxd/main_forkexec: Remove use of os.FindProcess - lxd/main_import: Handle non-existing snapshots path - lxd/main_import: Port to new client code - lxd/main_init: Port to new client code - lxd/main_migratedumpsuccess: Port to new client code - lxd/main_netcat: Implement logging - lxd/main_netcat: Switch to new helper - lxd/main_ready: Port to new client code - lxd/main_shutdown: Port to new client code - lxd/main_waitready: Port to new client code - lxd/migration: Fix stateful restore - lxd/operations: Remove useless for loops - lxd/profiles: Fix ETag handling - lxd/rsync: Make our netcat handle EAGAIN - lxd/storage: Check that pool exists on profile changes - lxd/storage: Fix and improve config validation - lxd/storage/lvm: Improve snapshot handling - lxd/storage/lvm: Tweak {Try}RunCommand() calls - shared/api: Add the Stateful field to ContainerPut - shared/api: Properly define the image creation source - shared/gnuflag: Fix golint - shared/i18n: Simplify and make golint clean - shared/ioprogress: Simplify and make golint clean - shared/logger: Add line number logging - shared/logger: Add pretty formatting - shared/logger: Create new package for logger - shared/util_linux: Add function to detect errno - shared/version: Make golint clean - tests/lxd-benchmark: Port to new client code - tests: Add additional "file push -p" tests - tests: Add additional import tests - tests: Add additional storage pool tests - tests: Add migration tests for copy and move - tests: Keep testsuite non-executable (they're sourced) - tests: Make sure a client certificate is generated - tests: Make sure we also delete dependent records in import tests - tests: Record how long the tests take - tests: Run golint on client/ and lxc/config/ - tests: Stop containers before modifying the DB - tests: Use flake8 instead of separate pyflakes and pep8 - tests: Use shutdown/respawn helpers to simplify import tests * Update systemd unit to set maximum kernel NOFILE (rather than "infinity") -- Stéphane Graber Wed, 26 Apr 2017 01:35:57 -0400 lxd (2.12-0ubuntu3) zesty; urgency=medium * Cherry-pick upstream bugfixes: - 0001-lxc-copy-Return-the-source-error-too.patch - 0002-i18n-Update-translation-templates.patch - 0003-migration-fix-stateful-restore.patch - 0004-Fix-unix-device-removal-bad-cgroup.deny-entry.patch - 0005-containers_post-better-error-message.patch - 0006-lxd-container-Typo-in-securtiy.syscalls.blacklist.patch - 0007-operations-Remove-useless-for-loops.patch - 0008-storage-Check-that-pool-exists-on-profile-changes.patch - 0009-profiles-Fix-ETag-handling.patch - 0010-Enable-stacking-for-privileged-containers.patch - 0011-client-fix-file-push.patch -- Stéphane Graber Wed, 05 Apr 2017 16:30:03 -0400 lxd (2.12-0ubuntu2) zesty; urgency=medium * Increate default inotify limits to 1024 instances per uid. (LP: #1602192) -- Stéphane Graber Mon, 03 Apr 2017 18:51:34 -0400 lxd (2.12-0ubuntu1) zesty; urgency=medium * New upstream release (2.12): - doc: Add a note about restricting access to kernel ring buffer - doc: Document backup strategies - doc: Document that X-LXD-type is valid for POST - i18n: Update translation templates - lxc: Properly clear transfer stats on error - lxc/copy: Don't attempt to live migration on copy - lxc/exec: Implement ssh-style -t/-T/-n - lxc/list: Add a simple list formatting example - lxd/backup: Improve backup handling - lxd/backup: Record container's storage volume - lxd/backup: Record storage pool struct - lxd/containers: Find max value currently used - lxd/daemon: Allow unsetting deprecated keys with default - lxd/daemon: Skip StoragePoolCheck() broken patch - lxd/images: Record the server certificate in the cache - lxd/init: Better render available storage backends - lxd/init: Support all storage drivers - lxd/internal: Check for container storage volume - lxd/patches: Check if config is empty before update - lxd/patches: Ensure existing pool config is kept - lxd/storage: Adapt SetupStorageDriver() - lxd/storage: Fix container_lxc to match shared/api - lxd/storage: Make Storage{Start,Stop}() return bool and error - lxd/storage/btrfs: Add isBtrfsFilesystem() - lxd/storage/lvm: Force lvmetad cache update - lxd/storage/zfs: Create a volume entry for re-used images - lxd/storage/zfs: Load kernel module in case it isn't - lxd/storage/zfs: Prevent removal of the snapshot mountpoint - lxd/storage/zfs: Try lazy umount if zfs umount fails - scripts/lxc-to-lxd: Typo in description of --move-rootfs - shared/api: Update storage.go to cover POST too - shared/simplestreams: Export image file list - tests: Add tests for lxd import - tests: Fix btrfs detection code - tests/lxd-benchmark: Fix --help and --version handling -- Stéphane Graber Mon, 20 Mar 2017 16:56:21 -0400 lxd (2.11-0ubuntu4) zesty; urgency=medium * Add versioned dependency on passwd/uidmap. (LP: #1672100) -- Stéphane Graber Mon, 13 Mar 2017 14:44:21 +0000 lxd (2.11-0ubuntu3) zesty; urgency=medium * Better handle broken network upgrades. (LP: #1671692) * Remove LVM patch as it turned out to be an lvm2 bug. -- Stéphane Graber Fri, 10 Mar 2017 17:27:35 -0500 lxd (2.11-0ubuntu2) zesty; urgency=medium * Cherry-pick upstream candidate fix for autopkgtest i386 failure: - 0001-lvm-use-ff-with-vgremove.patch -- Stéphane Graber Wed, 08 Mar 2017 22:05:17 -0500 lxd (2.11-0ubuntu1) zesty; urgency=medium * New upstream release (2.11): - New "aliases" field in POST /1.0/images - Reworked help messages and "lxc manpage" command (LP: #1544984) - New "vlan" nic property for "macvlan" devices - doc: Add instructions to grow ZFS loop (LP: #1648995) - doc: Improve storage doc - global: Use RunCommand everywhere - i18n: Refresh templates - i18n: Update translations from weblate - i18n: Update translation templates - lxc: Allow --version to be passed with any command - lxc: Make help/usage a bit more consistent - lxc: Rework for better manpages - lxc/image: Show the alias description - lxc/profile: Properly implement "profile unset" (LP: #1669772) - lxd/containers: Don't use FindProcess, just pass exec.Cmd - lxd/containers: Properly revert memory limits on failure - lxd/images: Properly return the alias description - lxd/images: Refactor code a bit - lxd/migration: Actually unset the storage pool if unavailable - lxd/migration: Better handle rsync errors (subprocesses) - lxd/migration: Set correct pool property for btrfs - lxd/migration: Set correct pool property for zfs - lxd/migration: Tweak rsync logging a bit - lxd/patches: Call tryMount() if not already mounted - lxd/patches: Conditionalize lvrename - lxd/patches: Delete image db entry if LV is missing - lxd/patches: Detect the logical volume size - lxd/patches: Fix incorrect btrfs source properties - lxd/patches: Handle mixed-storage upgrade - lxd/patches: Use MNT_DETACH for lvm - lxd/patches: Use RemoveAll() for lvm snapshots dir - lxd/storage/btrfs: Correctly handle loop-backed pools - lxd/storage/btrfs: Handle custom subvolume paths - lxd/storage/dir: Limit valid pool source paths - lxd/storage/lvm: Call {pv,vg}scan - lxd/storage/lvm: Dumb down functions from methods to functions - lxd/storage: Deal with source not being btrfs - lxd/storage: Ensure correct pool for snapshots - lxd/storage: Harden the btrfs migration code - lxd/storage: Report prepareLoopDev() error directly - shared/idmap: Fix various issues - tests: Add more dir and btrfs tests - tests: Improve lvm part of storage tests * Use "lxc manpage" to generate the manpages. * Update debian/tests/control to pull in lvm2 and thin-provisioning-tools. * Include lxd-benchmark in lxd-tools. -- Stéphane Graber Wed, 08 Mar 2017 16:24:35 -0500 lxd (2.10.1-0ubuntu1) zesty; urgency=medium * New upstream bugfix release (2.10.1): - global: Fix error handling in all filepath.Walk calls - lxd/images: Fix base image tracking (Issue #2999) - lxd/init: Allow running as non-root - lxd/storage: Add set_autoclear_loop_device() - lxd/storage/lvm: Allow loop-backed lvm storage pools - lxd/storage/lvm: Fix defer calls - lxd/storage/lvm: Make sure loop devices stays around on volume delete - lxd/storage/lvm: Set LO_FLAGS_AUTOCLEAR before file removal - lxd/storage/lvm: Use lvmized container name for LV - lxd/storage/zfs: Do not revert on success - lxd/storage/zfs: Import loop-backed storage pools on startup - shared/simplestreams: Improve error handling - shared/util: Check for err in {UUID, BlockDev} lookup - tests: Fix yet another LVM pool's volume size - tests: Give more time to reboot tests: Rely on "lxc storage" create only for lvm * Silence some warnings from the network upgrade script -- Stéphane Graber Fri, 03 Mar 2017 00:10:44 -0500 lxd (2.10-0ubuntu1) zesty; urgency=medium * New upstream release: - doc: Escape markdown - doc: Fix badly named example device - global: Use int64 for uid and gid everywhere - i18n: Refresh translations and templates - i18n: Update translations from weblate - lxc: Move common functions/types to utils.go - lxc/action: Improve batch mode - lxc/file: Detect and fail to transfer symlinks - lxc/publish: Wait for the container to be running - lxd/containers: Clarify uid/gid error - lxd/containers: Don't parse id ranges as int32 - lxd/containers: Fix override of Devices during copy - lxd/containers: Fix uint32 check - lxd/containers: Initialize idmap on demand - lxd/containers: Kill forkexec on abnormal websocket closure - lxd/containers: Properly validate architectures - lxd/containers: Remove debugging during idmap changes - lxd/containers: Simplify container storage init - lxd/containers: Validate container idmap as early as possible - lxd/containers: Validate the expanded config at container create - lxd/daemon: Check for the validity of the id maps at startup - lxd/daemon: Detect downgrades with newer DB and fail - lxd/daemon: Fix some race conditions - lxd/events: Improve formatting in events API - lxd/images: Properly handled non-optimized stores - lxd/init: Only show userns message if lacking uid/gid - lxd/patches: Activate volume group and logical volumes - lxd/patches: Do not parse volume.size for lvm - lxd/patches: Fix zfs upgrade from existing dataset - lxd/storage: Add proper logging - lxd/storage: Check if profiles use pool or volume - lxd/storage: Detect if loop file is already in use - lxd/storage: Improve storage volume attachment - lxd/storage: Make flag argument configurable - lxd/storage: Move storage drivers cache to storage.go - lxd/storage: Remove unused function argument - lxd/storage: Return correct error messages - lxd/storage: Simplifiy StoragePoolInit() - lxd/storage/btrfs: Quotas can't be enabled when unprivileged - lxd/storage/lvm: Allow updating lvm.vg_name - lxd/storage/lvm: Allow updating lvm.thinpool_name - lxd/storage/lvm: Activate volume groups and logical volumes - lxd/storage/lvm: Don't set volume size - shared/idmap: Drop GetOwner - shared/idmap: Implement Usable() functions - shared/idmap: Make more of an effort to find a default - tests: Add test for storage volume {attach,detach} - tests: Don't leak zpools in "lxd init" test * Drop all patches, now upstream. * Update "upgrade-bridge" script to be a bit more quiet. -- Stéphane Graber Wed, 01 Mar 2017 00:34:43 -0500 lxd (2.9.3-0ubuntu2) zesty; urgency=medium * Cherry-pick some upstream fixes: - 0001-tests-Don-t-leak-zpools-in-lxd-init-test.patch - 0002-btrfs-Quotas-can-t-be-enabled-when-unprivileged.patch - 0003-patches-fix-zfs-upgrade-from-existing-dataset.patch -- Stéphane Graber Sat, 25 Feb 2017 11:30:03 -0500 lxd (2.9.3-0ubuntu1) zesty; urgency=medium * New upstream bugfix release (2.9.3): - client: Always use "simplestreams" for the images: remote - doc: Add client tool examples to storage.md - doc: Add lvm.{thinpool,vg}\_name pool properties - lxd: Cleanup root device validation - lxd/containers: Add extra validation for unix-block/unix-char - lxd/containers: Check whether storage is ready before applying quota - lxd/containers: Don't ignore snapshot deletion failures - lxd/daemon: s/Default map/Available map/ - lxd/init: "lxd init" can now be run as a normal user - lxd/main: Fix comment in activateifneeded - lxd/main: Restrict daemon and activateifneeded to root - lxd/patches: Fix pool and volume configuration on upgrade - lxd/patches: Move to lvm.thinpool\_name pool key - lxd/storage: Add ContainerStorageReady() - lxd/storage: Call storageVolumeFillDefault() on demand - lxd/storage: Don't modify configuration during config check - lxd/storage: Ensure image is wiped from DB on error - lxd/storage: Fill in default configuration for images - lxd/storage: Implement correct config inheritance for pools and volumes - lxd/storage: Only fill in defaults on creation - lxd/storage: Only set size property on lvm - lxd/storage: Properly report UsedBy - lxd/storage: Store size values as given to us - lxd/storage/btrfs: Always pass the mount options - lxd/storage/btrfs: Always use the recursive subvol functions - lxd/storage/btrfs: Drop dead code - lxd/storage/btrfs: Improve upgrade - lxd/storage/btrfs: Only use size in the loop case - lxd/storage/btrfs: Properly handle nested subvolumes - lxd/storage/btrfs: Set loop file if "source" is empty - lxd/storage/dir: Handle cross-device upgrade - lxd/storage/lvm: Add lvm.thinpool\_name and lvm.vg\_name - lxd/storage/lvm: Allow reuse of existing volume groups - lxd/storage/lvm: Always set lvm.thinpool\_name - lxd/storage/lvm: Don't unmount the container twice on delete - lxd/storage/lvm: Handle "i" in sizes - lxd/storage/lvm: Parse "volume.size" not "size" property - lxd/storage/lvm: Remove volume.lvm.thinpool\_name - lxd/storage/lvm: Lock during StoragePoolVolume{M,Um}ount - lxd/storage/zfs: Lock during StoragePoolVolume{M,Um}ount - lxd/storage/zfs: Correctly handle configuration keys - lxd/storage/zfs: Only use size property in the loop case - lxd/storage/zfs: Remove very repetitive log message - lxd/storage/zfs: Set mountpoint=none on old images - shared/idmap: DefaultIdmapSet is always for root - shared/idmap: Implement parsing of kernel id maps - shared/idmap: Improve parsing of the shadow id files - shared/simplestreams: Properly handle image rebuilds - tests: Adapt to command line unification - tests: Add LVM specific storage pool tests - tests: Also unmount the devlxd path - tests: Always cleanup loop devices - tests: Always use 25MB volumes for LVM - tests: Fix lxd auto init test suite - tests: Improve performance of deadcode test - tests: Test custom storage volume creation -- Stéphane Graber Fri, 24 Feb 2017 02:20:08 -0500 lxd (2.9.2-0ubuntu1) zesty; urgency=medium * New upstream bugfix release (2.9.2): - lxd/containers: Add fun to detect root disk device - lxd/containers: Ensure proper root disk device - lxd/containers: Helper to retrieve pool from devices - lxd/containers: Path may only be used by one disk - lxd/init: Fix regressions caused by storage work - lxd/init: Small fixes - lxd/migration: Call helper to detect valid storage pool - lxd/migration: Fix moving containers with storage api - lxd/patches: Handle partial upgrades + pool fixes - lxd/patches: Handle partial upgrades + pool fixes - lxd/patches: Improve btrfs upgrade - lxd/patches: Improve dir upgrade - lxd/patches: Only rerun pool updates - lxd/profiles: Verify root disk devices - lxd/storage/btrfs: Enable quotas on the pools we create - lxd/storage/dir: Delete image from database - Makefile: Always include gorilla/context - Makefile: Drop repeated calls to "go get" - tests: Add lxd init --auto tests - tests: Add test for root disk devices in profiles - tests: Execute tests based on available tools - tests: Fix mixed tab/spaces again -- Stéphane Graber Tue, 21 Feb 2017 00:11:01 -0500 lxd (2.9.1-0ubuntu3) zesty; urgency=medium * Re-introduce gorilla/context as it's needed for backports (Go < 1.7) - Add 0006-Re-introduce-gorilla-context.patch to debian/patches - Update debian/copyright - Don't re-introduce the build-dependency as backports don't use those -- Stéphane Graber Fri, 17 Feb 2017 16:12:32 -0500 lxd (2.9.1-0ubuntu2) zesty; urgency=medium * Cherry-pick upstream fixes: - 0001-tests-Fix-mixed-tab-spaces-again.patch - 0002-init-Fix-regressions-caused-by-storage-work.patch - 0003-lxd-main_init-small-fixes.patch - 0004-test-add-lxd-init-auto-tests.patch - 0005-test-execute-tests-based-on-available-tools.patch -- Stéphane Graber Thu, 16 Feb 2017 20:17:28 -0500 lxd (2.9.1-0ubuntu1) zesty; urgency=medium * New upstream bugfix release (2.9.1): - doc: Document the "pool" property for disk devices - lxc/storage: Fix help output for create - lxc/storage: simplify - lxd/daemon: Allow unsetting the deprecated storage keys - lxd/patches: Add more comments to storage upgrade code - lxd/storage: Improve logging - lxd/storage: Rename and add opcode functions - lxd/storage: Use existing ZFS {pool, dataset} or create it - lxd/storage: Use unified operation ids when locking - tests: Use dataset as pool or existing pool for ZFS * New upstream release (2.9): - Introduce the LXD storage management API - Updated "lxd init" to support creating storage pools - Allow setting network interface name with "lxc network attach" - New "lxc file delete" command and API - Ability to append to rather than overwrite a file through the API - New "ipv4.dhcp.expiry" and "ipv6.dhcp.expiry" options for DHCP leases - doc: Clarify PUT vs PATCH - doc: Note that LXD assumes full control over its ZFS dataset - doc: Update database.md to match current DB schema - lxc: Don't include spaces in translated strings - lxc/list: Fix regression in json output - lxd/containers: Disable IPv6 on host side veth when bridged - lxd/containers: Don't block resolution on non-existing paths - lxd/containers: Don't check the image fingerprint twice - lxd/containers: Fix concurent read/write to s.conns in exec - lxd/containers: Fix error handling on FileRemove - lxd/containers: Set default values for USER, HOME and LANG - lxd/daemon: Mount a tmpfs under devlxd - lxd/daemon: Use a tmpfs for shmounts - lxd/db: Actually enable foreign keys per connection - lxd/db: Raise DB lock timeout to 30s, retry every 30ms - lxd/db: Rely on CASCADE - lxd/db: Remove some extra cleanup code - lxd/devlxd: Fix extraction of fd from UnixConn with go tip - lxd/images: Fix partial image fingerprint matches - lxd/images: Move imagesDownloading out of the daemon struct - lxd/init: Don't check the storage backend twice - lxd/migration: Clarify CRIU related errors - lxd/migration: Don't report migration success on failure - lxd/nsexec: Close *DIR stream returned by fdopendir() - lxd/nsexec: Free allocated memory - lxd/storage/btrfs: Fix recursive subvol deletion - lxd/storage/zfs: Simplify device tracking logic - Makefile: Use system libsqlite3 if available - network: Skip ip6tables clear on non-ipv6 hosts - shared: Forward user-agent and other headers on redirect - shared/api: Use consistent json and yaml field names - shared/simplestreams: Always prefer squashfs when available - shared/utils: Don't do chown on windows - shared/utils: FileCopy should also keep owner - shared/utils: FileCopy should keep the same mode - tests: Add golint for shared/api - tests: Avoid a zfs race - tests: Empty and validate network tables - tests: Fix typo - tests: Properly cleanup in template testsuite - tests: Switch to use gofmt instead of "go fmt" - tests: The monitor can exit on its own (ignore kill failure) * Drop gorilla/context: - Drop golang-context-dev from build-depend - Update debian/rules * Remove unused lintian override -- Stéphane Graber Thu, 16 Feb 2017 00:38:53 -0500 lxd (2.8-0ubuntu1) zesty; urgency=medium * New upstream release (2.8): - Exec sessions being killed by a signal will now report the signal number as part of their exit code. - The first stage of our Go client API rework is now done with a new api module containing all REST API definitions. - The dnsmasq instance used for LXD managed bridges is now running as an unprivileged user. - VLAN device types are now properly reported in the API and client. - The client will now show the date an image was last used at (in lxc image info). - LXD is now using Weblate for its translations. - client: Add a done signal to Monitor API - client: Better handle http errors - doc: Add Documentation on Network Configuration via cloud-init - doc: Update README.md for CI and Weblate - doc: Update README.md for godoc - global: Fix typos - global: "gofmt -s" run - i18n: Improved and completed french translation - i18n: Update message catalogs and Japanese translation - i18n: Update translations from weblate - lxc: Better handle timestamps - lxc/file: Fix directory permissions on recursive push - lxc/init: Properly replace args list - lxc/list: Fix unused variable - lxc/list: Sort IP addresses in output - lxc/network: Better handle network modifications - lxc/network: Sort UsedBy list on show - lxc: Properly check yaml errors - lxc/remote: Update help - lxd/containers: Allow passing in-memory buffers to a FileResponse - lxd/containers: Don't attempt to read xattrs from symlinks - lxd/containers: Improve error handling and reporting during export - lxd/containers: Report -1 (255) on signal exit during exec - lxd/containers: Report exit code when we got killed by signal - lxd/db: Drop unused code from db.go - lxd/devices: Don't ignore regexp failures - lxd/images: Close race condition in image download - lxd/init: We need an address in CIDR notation instead of CIDR subnet - lxd/migrate: Use the generated snapshot list - lxd/networks: Clean up leases for static assignments - lxd/networks: Handle empty dnsmasq pid file - lxd/networks: Update permissions of network directories - lxd/patches: Mark all patches as applied on create - lxd/profiles: Fix unusued variable - lxd/storage: Don't assume a path is a subvolume - shared: Add Int64InSlice() - shared: Have GetByteSizeString() take a precision argument - shared: Byte parsing in GetByteSizeString() and ParseByteSizeString() - shared: Move Device/Devices types to lxd package - shared: ParseByteSizeString() deal with bytes - shared: Remove GroupName function and add UserId one - tests: Don't ignore errors in db tests - tests: Fix deadcode to work with new upstream - tests: Fix shellcheck being confused by cd - tests: Use lxc restart whenever possible -- Stéphane Graber Tue, 24 Jan 2017 23:38:56 -0500 lxd (2.7-0ubuntu2) zesty; urgency=medium * Cherry-pick upstream fix: - tests: Fix shellcheck being confused by cd * Add lxc-to-lxd to lxd-tools. * Re-enable Go shared libraries. -- Stéphane Graber Wed, 21 Dec 2016 03:28:42 -0500 lxd (2.7-0ubuntu1) zesty; urgency=medium * New upstream release (2.7): - New "ipv4.firewall" and "ipv6.firewall" network attributes controlling the generation of iptables FORWARD rules - New "ipv4.routes" and "ipv6.routes" network attributes allowing for additional static routes to be set to the network. - New "lxd import" command allowing importing of containers when all that exists is the "containers" directory. - client: Commonize update methods and add PATCH - extra/lxc-to-lxd: Add more unsupported config keys - extra/lxc-to-lxd: All properties must be strings - extra/lxc-to-lxd: Copy rootfs by default, do not move - extra/lxc-to-lxd: Show nicer error on missing python3-lxc - extra/lxc-to-lxd: Switch to using whitelist - i18n: Update french translation - lxc/file: Fix off by one error in push - lxc: Improve help messages - lxc/init: Fix example - lxc/launch: Just use init.go's flags() - lxd: Common codepath for http client - lxd: Don't set InsecureSkipVerify on daemon's tls config - lxd: Log daemon version - lxd: Make LXD_DIR 711 by default (needed for unprivileged containers) - lxd: Only mark daemon ready once containers are up - lxd: Properly validate daemon keys on unset - lxd: Refactoring of sub-command code - lxd: Use our custom http server when updating HTTPS address too - lxd/containers: Add basic logging to container creation - lxd/containers: Avoid race condition in network fill function - lxd/containers: Blacklist lxc.syslog and lxc.ephemeral - lxd/containers: Cleanup leftover temp file - lxd/containers: Detect background tasks to allow clean exit on exec - lxd/containers: Do mounts in the right order - lxd/containers: Don't record last_state.power twice - lxd/containers: Fix container state recording - lxd/containers: Fix device hotplug with major/minor set - lxd/containers: Fix file push error handling - lxd/containers: Fix logging for file_manip commands - lxd/containers: Move FromLXCState out of shared - lxd/containers: Return a clear error when replacing a directory - lxd/containers: Rework EEXISTS detection on create - lxd/networks: Allow for network-specific lease updates - lxd/networks: DHCP over TCP has never been implemented - lxd/nsexec: Also call setgroups - lxd/seccomp: Fix generated seccomp profile - lxd/storage: Change ContainerStart to take the name and path to start - Makefile: Rework "make dist" - shared: Give Architecture handling its own package - shared: Give IO progress tracker its own package - shared: Give simplestreams client its own package - shared: Give version handling its own package - shared: Introduce our own formatter - shared: Make a helper to compute cert fingerprint - shared: Make PrintStack print at the Error level - shared: Move WebsocketUpgrader to network.go - shared: Rename idmapset_test_linux.go to idmapset_linux_test.go - shared/idmap: Drop debugging code - shared/idmap: Fix intersection test - shared/simplestreams: Don't depend on custom http handler - shared/simplestreams: Pass UserAgent as argument - tests: Add pki test - tests: Only attach lxdbr0 if it is present on the host - tests: Simplify testsuite spawn code - tests: Test lxd shutdown -- Stéphane Graber Wed, 21 Dec 2016 00:21:11 -0500 lxd (2.6.2-0ubuntu3) zesty; urgency=medium * Fix container last-state recording (LP: #1647312) - 0001-Fix-container-state-recording.patch - 0002-tests-Test-lxd-shutdown.patch - 0003-Only-mark-ready-once-containers-are-up.patch -- Stéphane Graber Mon, 05 Dec 2016 13:33:41 +0100 lxd (2.6.2-0ubuntu2) zesty; urgency=medium * Restrict autopkgtest to standalone systems. -- Stéphane Graber Fri, 02 Dec 2016 00:46:31 -0500 lxd (2.6.2-0ubuntu1) zesty; urgency=medium * New upstream bugfix release (2.6.2): - Don't grab addresses from public remotes -- Stéphane Graber Thu, 24 Nov 2016 23:34:26 -0500 lxd (2.6.1-0ubuntu1) zesty; urgency=medium * New upstream bugfix release (2.6.1): - extra/bash: Better parse containers list - lxc/copy: Make container copy more robust - lxc/init: Remove unicode character from lxc warning - lxd/containers: Don't assign idmaps to privileged containers - lxd/containers: Don't break when parsing old containers - lxd/containers: Don't double apply templates - lxd/containers: Fix concurrent map iteration+modification - lxd/containers: Fix idmap handling of pre-idmap containers - tests: Add tests for file templating -- Stéphane Graber Thu, 24 Nov 2016 22:22:08 -0500 lxd (2.6-0ubuntu3) zesty; urgency=medium * Disable Go shared libraries as they cause a file templating regression. (LP: #1644566) -- Stéphane Graber Thu, 24 Nov 2016 13:30:29 -0500 lxd (2.6-0ubuntu2) zesty; urgency=medium * Add a build-dependency on libsqlite3-dev for PPA/backports that don't use the Go shared libraries. -- Stéphane Graber Wed, 23 Nov 2016 13:42:08 -0500 lxd (2.6-0ubuntu1) zesty; urgency=medium * New upstream release (2.6): - Support for container specific uid/gid maps - Send progress notification during container migration (API only) - Copy the source image properties into the container properties - doc: Add hacking guide (debugging.md) - doc: Add missing pci options for gpu in configuration.md - doc: Bump liblxc version required in README - doc: Document user.network-config - doc: Exec recording needs an API extension - doc: Specify docker installation details in README - lxc/delete: Update help text - lxc/file: Fix recursive file pull/push on Windows - lxc/finger: Update help text - lxc/restore: Update help text - lxc: Rework progress handling - lxd/containers: Actually surface the last used update error - lxd/containers: Add /snap/bin to PATH even if only /snap exists - lxd/containers: Attach to userns on file operations - lxd/containers: Better handle concurent stop/shutdown - lxd/containers: Clarify container delete failure error - lxd/containers: Correctly set liblxc loglevel to debug when in debug mode - lxd/containers: Don't double delete ephemeral containers - lxd/containers: Improve container error handling - lxd/containers: Improve container locking mechanism - lxd/containers: Save properties on publish - lxd/containers: Skip leading whitespace in raw.lxc - lxd/containers: Start storage when necessary during stateful start - lxd/containers: Timeout container freeze on stop - lxd/containers: Track speed during network transfers - lxd/images: Don't update images at all if interval is 0 - lxd/main: Immediately exit when no DB in activateifneeded - lxd/networks: Fixed minor typo in checkNetwork - lxd/networks: Spawn dnsmasq on FAN bridges - lxd/storage: Fix 10s delay on removing ZFS used images - lxd/storage: Freeze container during copy on directory backend - scripts/lxc-to-lxd: Better output with no container - scripts/lxc-to-lxd: Check that source path exists (disk) - scripts/lxc-to-lxd: Consistent logging - scripts/lxc-to-lxd: Don't fail dry-run with running containers - scripts/lxc-to-lxd: Drop dependency on pylxd - scripts/lxc-to-lxd: Fix lxdpath handling - scripts/lxc-to-lxd: Formatting - scripts/lxc-to-lxd: Migrate lxc.aa_profile if set - scripts/lxc-to-lxd: Print summary and proper exit code - shared/idmapset: Fix typo in Intersects - shared/simplestreams: Cleanup unused properties - tests: Cleanup leftover containers - tests: Don't depend on main.sh for filemanip - tests: Implement LXD_VERBOSE for reduced verbosity - tests: Reduce verbosity under LXD_DEBUG * Always link against system libsqlite3 (applies to backports/PPA). * Restart LXD if running at the end of upgrade (race with the unix socket). -- Stéphane Graber Tue, 22 Nov 2016 23:39:35 -0500 lxd (2.5-0ubuntu1) zesty; urgency=medium * New upstream release (2.5): - lxc/remote: Allow adding a new remote just by FQDN/IP (without a name) - lxd/containers: Implement exec output recording in the API - lxd/images: Store the simplestreams cache to disk (allows for offline use of those remote images) - lxd/certificates: Add support for PUT/PATCH of certificates - lxd/containers: Support signal forwarding in exec session - lxd/containers: Add support for GPU hotplug ("gpu" device type) - appveyor: Add appveyor config to git - client: Disable keepalives in http.Transports - client: Fix tests of client on Windows/Mac - doc: Add official Windows support to README - doc: Sort API endpoints in rest-api - doc: Use consistent method ordering in rest-api - doc: Use spaces everywhere - doc: We actually require 2.0.0 or higher - doc: Workaround github markdown renderer - examples: Use .yaml as the yaml extension - extra: Added the command network to lxc-client bash-completion - extra: Allow dash in parameters to lxc-client bash-completion - extra: Fix _lxd_profiles in lxc-client bash-completion - lxc/copy: Don't use the operation as a marker of success - lxc/copy: Wait on the source operation too - lxc/exec: Set term to "dumb" on windows - lxc/file: Fix help typo - lxc/file: Fix mkdir -p / - lxc/file: Normalize paths before sending them to the server - lxc/init: Fix typo in nictype value for -n - lxc/list: Fix typo in lxc list help - lxc/push: Fix typo - lxc/remote: Fix remote add with Go tip - lxd/certificates: Export all documented certificate fields - lxd/containers: Be more verbose on mkdir failure - lxd/containers: Catch and return more errors in OnStop - lxd/containers: Clean up apparmor stuff in OnStart when something fails - lxd/containers: Don't destroy ephemeral container on restart - lxd/containers: Don't show invalid logs - lxd/containers: exec: Remove unused code - lxd/containers: Fix forkmount to work with 4.8 and higher - lxd/containers: Fix wording of seccomp error message - lxd/containers: Improve config validation on update - lxd/containers: Log OnStart/OnStop hook errors - lxd/containers: More reliable container autostart - lxd/containers: Only load kernel modules if not loaded - lxd/containers: Properly validate CPU allowance - lxd/containers: Properly validate memory limits - lxd/containers: Record the err from go-lxc - lxd/containers: Remove legacy code from OnStop - lxd/containers: Report correct dev type in log - lxd/containers: Set LXC loglevel to match daemon - lxd/containers: USB vendorid is mandatory, productid isn't - lxd/devices: Be less optimistic about netlink info - lxd/devices: Use DEVNAME entry of netlink for usb - lxd/images: Detect out of disk space unpack errors - lxd/images: Don't make unnecessary image copies - lxd/images: Fix invalid filename of metadata on export - lxd/init: Detect zfs kernel support - lxd/init: Ignore ZFS if in a container - lxd/migration: Fix a race for collecting logs - lxd/migration: Remove debugging by file creation - lxd/migration: Start migration storage at the right time - lxd/networks: Always allow communication with dnsmasq - lxd/networks: Always pass --enable-ra with IPv6 - lxd/networks: Fill DHCP checksums - lxd/networks: Fix IPv6 DHCP logic - shared/cert: be more thorough when parsing ip addr - shared: Move Linux specific tests away - travis: Run the client tests - travis: Update to match Jenkins Go versions * Disabling shared libraries for now (broken with Go 1.7) -- Stéphane Graber Tue, 25 Oct 2016 23:32:02 -0400 lxd (2.4.1-0ubuntu2) zesty; urgency=medium * Add a logrotate profile for /var/log/lxd/lxd.log (LP: #1635079) * Add a clear dependency on lsb-base -- Stéphane Graber Wed, 19 Oct 2016 22:08:22 -0400 lxd (2.4.1-0ubuntu1) yakkety; urgency=medium * New upstream bugfix release (2.4): - Fix reported version string (was saying 2.3) - shared: Remove logging import - tests: add a test to make sure we don't accidentally include new deps - extras: Added the command shell to lxc-client bash-completion -- Stéphane Graber Wed, 05 Oct 2016 17:27:56 +0200 lxd (2.4-0ubuntu1) yakkety; urgency=medium * New upstream release (2.4) (LP: #1618159): - Add API support for push based migration (with a client acting as relay) - Add a new used_by property to profiles (similar to networks) - Update "lxc profile list" to show a table - Support configuring NAT through "lxd init" - lxd/init: Actually add new network to profile - lxd/init: Typo fix - lxd/migration: Don't use ActionScript if it's not available - lxd/network: Allow nil network config - lxd/network: Better deal with partially disabled IPv6 - lxd/network: Fix automatic nat settings - lxd/network: Fix IPv6 forwarding logic - lxd/network: Fix rare race condition with sysctl - lxd/network: Fix typo discovered by lintian - lxd/zfs: Extra checks and config for ZFS pools - doc: Add AppVeyor badge (Windows testing) - Makefile: Don't recursively include test deps - shared: Add GetOwner stub for Windows - shared: Generate client certificate with proper extended usage info - test: Fix apparmor version check - test: Fix shellcheck warning - test: Force UTC timezone - test: Make container cleanup more reliable * Drop all previous cherry-picks, now upstream. -- Stéphane Graber Tue, 04 Oct 2016 21:19:11 +0200 lxd (2.3-0ubuntu7) yakkety; urgency=medium * Ignore rm failures in postrm (caused by mounted ZFS/LVM) (LP: #1629992) -- Stéphane Graber Mon, 03 Oct 2016 16:09:00 -0400 lxd (2.3-0ubuntu6) yakkety; urgency=medium * Fix typo in migration script and make shellcheck happier. (LP: #1629766) -- Stéphane Graber Mon, 03 Oct 2016 01:04:42 -0400 lxd (2.3-0ubuntu5) yakkety; urgency=medium * Make it possible to run the bridge migration script again on failure. -- Stéphane Graber Sun, 02 Oct 2016 14:36:08 -0400 lxd (2.3-0ubuntu4) yakkety; urgency=medium * Cherry-pick upstream fixes: - Fix typo discovered by lintian - network: Allow nil network config - network: Fix rare race-condition with sysctl - network: Fix IPv6 forwarding logic - test: Make container cleanup more reliable - network: Properly catch ENOENT - network: Better deal with partially disabled IPv6 (LP: #1629540) * Fix invalid upstart job * Bugfix for migration script - Don't print error on missing lxd-bridge script - Don't attempt to setup IPv6 if the host kernel has it disabled -- Stéphane Graber Sat, 01 Oct 2016 20:41:41 -0400 lxd (2.3-0ubuntu3) yakkety; urgency=medium * Add a versioned dependency on lxd-client to lxd as we need it for the bridge configuration upgrade script. * Update bridge upgrade script to not mess with the user's LXD client. -- Stéphane Graber Thu, 29 Sep 2016 20:29:17 -0400 lxd (2.3-0ubuntu2) yakkety; urgency=medium * Fix upgrade-bridge script to properly deal with systems that have LXD disabled (including chroots). -- Stéphane Graber Thu, 29 Sep 2016 12:23:09 -0400 lxd (2.3-0ubuntu1) yakkety; urgency=medium * New upstream release (2.3) - Introduce the new network management API - Support for AppArmor namespaces and profile stacking - Introduce a new storage.lvm_mount_options daemon configuration option - Rework log message priorities and add more context to log messages - "lxc info" now shows the remote name in its output - The client now includes the remote name in error messages - apparmor: Be less restrictive when unprivileged - apparmor: create an apparmor namespace for each container - doc: Fix rest-api for PATCH addition - doc: Fix the table sytle of environment.md - extras: Containers state checking in bash completion - extras: Fixed container convert from LXC to LXD - extras: Update bash completion for current options - lxc: Drop unused httpAddr property - lxc/exec: Document lxc exec -- args - lxc/file: Make the target directory on recursive pull - lxd/db: Don't try to backup the database when running tests - lxd/db: Fix int64 handling - lxd/images: Tweak squashfs for low-memory systems - lxd/init: Change validation functions for consistency - lxd/init: Enable compression on new zfs pools - lxd/log: Add format wrappers for log functions - lxd/log: Add wrappers for log functions - lxd/log: Transition to new wrappers - lxd/migration: Support copying across different CoW based backend types - lxd/migration: Also show warnings on c/r errors - lxd/migration: Preserve snapshot configuration during copy - lxd/network: Detect bonds - lxd/network: Detect openvswitch - lxd/network: Fix networkIsInUse - lxd/network: Move and rename isOnBridge - shared: Export type checking functions - shared: fuidshift: Expand symlinks to last path component - shared: New RunCommand wrapper function - snappy: Add /snap/bin to PATH if present * Cherry-pick from upstream: - init: Typo fix - init: Actually add new network to profile - test: Fix shellcheck warning - test: Force UTC timezone - test: Fix apparmor version check * Update dependencies: - No longer depend on netcat - Add dependency on ebtables * Switch to built-in network management - Drop all the debconf bridge handling code - Drop all the old bridge related scripts - Introduce bridge migration code and run it from postinst - Update tests for network change -- Stéphane Graber Wed, 28 Sep 2016 01:44:50 -0400 lxd (2.2-0ubuntu1) yakkety; urgency=medium * New upstream release (2.2) - client: Add a "manpage" command - client: Add a "rename" alias - client/file: Recursive file push/pull (-r) (LP: #1531364) - client/file: Support recursive directory creation (-p) - client/info: Add cpu usage - client/publish: Allow overriding compression algorithm - daemon: Make a database backup on schema updates - daemon/container: Expose CPU usage - daemon/container: Initial implementation of recursive file push/pull - daemon/image: Allow overriding compression algorithm - daemon/init: Ask for images.auto\_update\_interval - daemon/storage: Add new storage.zfs\_use\_refquota option - client/exec: Use os.LookupEnv from go 1.5 to find environment vars - client/help: Change lxc help to go to stdout - daemon: Consistently handle name conflicts - daemon/container: Allow unsetting any config key - daemon/container: Fix USB transposed major/minor - daemon/container: Handle xattrs on publish - daemon/container: Retry generating petnames on conflict - daemon/container: Error on "restart" without force of a paused container - daemon/container: Rework container operation locking - daemon/container: Try to remove the usb bus dir after device disconnect - daemon/container: Various USB hotplug fixes - daemon/dir: Copy everything on container copy - daemon: Do our own socket activation - daemon/image: Fix support for lzma alone file format - daemon/init: Change default host to all (::) - daemon/init: Default to "dir" when "zfs" isn't available (LP: #1619958) - daemon/init: Fix listed default value for ZFS pool (LP: #1619959) - daemon/init: Use more intelligent logic for partition sizing - daemon/profile: Cleaner error on existing profile name - daemon/profile: Properly cleanup on profile removal - doc: Add txqueuelen tweak - doc: Clarify that user\_subvol\_rm\_allowed is needed for btrfs nesting - doc: Fix typos in production-setup.md - doc: Rename api\_extensions to api-extensions - i18n: Update po files and Japanese translation - lxd-bridge: Fix crash in lxd-bridge-proxy - tests: Fix race in alias test - tests: Make TestReaderToChannel transfer smaller - tests: Only check leftovers on active LXD * Update debian/copyright - Drop godbus - Drop go-systemd - Drop yaml.v1 * Update debian/control - Drop dependency on go-systemd -- Stéphane Graber Tue, 13 Sep 2016 22:38:18 -0400 lxd (2.1-0ubuntu4) yakkety; urgency=medium * Fix powerpc build by using golang-any-shared-dev instead of golang-go-shared-dev. -- Stéphane Graber Thu, 08 Sep 2016 17:39:41 -0400 lxd (2.1-0ubuntu3) yakkety; urgency=medium [ Michael Hudson-Doyle ] * Link against go shared library packages. (LP: #1508122) [ Stéphane Graber ] * Bump standard to 3.9.8 * Drop deprecated XS-Testsuite option * Drop a whole lot of lintian overrides following shlibs switch. -- Stéphane Graber Thu, 08 Sep 2016 16:03:07 -0400 lxd (2.1-0ubuntu2) yakkety; urgency=medium * Properly handle purge. (LP: #1614621) * Configure system-wide dnsmasq not to touch lxdbr0. (LP: #1613820) * Stop lxd.socket on package remove. (LP: #1577001) -- Stéphane Graber Mon, 29 Aug 2016 17:29:27 -0400 lxd (2.1-0ubuntu1) yakkety; urgency=medium * New upstream release (2.1) - All the bugfixes listed as part of LXD 2.0.1, 2.0.2, 2.0.3 and 2.0.4 - client: Add a lxc shell alias by default - client: Build unix-like aliases directly into LXC - client: Generate the client certificate on-demand - client/copy: Allow additional profiles and config (LP: #1585307) - client/copy: Pick a random name if not specified (LP: #1585308) - client/image: Add --format and json output - client/image: Allow deleting multiple images at once - client/list: Add support for config key columns - client/profile: lxc profile apply is now lxc profile assign - client/profile: New lxc profile add and lxc profile remove sub-commands - client/version: Do not show the version command by default - daemon: Add a global core.https_allowed_credentials key - daemon: Implement ETag support for all PUT calls - daemon: Implement PKI authentication - daemon: Implement the PATCH method for all endpoints that have PUT - daemon/container: Add config key for container force shutdown timeout - daemon/container: Add some seccomp knobs - daemon/container: Add support for the "usb" device type - daemon/container: Record the last used date for containers - daemon/zfs: Allow forcing snapshot removal through configuration - tests: Fix for newer shellcheck - lxd-bridge: Fail on dnsmasq failure (LP: #1613815) - c/r: switch to the new ->migrate API - c/r: use liblxc's new preserves_inodes feature - c/r: bump ghost limit -- Stéphane Graber Wed, 17 Aug 2016 19:31:36 -0400 lxd (2.0.4-0ubuntu2) yakkety; urgency=medium * Cherry-pick from upstream: - 0002-Fix-for-newer-shellcheck (Fixes adt with yakkety's shellcheck) -- Stéphane Graber Tue, 16 Aug 2016 15:00:49 -0400 lxd (2.0.4-0ubuntu1) yakkety; urgency=medium * New upstream bugfix release (2.0.4) - /dev/net/tun is now a default device (always present) - lxd-bridge: dnsmasq is now configured with IPv6 name resolution - lxd-bridge: iptables rules now have a comment - "lxd init" now comes with reasonable defaults - The "images:" remote now uses simplestreams on new installations - "lxc image export" now always uses the image fingerprint as filename - Import progress is now reported for URL imports in "lxc image import" - apparmor: Add feature detection and clean things a bit - apparmor: Don't depend on the LXC apparmor profile - apparmor: Rename main two chunks of rules - apparmor: Setup a more modular apparmor profile - client: Don't share http client with go routines - client: Error when trying to remove a non-existent device (LP: #1612388) - client: Fix API info reporting in "lxc info" - client: Fix spelling: permisson -> permission - client: Make client.websocket a public API - client: Make --version option visible - client: Relax constraints on WebsocketRecvStream args - client: Use named args for actionCmds - client/finger: Remove unused field from finger cmd - client/image: Fix image import from URL - client/list: fix concurrent read/write - client/list: Fix error handling and race in "lxc list" - client/pause: Add some additional help to lxc pause - client/profile: Add "lxc profile unset" to help message (LP: #1592529) - daemon/container: Actually handle containers list error - daemon/container: Add sanity checks for common problems - daemon/container: Alphabetize device processing - daemon/container: Better errors when sanity checking devices - daemon/container: Better handle missing or invalid device types - daemon/container: Document and validate limits.*.priority values - daemon/container: Document image export target behavior and fix bugs - daemon/container: Don't unfreeze a container on stop - daemon/container: Fix flag name in init error message - daemon/container: Fix limits.disk.priority when set to 0 (LP: #1603982) - daemon/container: Fix nic hotplug with openvswitch - daemon/container: Fix unix-char/unix-block in nested containers (LP: #1574158) - daemon/container: Improve check for invalid physical devices - daemon/container: Remember the return code in the non wait-for-websocket - daemon/container: Remove unused "name" argument from UnixDevice - daemon/container: Return more error information back to the user - daemon/container: Sort disk devices by their path before their names - daemon/container: Unfreeze frozen container on shutdown - daemon/db: Don't fail db upgrade if $LXD_DIR/containers doesn't exist (LP: #1602025) - daemon/db: remove fuse device from docker profile - daemon/migration: fix tempdir handling - daemon/profile: Prevent using invalid profile names (LP: #1612228) - daemon/zfs: Fix ZFS volume size on 32bit architectures - daemon/zfs: Only delete copy- snapshots on delete - daemon/zfs: Remove subvolume in zfs.ImageCreate error flow - doc: Add /dev/net/tun and /dev/fuse to docs - doc: Added command to install squashfs-tools in README.md - doc: Document config_get in pongo templates - doc: Fixed errors on api examples with curl - doc: Initial documentation for production use of LXD - doc: Shuffle packages a bit in README.md - lxd-bridge-proxy: Remove unused code - Makefile: Also have "make dist" run multiple go get - scripts: Make lxc-to-lxd work inside virtualenv - simplestreams: Fix size reporting - simplestreams: Handle images without labels - simplestreams: List images available as both squashfs and tar.xz - simplestreams: Properly deal with unset expiry - simplestreams: Set proper user-agent - simplestreams: Use the hashes in the right order * Refresh debian/copyright to match vendor directory (dist/). Note that this bundled code isn't used for the main archive builds. -- Stéphane Graber Tue, 16 Aug 2016 00:23:05 -0400 lxd (2.0.3-0ubuntu2) yakkety; urgency=medium * Cherry-pick squashfs fix from upstream: - simplestreams: list images available as both squashfs and tar.xz -- Stéphane Graber Thu, 30 Jun 2016 13:56:29 -0400 lxd (2.0.3-0ubuntu1) yakkety; urgency=medium * New upstream bugfix release (2.0.3) - extras: Better bash completion coverage - client/delete: Allow -f as a shortcut of --force - client/info: Include the certificate fingerprint in server info (Issue #2098) - client/info: Show remote in the --show-log example provided on error - core: Add squashfs support as needed by newer Ubuntu images - core: Tweak TLS cipher list a bit to allow browsers to talk to LXD (Issue #2034) - daemon/container: Setup /dev/fuse by default - client: Better handle connection errors - client: Check all alias args to support subcommand aliases (Issue #2095) - client/file: Don't modify file permissions on edit - client/image: Use the daemon provided fingerprint on image copy (Issue #2162) - client: Normalize the URLs in the client (Issue #2112) - client/remote: Fix a panic in 'remote add' (Issue #2089) - client/remote: Fix parsing of : - core: Better handle PEM decoding errors (Issue #2119) - core: Check for zero byte send in ReaderToChannel (Issue #2072) - core: Fix a concurrent websocket write crash - core: Use default buffer size for WebsocketUpgrader - daemon: Add missing linebreak to lxd help - daemon/api: Set Location on sync POST requests (Issue #2092) - daemon/btrfs: Fix failure to restore on btrfs (Issue #2058) - daemon/certificate: Fail to add an existing certificate - daemon/config: Allow "none" as compression algorithm (regression fix) - daemon/container: Add target path to rootfs tarball in image export (Issue #1980) - daemon/container: Better handle bind mounts - daemon/container: GET of a nonexistent file now 404s (Issue #2059) - daemon/container: Make devices cgroup config more readable - daemon/containers: Improve error message on disk setup failure - daemon/container: Use defer to undo changes on failed update - daemon/db: Don't try to chmod zfs.img when testing db upgrades - daemon/db: Don't try to update /var/lib/lxd/containers in go tests - daemon/init: Actually unset the storage keys - daemon/lvm: Don't call lvextend with recent LVM versions - daemon/migration: Setup some buffering for zfs/btrfs send - daemon/migration: Simplify checkpoint/restore code everywhere - daemon/migration: switch to the new LXC migrate API - daemon/zfs: Improve block device detection - daemon/zfs: Mount if not mounted (Issue #1888) - doc: Clarify ZFS snapshot shortcomings (Issue #2055) - doc: Drop JSON example from configuration.md - doc: Fix certificates JSON examples to cover all fields - doc: Fix typo in "unix-block" description - doc: Improve shared folder documentation (README) (Issue #2123) - lxd/patches: Add support for one-time patches (separate from DB schema updates) - Makefile: go get has become worse, now need 3 runs - Makefile: Update repository URL for xgettext-go - migration: Consolidate error handling - test: 201 is a valid return code for alias creation - test: Add a test for ReaderToChannel - test: Add test for "lxc file edit" target file owner and permission * Add dependency on squashfs-tools (for new Ubuntu images). * Fix typo in debconf question. (LP: #1584024) -- Stéphane Graber Wed, 29 Jun 2016 17:42:49 -0400 lxd (2.0.2-0ubuntu1) yakkety; urgency=medium * New upstream security release (2.0.2) (LP: #1584230) - CVE-2016-1581: Fix bad permissions on zfs.img - CVE-2016-1582: Fix bad container permisisons after remap -- Stéphane Graber Mon, 30 May 2016 14:16:21 -0400 lxd (2.0.1-0ubuntu1) yakkety; urgency=medium * New upstream bugfix release (2.0.1) - Don't fail to start when shmounts can't be mounted, instead fail container startup - Invalidate the simplestreams cache on proxy change - Write the container's config file on start to the log path directly - Fix crash in list due to empty responses (Issue #1903) - Fail when removing non-existent profiles (Issue #1886) - Document --alias to image import (Issue #1900) - Fix "lxc start" and "lxc stop" options (stateful/stateless) - Give better error on invalid source stream (simplestreams) - Add basic REST API usage example to README.md - Fix typo in lxc stop --help - Convert lxc-to-lxd to stable supported pylxd API (Issue #1901) - Properly log image update failures - Better validate and rollback bad images (Issue #1913) - Send operation return value through SmartError - Fix basic filtering in lxc list (Issue #1917) - Tell the user how to launch a container on first start (Issue #1931) - Redirect "remote" to "remote:" when not conflicting (Issue #1931) - Don't load the LXC config for snapshots (Issue #1935) - list: Allow filtering by unset key (Issue #1917) - Fix example in lxc launch - Update Japanese translation and other po files - Fall back to cpuset.cpus on older kernels (Issue #1929) - Properly validate the server configuration keys (Issue #1939) - Fix daemonConfig handling of storage - Don't remove config file on forkmigrate - Fix config handling following config validation change - Fixed Markdown syntax in documentation - Don't fail early when removing disks (Issue #1964) - Don't recursively delete devices - Don't fail when some unix devices fail to be deleted - Use the same config checks for unix-char and unix-block - Allow removing when fs object no longer exists (Issue #1967) - Do proper logfile expiry (Issue #1966) - Make logging a bit more consistent - Don't ignore zfs errors - Properly update the mode, uid and gid on existing files (Issue #1975) - Detect invalid certificate files (Issue #1977) - Fix broken apparmor status check - Allow on/off as boolean strings - Properly validate the container configuration keys (Issue #1940) - Don't mask rsync transfer errors - Move execPath to a global variable - Use custom netcat instead of nc -U for rsync over websocket (Issue #1944) - Fix wrong state dir path in migration - Don't fail deleting images when the storage delete fails - Improve messages in the Japanese translation - Add more checks for the criu binary - Rework (live) migration tests - Make it explicit in documentation that devices on create are optional - Properly record the source of all image copies (Issue #2010) - Don't mark containers as ERROR while being created (Issue #1988) - Cleanup events sent for operations (Issue #1992) - Fix ZFS refcounting issues (Issue #1916 and Issue #2013) - Propagate snapshot config when copying a snapshot (Issue #2017) - Implement lxc config show for snapshots - Add Unix socket example to REST API usage -- Stéphane Graber Mon, 16 May 2016 17:57:46 -0400 lxd (2.0.0-0ubuntu4) xenial; urgency=medium * Only start lxd after network-online.target has been reached. This avoids a cloud-init race at boot time and also makes it more likely for whatever IP address or bridge LXD needs to have been properly setup. (LP: #1569064) -- Stéphane Graber Thu, 14 Apr 2016 16:03:02 -0400 lxd (2.0.0-0ubuntu3) xenial; urgency=medium * Raise the systemd timeout to match the LXD startup timeout. This is needed on systems where TLS certificate generation takes a long time. (LP: #1569698) -- Stéphane Graber Wed, 13 Apr 2016 12:43:54 -0400 lxd (2.0.0-0ubuntu2) xenial; urgency=medium * Add apparmor profile for lxd-bridge-proxy (profile by Simon Deziel). -- Stéphane Graber Mon, 11 Apr 2016 22:04:25 -0400 lxd (2.0.0-0ubuntu1) xenial; urgency=medium * New upstream release (2.0.0) (LP: #1548489): - client: Add a json format option to "lxc list". - client: Recommend running lxd init - lxd: Allow setting security.privileged when nested - client: Filter on expanded config rather than local config - client: Fix wrong mode being passed by file push - client: Show the snapshot name instead of the path - client: Tweak help messages - client: Update Japanese translation - core: Don't let umask mess with modes - core: Fix uid, gid and mode of retrieved files - core: zfs: Clean any leftover snapshot - core: zfs: Ignore non-LXD paths in user count - doc: Mark API as stable for release * lxd-bridge: Don't fail on missing /etc/default/lxd-bridge -- Stéphane Graber Mon, 11 Apr 2016 15:31:52 -0400 lxd (2.0.0~rc9-0ubuntu5) xenial; urgency=medium * Fix debconf "seen" detection logic. * Update lintian overrides. -- Stéphane Graber Sun, 10 Apr 2016 23:21:46 -0400 lxd (2.0.0~rc9-0ubuntu4) xenial; urgency=medium * More lxdbr0 tweaks: - Fix logic so that on first "dpkg-reconfigure" run, IPv4 and IPv6 are actually set to "yes". (LP: #1567874) - Add an extra check to the IPv4 and IPv6 subnet generators to attempt to ping the usual default gateways on the subnet and use another subnet if we get an answer. -- Stéphane Graber Fri, 08 Apr 2016 13:52:46 -0400 lxd (2.0.0~rc9-0ubuntu3) xenial; urgency=medium * More lxdbr0 tweaks: - Generate a random IPv4 and IPv6 subnet and pre-fill the questions with it at interactive configuration time. (LP: #1567440) - Point users towards dpkg-reconfigure if lxd init can't be run. -- Stéphane Graber Thu, 07 Apr 2016 15:26:33 -0400 lxd (2.0.0~rc9-0ubuntu2) xenial; urgency=medium * Fix the missing lxdbr0 bridge when running the tests. * Make sure the user is asked for input again when an invalid value is detected on upgrade. * Empty the bridge name when switching from a configured bridge to an existing one. * Suggest an IPv6 site-local subnet rather than an unused global one. -- Stéphane Graber Thu, 07 Apr 2016 09:13:02 -0400 lxd (2.0.0~rc9-0ubuntu1) xenial; urgency=medium * New upstream release (2.0.0~rc9): - The 1.0 API is now considered stable - A new lxd-benchmark tool has been added as part of the testsuite - The client has been translated into Japanese - core: Check that the target is set on alias update - core: Don't use the cpu map from /proc/self/status - core: Fix all non-gzip compression algorithms - core: Improve ZFS reliability and performance - core: lxcbr0 is no more, replace it by lxdbr0 - core: Prevent container actions while in setup mode - core: Set lxc.rootfs.bdev (performance improvement) - core: Stop the storage code after we're done remapping - core: Support holes in CPU usage (disabled CPUs) - core: Throttle the event listeners - core: Workaround bad go-lxc Start() behavior - extra: Update bash completion to use --fast (performance improvement) - list: Don't crash on missing disk or network info - lxd-bridge: Don't set link-local without a proxy - lxd-bridge-proxy: Bump port number to 13128 - lxd-bridge: Run dnsmasq as the lxd user instead of the non-existing lxd-dnsmasq user - main: Have ActiveIfNeeded trigger if we have running containers - specs: Images are auto-updated every 6 hours - tests: Don't rely on the filesystem so much * Drop patches (now upstream): - 0002-lxd-bridge-proxy-Bump-port-number-to-13128.patch - 0003-Run-lxd-bridge-s-dnsmasq-as-the-lxd-user.patch - 0004-lxd-bridge-Don-t-set-link-local-without-a-proxy.patch * Silence some more lintian warnings * Create /var/lib/lxd-bridge if missing at bridge startup time -- Stéphane Graber Wed, 06 Apr 2016 23:30:54 -0400 lxd (2.0.0~rc8-0ubuntu7) xenial; urgency=medium * More lxdbr0 tweaks: - Update wording of the initial question. (LP: #1566764) - Refuse empty output for questions needing a value. - Trigger lxd (through lxd-containers.service) so that it starts again if it should be running. - Make it possible to disable the profile update part of the lxdbr0 integration while keeping a working bridge. - Fix preinst so that reading an empty /etc/default/lxd-bridge works. -- Stéphane Graber Wed, 06 Apr 2016 15:56:55 -0400 lxd (2.0.0~rc8-0ubuntu6) xenial; urgency=medium * Change the suggested lxdbr0 IPv4 subnet to 10.0.8.0/24 The old suggested value of 10.0.4.0/24 happens to be what nested containers would usually pick for their lxcbr0 bridge, causing yet another network masking issue for users who don't check beforehands. -- Stéphane Graber Wed, 06 Apr 2016 09:46:39 -0400 lxd (2.0.0~rc8-0ubuntu5) xenial; urgency=medium * Update dependencies: - Depend on dnsmasq-base for lxd-bridge - Depend on iptables for lxd-bridge - Drop dependency on python3 (lxd-images is no more) - Drop dependency on gnupg (lxd-images is no more) * Recommend "lxd init" at installation time rather than dpkg-reconfigure. -- Stéphane Graber Tue, 05 Apr 2016 17:31:07 -0400 lxd (2.0.0~rc8-0ubuntu4) xenial; urgency=medium * Debconf configuration of lxdbr0 - Always set the proxy configuration to something reasonable - Recommend running dpkg-reconfigure -p medium lxd - Clarify the dnsmasq question - Lower the proxy question from medium to low - The default value for IPv4 NAT should be true * Use archive copy of golang-gopkg-lxc-go-lxc.v2-dev (LP: #1507156) * Fix uninstall when lxd isn't running (LP: #1566253) -- Stéphane Graber Tue, 05 Apr 2016 15:06:43 -0400 lxd (2.0.0~rc8-0ubuntu3) xenial; urgency=medium * Switch from lxcbr0 to lxdbr0. - Show upgrade warning telling users to configure lxdbr0. - Force re-application of the bridge settings to move everyone off lxcbr0. - Drop dependency on lxc (no longer needed). - Properly stop/start the lxd bridge during reconfigure on systemd systems. - Remove compatibility code. - Add more details to existing debconf templates. - Fix typo in cidr function name. - Don't parse an empty netmask as a CIDR mask of 0. - Fix logic when disabling IPv4 or IPv6 networking. - Print a warning message about LXD networking from postinst. - Make the tests depend on lxc1 (upstream testsuite uses lxcbr0) - Cherry-pick lxd-bridge fixes from upstream: + lxd-bridge-proxy: Bump port number to 13128 + Run lxd-bridge's dnsmasq as the lxd user + lxd-bridge: Don't set link-local without a proxy - Apply distro patch: + Have lxd init offer to call dpkg-reconfigure The reason for the switch away from lxcbr0 is to avoid masking the 10.0.3.0/24 subnet on a whole lot of Ubuntu systems which may not even be using containers. The new bridge provides basic http connectivity through a proxy out of the box and requires manual configuration for anything else. To reconfigure the bridge, run: dpkg-reconfigure lxd * Bump standard to 3.9.7, no change required. * Update systemd unit to not limit the number of threads. * Switch to archive copies of: - golang-gopkg-flosch-pongo2.v3-dev - golang-gopkg-inconshreveable-log15.v2-dev * Fix new lintian warnings: - Add Documentation field to systemd units - Change Vcs-Git to https - Update overrides (typos and golang stuff) -- Stéphane Graber Mon, 04 Apr 2016 22:31:01 -0400 lxd (2.0.0~rc8-0ubuntu2) xenial; urgency=medium * Use the archive version of gorilla-websocket. -- Stéphane Graber Fri, 01 Apr 2016 14:42:49 -0400 lxd (2.0.0~rc8-0ubuntu1) xenial; urgency=medium * New upstream release (2.0.0~rc8): - The LVM volume size is now configurable through configuration rather than environment variables - "lxc image alias list" now supports filtering - Fix initial exec size - Fix wrong packets sent value - Workaround RemoveAll failures on long paths - doc: Fix bad markdown - Apply all templates at container startup time - simplestreams: cleanup - Use fork for command execution - Failure to unload the apparmor profile isn't fatal - Prevent deadlock on container stop failure -- Stéphane Graber Thu, 31 Mar 2016 22:13:46 -0400 lxd (2.0.0~rc7-0ubuntu2) xenial; urgency=medium * Use the archive version of golang-github-mattn-go-colorable-dev. -- Stéphane Graber Thu, 31 Mar 2016 15:42:22 -0400 lxd (2.0.0~rc7-0ubuntu1) xenial; urgency=medium * New upstream release (2.0.0~rc7): - "lxc info" now reports resource consumption - Improved bash completions - Implement container creation from image properties - exec: remove dead code path - exec: send initial window size - exec: client: don't always send window size - exec: only access terminal size in interactive mode - docs: s/initial/Initial - Tests: Don't translate lxc output for parsing it. - Workaround a URL parser issue - Clarify the ZFS restore error - lxd-bridge: Don't fail due to missing IPv6 -- Stéphane Graber Mon, 28 Mar 2016 22:20:54 -0400 lxd (2.0.0~rc6-0ubuntu2) xenial; urgency=medium * Turn on lxdbr0. This upload enables the debconf questions for lxdbr0 as well as the needed init scripts and handlers. It however does NOT change the default bridge over BY DEFAULT. The default bridge will only be switched to lxdbr0 if the user manually edits /etc/default/lxd-bridge or runs "dpkg-reconfigure lxd". This is a temporary setup to allow all downstreams to adjust for the new world where the lxdbr0 bridge comes with a link-local address only and requires configuration. Once we are satisfied those downstreams have updated their code to support this new bridge, we will remove the dependency on the "lxc1" package and switch everyone over to the lxdbr0 with a suitable upgrade-only warning and initial debconf run (so users can minimize the impact of the switch). This change includes: - Introduce debconf configuration script to generate /etc/default/lxd-bridge - New lxd-bridge.service systemd unit - New update-profile and lxd-bridge.start helper scripts, used to only apply LXD configuration changes when needed. - Update to the sysvinit and upstart jobs to run the needed scripts. Those two "legacy" init systems do not get the full treatment of a separate init script for the bridge, but do get all the features nevertheless. * Fix lxd.service start condition to start after lxc-net.service rather than lxc.service. -- Stéphane Graber Wed, 23 Mar 2016 23:49:29 -0400 lxd (2.0.0~rc6-0ubuntu1) xenial; urgency=medium * New upstream release (2.0.0~rc6): - lxd init: clarify no port is wanted with server address - lxd init: accept empty trust password - lxd init: recommend port 8843 - README: document composing docker and default profiles - Rename IsMock to MockMode - Cleanup daemon initialization - Remove the startDaemon function - Add a setup mode allowing to delay part of startup - Cleanup function names in main.go - Improve waitready - Implement device set/unset - Fix permissions of new devices nodes (LP: #1560752) - Allow the bridge to be brought down even if disabled - Some more lxd-bridge fixes - lxd-bridge: Make shellcheck happy - Implement "lxc config device get" - List broken containers (with state set to ERROR) * Update lxd.service to start after lxc-net.service (if present) * Update the debconf templates (planning for lxdbr0 configuration) * Fix bash completion profile -- Stéphane Graber Wed, 23 Mar 2016 22:40:18 -0400 lxd (2.0.0~rc5-0ubuntu1) xenial; urgency=medium * New upstream release (2.0.0~rc5): - Fix DELETE /1.0/images/ to actually be Async. This is a minor API change to match the specification and will break backward compatibility with older clients (only when performing image deletion). - The deprecated lxd-images script has now been entirely removed. - Improve error reporting on image POST - Fix error handling logic around snapshots - Fix container shutdown to actually happen in parallel - Document 'auto\_update' parameter for 'POST /1.0/images' - stateful start: rework behavior - stateful snapshots: rework behavior - Bind-mount mqueue if unprivileged - update documentation on using docker in containers - bump the monitor timeout to 5s - lxd-bridge: Some tweaks -- Stéphane Graber Mon, 21 Mar 2016 23:47:43 -0400 lxd (2.0.0~rc4-0ubuntu1) xenial; urgency=medium * New upstream release (2.0.0~rc4): - Support for recursive bind-mounts (recursive property on disk entries) - Add a new "ERROR" state for containers, used to indicate a communication problem with LXC - Make it possible to have templates only apply for non-existing files (create_only property) - All the specifications have been updated and moved to the doc/ directory - /dev/lxd access is now restricted to uid 0 in the container - devices client: only print success message when successful - Fix devlxd failing to detect container - Have "device show" print yaml - specs: Clarify image handling - specs: Remove command-line-user-experience - specs: Remove dia database diagram - specs: Clarify the daemon spec - specs: Update /dev/lxd spec to match current state - specs: Update environment variables list - specs: Update SSL spec to match current state - specs: Re-format the migration document - specs: Update requirements - specs: Update storage backend spec - specs: Update userns to match reality - docker profile: add the apparmor enabled overmount - More strictly parse remote URLs - Fix devlxd access outside of an exec session - Return better errors for public and simplestream remotes - Block sys_rawio by default -- Stéphane Graber Wed, 16 Mar 2016 22:57:18 -0400 lxd (2.0.0~rc3-0ubuntu4) xenial; urgency=medium * Use golang-gettext-dev from the archive. -- Stéphane Graber Tue, 15 Mar 2016 23:28:15 -0400 lxd (2.0.0~rc3-0ubuntu3) xenial; urgency=medium * Use /etc/environment in the init scripts. -- Stéphane Graber Tue, 15 Mar 2016 21:29:31 -0400 lxd (2.0.0~rc3-0ubuntu2) xenial; urgency=medium * debian/tests/control: Fix pyflakes → pyflakes3 test dep. -- Martin Pitt Tue, 15 Mar 2016 11:03:58 +0100 lxd (2.0.0~rc3-0ubuntu1) xenial; urgency=medium * New upstream release (2.0.0~rc3): - GET /1.0/containers/NAME/snapshots/SNAPNAME now returns the configuration and devices included in the snapshot - Three new configuration options have been introduced to configure the daemon to use an HTTP proxy + core.proxy_https (if not set, uses HTTPS_PROXY env variable) + core.proxy_http (if not set, uses HTTP_PROXY env variable) + core.proxy_ignore_hosts (if not set, uses NO_PROXY env variable) - Cache remote simplestream data for an hour in the daemon so we don't hammer the remote server - Allow for auto-update of images coming from a LXD server - Change ConnectInfo to take a RemoteConfig. - Workaround kernel overmounting protection - migration: attempt to be slightly smart about moving filesystems - tests: disarm the gremlins by comparing things in UTC - zfs: fix handling of the "snapshot only" send case - Allow reducing the LVM LV size and update tests - profiles: don't mask error message when not found - mounting: only block devices hold filesystems - Rework event locking - Fix panic due to concurent read/edit of container lock - zfs: Skip the pool header line - Make it clear that the init arguments only apply in auto mode - Fix error message when snapshotting with existing name - lvm: make errors log as errors - Don't generate client certificates when calling NewClient - Fix parsing image names - Forward errors from forkgetfile and forkputfile - Make changing https_address more reliable - migration: don't defer cleanup of sending snapshots -- Stéphane Graber Thu, 10 Mar 2016 23:10:53 -0500 lxd (2.0.0~rc2-0ubuntu3) xenial; urgency=medium * Remove the lxd cron job. (LP: #1555013) -- Stéphane Graber Wed, 09 Mar 2016 14:48:36 -0500 lxd (2.0.0~rc2-0ubuntu2) xenial; urgency=medium * Cherry-pick upstream bugfix: - Workaround kernel overmounting protection (LP: #1551854) -- Stéphane Graber Mon, 07 Mar 2016 22:18:32 -0500 lxd (2.0.0~rc2-0ubuntu1) xenial; urgency=medium * New upstream release (2.0.0~rc2): - Add configuration keys for the rest of the CORS headers - Get one step closer to dropping lxd-images, lxd-images is now just a shim - Deprecate support for Go < 1.5 as some of our dependencies dropped 1.4 support - Fix image import from remote lxd using aliases - Fix creation of extra volatile entries - Fix testsuite for when stdout is a file - Initialize the storage driver before messing with images - Restrict lxd init to root - Only attempt to load containers AFTER the socket is setup - Fix default protocol in image download - Only setup forwarding when an IP is set - client: add default config in NewClientFromInfo - Fix incorrect device type in dbUpdateFromV26 -- Stéphane Graber Mon, 07 Mar 2016 21:08:02 -0500 lxd (2.0.0~rc1-0ubuntu3) xenial; urgency=medium * Fix incorrect version string in LXD. -- Stéphane Graber Fri, 04 Mar 2016 10:58:14 -0500 lxd (2.0.0~rc1-0ubuntu2) xenial; urgency=medium * Cherry-pick upstream bugfixes: - Typo fix in the client (s/transfering/transsferring) - Fix for V26 DB update -- Stéphane Graber Thu, 03 Mar 2016 11:58:31 -0500 lxd (2.0.0~rc1-0ubuntu1) xenial; urgency=medium * New upstream release (2.0.0~rc1): - Support for the Cgroup namespace. - It is now possible to set the lxc.network.X.ipv{4,6}[.gateway] raw.lxc keys (with usual caution with regard to raw.lxc) - /proc and /sys are now clean straight mounts when the container is unprivileged - The scope of IP addresses is now exported and used to filter local addresses out by default - lxc exec now defaults to non-interactive mode when stdout isn't a tty - All the tables rendered by the client now look alike - Simplestreams is now natively supported by both the client and the server, eliminating the need for lxd-images - Background image syncronization is now supported by the server and done by-default for all cached images - The last time an image was used and whether it's stored in the cached is now exported over the API and visible in "lxc image info" - Profiles now have a description field - It is now possible to do a stateful container stop where the container is checkpointed to disk rather than killed, then resumed on next start. - A "docker" profile is now present by default with those settings required to be able to run Docker inside a LXD container. - Image import now reports upload progress. - Various bugfixes: + Refactor the GenCert function so it can be reused. + tests: get rid of commented out code + Rework lxd.NewClient so we don't need a disk cache. + shared: export limit parsing function + Add upgrade procedure to README + websocket: fix panic() on concurrent writes + Don't allow the state functions to fail + specs: Remove section on Etag (not implemented) + specs: Fix rest-api layout + list: Fix crash on PID column + Fix name printing on lxc init + Fix a variety of issues with blkio limits + Fix hardcoded architecture path in apparmor profile + tests: Fix failure on networked test + tests: Fix the number of certs check + Fix snapshot configuration + Don't rely on the filesystem to check if stateful + Catch checkpoint failures + Fix DB test + Better lock around event listeners + Fix container not rebooting properly + Add package "make" to build dependencies installation command + Don't stop at an unsatisfactory sub?id entry + client: better error on lxc stop remote: + Just use the shared struct whenever possible in the client + Fix download progress on launch + Fix alignment of numbers in tables -- Stéphane Graber Wed, 02 Mar 2016 19:39:18 -0500 lxd (2.0.0~beta4-0ubuntu7) xenial; urgency=medium * Don't hardcode the library path in the systemd unit. * Cherry-pick upstream bugfix: - Don't hardcode architecture in apparmor profile -- Stéphane Graber Fri, 26 Feb 2016 12:40:28 -0500 lxd (2.0.0~beta4-0ubuntu6) xenial; urgency=medium * Drop the trailing newline patch as it was causing regressions in interactive mode. -- Stéphane Graber Thu, 25 Feb 2016 16:13:03 -0500 lxd (2.0.0~beta4-0ubuntu5) xenial; urgency=medium * Cherry-pick upstream bugfixes: - Don't allow the state functions to fail - exec: remove trailing newlines - websocket: fix panic() on concurrent writes - Don't list link local addresses in list - Detect and support the cgroup namespace -- Stéphane Graber Thu, 25 Feb 2016 12:43:46 -0500 lxd (2.0.0~beta4-0ubuntu4) xenial; urgency=medium * Fix race condition between systemd units at shutdown. * Update the description of all systemd units to be easier to grep. * Update upstart job to also do proper shutdown/restart of containers on host reboot and a quick daemon restart the rest of the time. -- Stéphane Graber Wed, 24 Feb 2016 17:44:22 -0500 lxd (2.0.0~beta4-0ubuntu3) xenial; urgency=medium * Rename lxd-startup.service to lxd-containers.service * Have lxd-containers.service handle clean shutdowns of LXD by calling "lxd shutdown" on host shutdown. * Do a standard daemon restart (SIGTERM) on restart of lxc.service -- Stéphane Graber Wed, 24 Feb 2016 14:32:07 -0500 lxd (2.0.0~beta4-0ubuntu2) xenial; urgency=medium * debian/lxd.preinst: Add missing check for $1 == "upgrade". (LP: #1549133) -- Martin Pitt Wed, 24 Feb 2016 07:52:22 +0100 lxd (2.0.0~beta4-0ubuntu1) xenial; urgency=medium * New upstream release (2.0.0~beta4): - The API versioning data at /1.0 has changed, now includes, api_status, api_version and api_extensions - Architecture fields are now returned as strings instead of obscure integer - GET /1.0/containers/NAME/state has been reworked, now includes more detailed network information, disk usage information as well as memory consumption data. - New --fast mode for "lxc list" which only lists "cheap" fields - The container architecture is now listed in "lxc info" - Add process count limit (pids cgroup) - Fix container creation from remote image alias - Fix Content-Type value for errors - Don't stop containers before asking the user - Re-implement terminal functions through cgo (fixes ppc64el) - Allow access to /dev/zero - tests: Keep pprof self-contained - Use iproute2 instead of bridge-utils - lxd-images: Fix sync - allow cgroupfs mounting on cgns kernels - Optimize container process count (use pid cgroup) - Fix file push permissions (LP: #1548878) - list: Query containers by batch of 10 - Only re-balance on host network changes - list: Attempt to optimize the go routines slightly * Move adduser logic to preinst. -- Stéphane Graber Tue, 23 Feb 2016 19:59:21 -0500 lxd (2.0.0~beta3-0ubuntu4) xenial; urgency=medium * Chery-pick fixes from upstream: - allow cgroupfs mounting on cgns kernels (LP: #1548440) - lxd-images: Fix sync - Use iproute2 instead of bridge-utils - tests: Keep pprof self-contained - Allow acces to /dev/zero -- Stéphane Graber Mon, 22 Feb 2016 13:33:20 -0500 lxd (2.0.0~beta3-0ubuntu3) xenial; urgency=medium * Introduce a new lxc2 metapackage. * Update init scripts not to depend on the lxc ones. * Call lxc-apparmor-load at startup time. * Update maintainer scripts not to start lxd when system-activation is available (LP: #1545017) -- Stéphane Graber Fri, 19 Feb 2016 23:57:44 -0500 lxd (2.0.0~beta3-0ubuntu2) xenial; urgency=medium * Cherry-pick fixes from upstream: - Fix static analysis tests - Re-implement terminal functions through cgo (LP: #1547190) - Move i18n under shared - Don't stop containers before asking the user - Fix Content-Type value for errors - Fix container creation from remote image alias -- Stéphane Graber Fri, 19 Feb 2016 16:31:32 -0500 lxd (2.0.0~beta3-0ubuntu1) xenial; urgency=medium * New upstream release (2.0.0~beta3): - "lxc publish" can now be forced to publish running containers (it will temporarily stop them) - "lxc image list" now shows images sorted by description - Complete review of the REST API and update to make it all match the specification. - Extra security now applies for cross-server communication: - Fix invalid container name in lxc file - tests: Add test for aliases with slashes - Fix updating ephemeral and architecture flags - Clarify publish error message a bit - Fix interacting with aliases with a trailing slash - Don't move the image into place until it's been parsed - Make sure we always use the right dialer and proxy - specs: Fix wrong key name - Fix lxc file on Windows - Fix broken DB migration when upgrading from LXD 0.27 or older - Avoid global variables in client tool - Fix errors due to early failure to connect - Always export the file size on transfer - Fixed some typos - lxd-images: Register atexit at init time - specs: Update storage spec for btrfs send/receive - Use upstream go-systemd (this breaks backward compatibility with Go 1.3) * Move bash completion profile to /usr/share/bash-completion -- Stéphane Graber Thu, 18 Feb 2016 00:34:35 -0500 lxd (2.0.0~beta2-0ubuntu2) xenial; urgency=medium * Cherry-pick upstream bugfix: - DB migration failure fix -- Stéphane Graber Sun, 14 Feb 2016 17:27:34 -0500 lxd (2.0.0~beta2-0ubuntu1) xenial; urgency=medium * New upstream release (2.0.0~beta2): - /dev/console has been re-enabled - The btrfs backend now supports optimized container transfer - Source file ownership and permissions are conserved by default on "lxc file push" - Both "lxc list" and "lxc image list" now accept regular expressions as filter - lxc info now shows the container creation date (if known), the list of profiles and detailed snapshot information - Recursive aliases are now supported in the client (e.g. "delete: delete -f") - "lxc delete" now requires a "-f/--force" flag when run against a running container - "lxc delete" now has a -i option to always request user confirmation on delete * Add a direct dependency on liblxc1, lxcfs and uidmap. [ Michael Hudson-Doyle ] * Update debian/rules to follow dh-golang's expectations a little more -- Stéphane Graber Wed, 10 Feb 2016 22:45:46 -0500 lxd (2.0.0~beta1-0ubuntu4) xenial; urgency=medium [ Stéphane Graber ] * Cherry-pick zfs storage fix (copy non-zfs to zfs) [ Michael Hudson-Doyle ] * Simpify debian/rules logic -- Stéphane Graber Thu, 04 Feb 2016 01:14:09 +0100 lxd (2.0.0~beta1-0ubuntu3) xenial; urgency=medium * Cherry-pick fix for arm64 build. -- Stéphane Graber Wed, 27 Jan 2016 08:32:42 +0000 lxd (2.0.0~beta1-0ubuntu2) xenial; urgency=medium * Fix version parsing code in debian/rules -- Stéphane Graber Wed, 27 Jan 2016 01:35:00 +0000 lxd (2.0.0~beta1-0ubuntu1) xenial; urgency=medium * New upstream release (2.0.0~beta1): - "lxc config edit" now works to edit the local server configuration - Add support for block I/O limits - Add support for network I/O limits - error out on deleting nonexistent alias - Fix LXC config rendering - Improve detection of text editor - Fix "lxc file edit" - Add network limits - Fix IPv6 handling in daemon code - Update specs and documentation on file pull/push - Better deal with broken LXC - Update README to avoid setting a mountpoint for zfs - Print message on sucessfull copy of image - Fix small typo s/sucessfully/successfully - Improve forkstart debugging - Always call Rename() when not migrating - Use a tempfile for image uploads - report errors if the restore call's start command fails - Truncate the target on file transfer - Mention that raw keys are risky - Allow writes to /dev/tty in privileged containers - implement stateful snapshot restore - don't fail to delete when deleting snapshots fails -- Stéphane Graber Tue, 26 Jan 2016 19:38:11 -0500 lxd (0.27-0ubuntu2) xenial; urgency=high * golang-go:ppc64el has fixed linking support, golang-go:powerpc is a dummy package, which depends on gccgo, thus update dependencies to use golang package name unconditionally. -- Dimitri John Ledkov Thu, 21 Jan 2016 16:12:28 +0000 lxd (0.27-0ubuntu1) xenial; urgency=medium * New upstream release (0.27) - Support for container disk quota (zfs and btrfs only) - Download progress during image copy and container launch (LP: #1530414) - Initial work on a LXC to LXD script (supports almost every configuration except for unprivileged containers) - New linux.kernel_modules container property (list of modules to load before starting the container) - New core.https_allowed_origin server property (controls the Access-Control-Allow-Origin header) - Profile changes are now live-applied to all affected containers - "lxc config edit" now works against servers too - Changes to security.nesting are now live-applied - Support for xfs with the lvm backend - "lxc image list" now supports filtering (by name, hash and properties) - Improved bash completion profile - The default remote is now visible in "lxc remote list" - "lxc info" now indicates whether a container is ephemeral or persistent - Various improvement to help messages (LP: #1531643, LP: #1530413, LP: #1531357) - A lot of bugfixes and other performance improvement, see: https://linuxcontainers.org/lxd/news/ -- Stéphane Graber Wed, 20 Jan 2016 09:53:05 -0500 lxd (0.26-0ubuntu3) xenial; urgency=medium * Cherry-pick upstream bugfixes: - 0001-export-fix-crash-when-metadata.yaml-is-missing.patch - 0002-migration-report-errors-from-criu-or-liblxc.patch - 0003-lxc-copy-try-and-report-the-real-error.patch - 0004-bash-completion-updates.patch (LP: #1531358) * Install bash completion profile -- Stéphane Graber Thu, 07 Jan 2016 18:28:38 -0500 lxd (0.26-0ubuntu2) xenial; urgency=medium * Fix autopkgtest exercise script to use new environment variable name. -- Stéphane Graber Tue, 05 Jan 2016 10:33:17 -0500 lxd (0.26-0ubuntu1) xenial; urgency=medium * New upstream release (0.26) - New "host_name" network interface property that specifies the name of the host side veth device - It is now possible to pull/push/edit files of a stopped container - It's now possible to specify what "lxc list" columns to show (including a new PID column) - Properly inherit the active CPU map rather than assuming all CPUs are usable - zfs: Fix a couple of race conditions - lvm: Fix creation of container from an image - Cut down network round trips in half by not calling Finger() every time - Fix invalid permissions on container shmounts and devices directories - Fix container teardown not always cleaning up devices & mounts - Improve performance of host-triggered container stop/restart (5s faster) - Make lxd callhook timeout after 30s (instead of hanging indefinitely on failure) - Cleanup and document the testsuite - Fix remote certificate handling on add/rename/remove -- Stéphane Graber Mon, 04 Jan 2016 18:40:23 -0500 lxd (0.25-0ubuntu1) xenial; urgency=medium * New upstream release (0.25) - New --mode argument to "lxc exec", makes it possible to force non-interactive mode. - Full support of the s390x architecture (IBM z/series 64bit) - Command aliases can now move the command arguments by using the @ARGS@ keyword - Full support for CPU limits: + limits.cpu: Number of CPUs (e.g. 2) or range of core (e.g. 0,2-3) + limits.cpu.allowance: Percentage of CPU time under load (e.g. 50%) or hard time limit (10ms/50ms) + limits.cpu.priority: Container priority when host is under load as a value between 1 (lowest) and 10 (highest) (e.g. 5) - Full support for memory limits: + limits.memory: Limit in bytes (kB, MB, GB, TB, PB, EB suffixes supported) (e.g. 256MB) or in percentage of the host memory (e.g. 20%) + limits.memory.enforce: hard (container cannot use more memory than allocated) or soft (limit only applies under load) + limits.memory.swap: true or false, indicates whether the container may use the swap + limits.memory.swap.priority: Priority for swap usage, from 1 to 10, with 1 causing the most data to be swapped out to disk - All CPU and memory limits are now applied live. - Support for optimized (send/receive) ZFS container & snapshot migration -- Stéphane Graber Mon, 21 Dec 2015 18:56:10 -0500 lxd (0.24-0ubuntu4) xenial; urgency=medium * Cherry-pick the following upstream commits: - 0009-images-fix-expiry-logic.patch - 0010-Add-proper-s390x-support.patch - 0011-Allow-moving-arguments-in-aliases.patch - 0012-Live-apply-memory-limits.patch -- Stéphane Graber Fri, 11 Dec 2015 18:32:15 -0500 lxd (0.24-0ubuntu3) xenial; urgency=medium * Use the packaged versions of: - golang-github-coreos-go-systemd - golang-github-pborman-uuid-dev - golang-gocapability-dev * Add a new golang-github-lxc-lxd-dev package. -- Stéphane Graber Thu, 10 Dec 2015 14:35:01 -0500 lxd (0.24-0ubuntu2) xenial; urgency=medium * Cherry-pick the following upstream bugfixes: (LP: #1522755) - 0001-Introduce-a-new-mode-option-to-exec.patch - 0002-remove-extra-debugging-statement.patch - 0003-generate-a-better-error-message-for-legacy-image-imp.patch - 0004-hide-lxc-importer-from-help-output.patch - 0005-tests-Avoid-device-conflicts.patch - 0006-Use-the-mountpoint-command-when-available.patch - 0007-tests-Fix-mount-issues.patch - 0008-Apparently-IsMountPoint-is-never-very-reliable-with-.patch * Set wait timeout to 10 minutes in lxd job. This should be long enough for even the slowest hardware to generate a SSL key. * Update debian/rules to make it easier to flip between building with the embedded dependencies or not. -- Stéphane Graber Wed, 09 Dec 2015 16:46:41 -0500 lxd (0.24-0ubuntu1) xenial; urgency=medium * New upstream release (0.24) * Drop all patches (merged upstream) * Update debian/copyright file (change of gettext and uuid dependencies) * For the following dependencies, use the packaged version rather than the one bundled within the LXD source: - golang-go.crypto-dev - golang-context-dev - golang-github-gorilla-mux-dev - golang-github-mattn-go-sqlite3-dev - golang-github-olekukonko-tablewriter-dev - golang-gopkg-tomb.v2-dev - golang-goprotobuf-dev - golang-petname-dev - golang-yaml.v2-dev -- Stéphane Graber Wed, 09 Dec 2015 00:33:28 -0500 lxd (0.23-0ubuntu3) xenial; urgency=medium * Fix systemd resource limits. (LP: #1521980) -- Stéphane Graber Wed, 02 Dec 2015 12:34:14 -0500 lxd (0.23-0ubuntu2) xenial; urgency=medium * Cherrypick https://github.com/lxc/lxd/pull/1358 * Add s390x dependencies. -- Dimitri John Ledkov Thu, 26 Nov 2015 10:56:04 +0000 lxd (0.23-0ubuntu1) xenial; urgency=medium * New upstream release (0.23) - New "lxd init" command is available to help setup storage, network and password on new LXD installations - Log messages are now sent over the events API - New process count metric available in the containers API and in "lxc info" - Rewritten operations handling, now includes events for each changes and includes download status - "lxc image import" can now take the URL to an https webserver advertising a LXD image through HTTP headers - The minimal HTTP proxy shipped by LXD has been rewritten to be even lighter - "lxc config get \" now works as expected - lxd-images: Much lower memory usage when importing an image - More readable log entries over the events API - Event filtering in "lxc monitor" now works properly - Container architectures are now properly tracked - LXD now ensures that published containers will always have metadata in their image - Container copy now copies devices and config properly - Image import failure now result in proper error messages - "lxc info --show-log" is now also suggested on "lxc launch" failures -- Stéphane Graber Wed, 25 Nov 2015 02:11:02 -0500 lxd (0.22-0ubuntu2) xenial; urgency=medium * SECURITY UPDATE: Fix the mode of /var/lib/lxd/unix.socket when socket-activated by systemd to be 0660 instead of 0666. (LP: #1515689) -- Stéphane Graber Thu, 12 Nov 2015 11:35:59 -0500 lxd (0.22-0ubuntu1) xenial; urgency=medium * New upstream release (0.22) - Freeze containers before killing them (helps with fork bombs) - Configurable image compression algorithm (also supports no compression) - Support using an HTTP proxy when downloading a remote image - Initial implementation of the events interface and minimal client for it (lxc monitor) - Don't remove the main LXD socket when starting a second daemon - On failure to add a remote, cleanup the cached certificate - LXD no longer requires a client certificate to talk to public endpoints - Better error and debug messages for checkpoint/restore and container startup - Fixed a race condition during container startup - Update the busybox test image to avoid an occasional hang - lvm-setup: Update to work on older Ubuntu releases - Fix extraction of bz2 compressed images - Fix a number of fd leaks - Fix shmount handling to avoid creating an extra mount everytime LXD starts - lxd-images: Fallback to the daily stream if an image can't be found in the releases stream - Fix a uid/gid mapping issue on container copy - Fix a LXD hang on invalid LXC configuration key -- Stéphane Graber Tue, 10 Nov 2015 18:00:48 -0500 lxd (0.21-0ubuntu5) xenial; urgency=medium * Don't wrap our testsuite with "script", it apparently mangles output in some odd cases. -- Stéphane Graber Fri, 06 Nov 2015 11:43:34 -0500 lxd (0.21-0ubuntu4) xenial; urgency=medium * Re-enable all the tests so we can better debug what's going on in autopkgtest. -- Stéphane Graber Sun, 01 Nov 2015 16:20:48 -0500 lxd (0.21-0ubuntu3) xenial; urgency=medium * Update previous patch to remove any related code as otherwise the static analysis run in the testsuite (shellcheck) will fail on unused variables. -- Stéphane Graber Sun, 01 Nov 2015 00:10:16 -0400 lxd (0.21-0ubuntu2) xenial; urgency=medium * Add a local patch which disables the MAC address check for now as we appear to be getting some odd values back from the kernel under adt (used to be empty is now valid value but prefixed with \@ and trailing \n). -- Stéphane Graber Sat, 31 Oct 2015 22:16:29 -0400 lxd (0.21-0ubuntu1) xenial; urgency=medium * New upstream release (0.21) - Default LVM volume size to 10GB (instead of 100GB) - Client now supports aliases - "lxc info" now works against servers - Nested LXD now works on btrfs too -- Stéphane Graber Sat, 31 Oct 2015 19:45:00 -0400 lxd (0.20-0ubuntu4) wily; urgency=medium * Use dh-golang. (LP: #1481507) * Fix some lintian warnings (debconf related) -- Stéphane Graber Fri, 16 Oct 2015 21:32:41 -0700 lxd (0.20-0ubuntu3) wily; urgency=medium * Cherry-pick upstream bugfix: - Fix non-interactive exec race condition -- Stéphane Graber Thu, 15 Oct 2015 10:21:31 -0700 lxd (0.20-0ubuntu2) wily; urgency=medium * Add new test dependencies. -- Stéphane Graber Wed, 14 Oct 2015 23:36:25 -0700 lxd (0.20-0ubuntu1) wily; urgency=medium * New upstream release (0.20) (LP: #1487756) - Fix LVM copy/move of stopped containers (LP: #1499359) - Container restart is now implemented as stop + start (reloads all config) - Config key=value can now be passed at launch time using --config/-c - A new "pause" command is now available to temporarily freeze a container - Cached images are now private by default - You can now publish a remote container into the local image store - It is now possible to add character or block devices to a container - The image size is now shown in the image list -- Stéphane Graber Wed, 14 Oct 2015 17:40:47 -0700 lxd (0.19-0ubuntu5) wily; urgency=medium * Cherry-pick a few more upstream bugfixes: - CVE-2015-1340: Fix race condition in uidshift (LP: #1502270) - Compare IPs more intelligently when changing core.https_address - Drop an unused container property - Make cached images and copied images private by default * Update debian/tests/control to depend on everything that we need -- Stéphane Graber Tue, 06 Oct 2015 13:20:58 +0100 lxd (0.19-0ubuntu4) wily; urgency=medium * Cherry-pick another upstream bugfix: - Fix image show/edit handling of the public flag * Add an hourly cron job (only runs if LXD is running) which will update any image that was imported with the --sync flag. * Set both NPROC and NOFILE to their maximum value (-1) in the LXD systemd unit. This ensures consistent behavior on all init systems. -- Stéphane Graber Thu, 01 Oct 2015 17:46:10 -0400 lxd (0.19-0ubuntu3) wily; urgency=medium * Cherry-pick a few more usptream bugfixes: - Workaround a kernel race condition in testsuite (should fix adt) - Add extra needed apparmor permissions for nesting - Start container storage before public (fixes publish on LVM) - Don't remove non-existent file when setting up LVM * Update lintian overrides for 0.19 -- Stéphane Graber Thu, 01 Oct 2015 00:11:05 -0400 lxd (0.19-0ubuntu2) wily; urgency=medium * Cherry-pick two upstream bugfixes (regressions in 0.19): - Fix the testsuite failing when GOPATH isn't set - Allow empty lines and comments in raw.lxc -- Stéphane Graber Wed, 30 Sep 2015 13:30:45 -0400 lxd (0.19-0ubuntu1) wily; urgency=medium * New upstream release (0.19) - ZFS support - Support for container nesting - Allow setting multi-line configuration keys by reading from stdin - It's now possible to make an ephemeral copy of a container - Public read-only servers are now auto-detected - lxd-images now supports updating existing images - It is now possible to mark/unmark images as public - Completely reworked testsuite - Updated documentation and specifications - A lot of bugfixes (no known bugs left at time of release) -- Stéphane Graber Tue, 29 Sep 2015 19:57:52 -0400 lxd (0.18-0ubuntu2) wily; urgency=medium * Add a lxd-startup.service systemd unit to detect whether LXD is needed at startup (bound to network or got containers to start) and if so, triggers it. -- Stéphane Graber Sat, 19 Sep 2015 14:50:34 -0400 lxd (0.18-0ubuntu1) wily; urgency=medium * New upstream release (0.18) - lxc: Add a new --force-local argument - lxc: Allow file push/pull using stdin/stdout - lxc: Rework translation template - lxd/core: Fix image creation of privileged containers - lxd/core: implement per-container apparmor profiles - lxd/core: implement per-container seccomp profiles - lxd/core: Fix socket-activation on exit - lxd/core: Add support for nested LXD - lxd/btrfs: Fix shared mount detection on btrfs - lxd: Implement new "shutdown" sub-command - lxd: Implement new "activateifneeded" sub-command - scripts: Add script to set up and delete LVM storage - A bunch more fixes, tests and other improvements * This release includes the needed fixes for autopkgtest in the Ubuntu CI environment. -- Stéphane Graber Thu, 17 Sep 2015 15:19:10 -0400 lxd (0.17-0ubuntu2) wily; urgency=medium * Add XS-Testsuite to debian/control so it's consistently set no matter what Ubuntu version was used to build the source package. -- Stéphane Graber Mon, 07 Sep 2015 01:32:17 -0400 lxd (0.17-0ubuntu1) wily; urgency=medium * New upstream release (0.17) - lxc: Add a new "lxc file edit" command - lxc: Add support for public remotes - lxc: Support adding a remote by its IPv6 address - lxd/core: Fix building with Go 1.5 - lxd/core: Allow renaming snapshots - lxd/core: Add a new /logs REST API to containers - lxd/core: Export the storage backend name and version - lxd/btrfs: Support for recursive subvolume snapshot and removal - lxd/lvm: Add snapshot support - lxd/lvm: Add container copy support - lxd/lvm: Add container rename support - lxd/lvm: Disallow changing LVM config if pool is in use. - lxd/lvm: Document LVM config keys in specs - lxd-images: Deprecate "lxd images import lxc" - lxd-images: Print the manifest URL - lxd-images: Default to the "releases" stream for Ubuntu images - vagrant: Support running in vmware - A bunch more fixes, tests and other improvements * Update debian/copyright to match reality. * Add lxd-tools package containing fuidshift. * Add lxd-bridge and lxd-bridge-proxy to the lxd package. * Update lintian overrides. * Add autopkgtest. -- Stéphane Graber Thu, 03 Sep 2015 15:13:36 -0400 lxd (0.16-0ubuntu1) wily; urgency=medium * New upstream release (0.16) - Fix uid/gid mapping during container migration - Fix uid/gid mapping when changing the local map - Fix EDITOR handling - Fix stateful snapshots - Fix operations between a local and remote LXD - Rework container auto-start to work as expected * Use golang-go for arm64 * Force gccgo builds on everything bug amd64, i386, armhf and arm64 (LP: #1481921) -- Stéphane Graber Sat, 22 Aug 2015 11:52:07 -0700 lxd (0.15-0ubuntu2) wily; urgency=medium * No change rebuild to pick up LXc 1.1.3. -- Stéphane Graber Sun, 16 Aug 2015 12:14:39 -0400 lxd (0.15-0ubuntu1) wily; urgency=medium * New upstream release (0.15) * With this release, LXD no longer binds [::]:8443 by default. To restore the previous behavior, please do: lxc config set core.https_address [::]:8443 -- Stéphane Graber Wed, 05 Aug 2015 14:48:51 -0400 lxd (0.14-0ubuntu3) wily; urgency=medium * Have the package create /var/log/lxd. -- Stéphane Graber Wed, 29 Jul 2015 16:41:45 +0200 lxd (0.14-0ubuntu2) wily; urgency=medium * Cherry-pick bugfix for invalid / permission when using split-images. 5f45bfb2032716259be2412e0ac0902d70b944f0 -- Stéphane Graber Sun, 26 Jul 2015 15:23:06 +0200 lxd (0.14-0ubuntu1) wily; urgency=medium * New upstream release (0.14) * Log daemon output to /var/log/lxd/lxd.log -- Stéphane Graber Tue, 21 Jul 2015 19:04:19 -0400 lxd (0.13-0ubuntu1) wily; urgency=medium * New upstream release (0.13) * Default to shutting down all containers on stop under systemd and upstart. This isn't yet ideal as unfortunately that means all containers will be bounced on service restart. Ideally, SIGPWR would only be sent to LXD on host shutdown and SIGTERM would be sent the rest of the time. -- Stéphane Graber Tue, 07 Jul 2015 18:27:32 -0400 lxd (0.12-0ubuntu2) wily; urgency=medium * Cherry-pick commit disabling /dev/lxd on gccgo for now. -- Stéphane Graber Wed, 01 Jul 2015 11:29:02 -0400 lxd (0.12-0ubuntu1) wily; urgency=medium * New upstream release (0.12) * Bump open file limits to 65536 by default. * Switch to socket activation for the systemd units. -- Stéphane Graber Tue, 30 Jun 2015 18:58:41 -0400 lxd (0.11-0ubuntu1) wily; urgency=medium * New upstream release (0.11) -- Stéphane Graber Tue, 09 Jun 2015 19:18:56 +0200 lxd (0.10-0ubuntu1) wily; urgency=medium * New upstream release (0.10) -- Stéphane Graber Wed, 27 May 2015 15:58:16 -0400 lxd (0.9-0ubuntu2) wily; urgency=medium * Fix dh_installinit override. -- Stéphane Graber Wed, 13 May 2015 13:49:38 -0400 lxd (0.9-0ubuntu1) wily; urgency=medium * New upstream release (0.9) -- Stéphane Graber Tue, 12 May 2015 19:14:59 -0400 lxd (0.7-0ubuntu1) vivid; urgency=medium * New upstream release (0.7) (LP: #1425686) -- Stéphane Graber Tue, 14 Apr 2015 23:54:16 -0500 lxd (0.6-0ubuntu1) vivid; urgency=medium * New upstream release (0.6) (LP: #1425686) -- Stéphane Graber Tue, 07 Apr 2015 18:08:32 -0400 lxd (0.5-0ubuntu4) vivid; urgency=medium * Fix debian/compat -- Stéphane Graber Mon, 06 Apr 2015 20:33:06 -0400 lxd (0.5-0ubuntu3) vivid; urgency=medium * Bind to port 8443 by default (needed for remote management). -- Stéphane Graber Mon, 06 Apr 2015 19:57:46 -0400 lxd (0.5-0ubuntu2) vivid; urgency=medium * Cherry-pick powerpc fix from upstream. -- Stéphane Graber Thu, 26 Mar 2015 16:55:15 -0400 lxd (0.5-0ubuntu1) vivid; urgency=medium * New upstream release (0.5) (LP: #1425686) * Build on all architectures (using gccgo) -- Stéphane Graber Thu, 26 Mar 2015 15:57:40 -0400 lxd (0.1-0ubuntu1) vivid; urgency=medium * Initial upstream release. -- Stéphane Graber Fri, 13 Feb 2015 16:32:33 -0500