SRU of LXD 3.0.2

Bug #1788280 reported by Stéphane Graber on 2018-08-21
This bug affects 1 person
Affects Status Importance Assigned to Milestone
lxd (Ubuntu)
Status tracked in Cosmic
Stéphane Graber
Stéphane Graber
Stéphane Graber

Bug Description

LXD upstream released LXD 3.0.2 as a bugfix release with following changelog:

 - 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 if needed
 - 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 from the WHERE clause of StoragePoolsConfig
 - Fix lints
 - Extract cmdInit.ApplyConfig into a separete 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: consistenly 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 is over
 - 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
 - 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

Just like Ubuntu itself, upstream releases long term support releases, as is 3.0 and then periodic point releases including all the accumulated bugfixes.

Only the latest upstream release gets full support from the upstream developers, everyone else is expected to first update to it before receiving any kind of support.

This should qualify under the minor upstream bugfix release allowance of the SRU policy, letting us SRU this without paperwork for every single change included in this upstream release.

Once the SRU hits -updates, we will be backporting this to xenial-backports as well, making sure we have the same version everywhere.

Changed in lxd (Ubuntu Xenial):
status: New → Triaged
Changed in lxd (Ubuntu Bionic):
status: New → Triaged
Changed in lxd (Ubuntu Xenial):
importance: Undecided → Medium
Changed in lxd (Ubuntu Bionic):
importance: Undecided → Medium
Changed in lxd (Ubuntu Xenial):
assignee: nobody → Stéphane Graber (stgraber)
Changed in lxd (Ubuntu Bionic):
assignee: nobody → Stéphane Graber (stgraber)
Changed in lxd (Ubuntu Cosmic):
status: Triaged → In Progress
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package lxd - 3.0.2-0ubuntu3

lxd (3.0.2-0ubuntu3) cosmic; urgency=medium

  * Add missing test dependency (socat)

 -- Stéphane Graber <email address hidden> Wed, 22 Aug 2018 01:50:48 -0400

Changed in lxd (Ubuntu Cosmic):
status: In Progress → Fix Released
Changed in lxd (Ubuntu Bionic):
status: Triaged → In Progress
Stéphane Graber (stgraber) wrote :

Uploaded to bionic-updates

WGH (wgh) wrote :

3.0.2 also is supposed to fix a rather nasty memory leak:

Hello Stéphane, or anyone else affected,

Accepted lxd into bionic-proposed. The package will build now and be available at in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in lxd (Ubuntu Bionic):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-bionic
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.