SRU of LXD 2.0.9 (upstream bugfix release)

Bug #1660506 reported by Stéphane Graber
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
lxd (Ubuntu)
Invalid
Undecided
Unassigned
Xenial
Fix Released
Undecided
Stéphane Graber

Bug Description

LXD upstream released LXD 2.0.6 as a bugfix release with following changelog:
 - Exec sessions being killed by a signal will now report the signal number as part of their exit code.
 - 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).
 - The client will now let you delete multiple images at once.
 - LXD is now using Weblate for its translations.

 - client: Add a done signal to Monitor API
 - client: Better handle http errors
 - client: Commonize update methods
 - doc: Add Documentation on Network Configuration via cloud-init
 - doc: Added reference to godoc to README.md
 - doc: Update README.md for CI and Weblate status
 - extra/lxc-to-lxd: Add more unsupported config keys
 - extra/lxc-to-lxd: All properties must be strings
 - extra/lxc-to-lxd: Copy the rootfs by default, don't move it
 - extra/lxc-to-lxd: Show nicer error on missing python3-lxc
 - extra/lxc-to-lxd: Switch to using a config whitelist
 - global: Fix typos
 - global: "gofmt -s" run
 - lxc: Better handle timestamps
 - lxc: Make help messages more consistent
 - lxc: Properly check yaml errors
 - lxc/init: Fix example
 - lxc/init: Properly replace args list
 - lxc/launch: Just use init.go's flags()
 - lxc/list: Sort IPv4 and IPv6 addresses
 - lxc/remote: Update help
 - lxd-bridge: Add ip6tables filter rules
 - lxd-bridge: DHCP happens over UDP only
 - lxd-bridge: Make IPv4 firewalling optional (default is enabled)
 - lxd/containers: Add basic logging to container creation
 - lxd/containers: Allow passing in-memory buffers to a FileResponse
 - lxd/containers: Also call setgroups when attaching to the container
 - lxd/containers: Avoid race condition in network fill function
 - lxd/containers: Blacklist lxc.syslog and lxc.ephemeral in raw.lxc
 - lxd/containers: Detect background tasks to allow clean exit
 - lxd/containers: Do mounts in the right order
 - lxd/containers: Don't attempt to read xattrs from symlinks
 - lxd/containers: Don't block resolution on non-existing paths
 - lxd/containers: Don't record last_state.power twice
 - lxd/containers: Exec() return attached PID && take bool arg
 - 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 generated seccomp profile
 - lxd/containers: Fix logging for file_manip commands
 - lxd/containers: Improve error handling and reporting during export
 - lxd/containers: Return a clear error when replacing a directory
 - lxd/daemon: Common codepath for http client
 - lxd/daemon: Don't set InsecureSkipVerify on daemon's tls config
 - lxd/daemon: Log daemon version
 - lxd/daemon: Make directories with stricter permissions
 - lxd/daemon: Make LXD_DIR with +x for group and everyone
 - lxd/daemon: Only mark ready once containers are up
 - lxd/daemon: Properly validate daemon keys on unset
 - lxd/daemon: Use our custom http server when updating HTTPS address too
 - lxd/db: Drop unused code from db.go
 - lxd/images: Close race condition in image download
 - lxd/images: Track speed during network transfers
 - lxd/main: Move activateifneeded to own file
 - lxd/main: Move callhook to own file
 - lxd/main: Move daemon to own file
 - lxd/main: Move forkexec to own file
 - lxd/main: Move forkgetnet to own file
 - lxd/main: Move forkmigrate to own file
 - lxd/main: Move forkstart to own file
 - lxd/main: Move init to own file
 - lxd/main: Move migratedumpsuccess to own file
 - lxd/main: Move netcat to own file
 - lxd/main: Move ready to own file
 - lxd/main: Move shutdown to own file
 - lxd/main: Move waitready to own file
 - lxd/main: Rename nsexec.go to main_nsexec.go
 - lxd/migrate: Use the generated snapshot list
 - lxd/patches: Mark all patches as applied on create
 - lxd/profiles: Fix unusued variable
 - lxd/storage: btrfs: Don't assume a path is a subvolume
 - lxd/storage: Change ContainerStart to take the name and path to start
 - lxd/storage: Rework EEXISTS detection on create
 - lxd/storage: zfs: Simplify device tracking logic
 - Makefile: Rework "make dist" to be more reliable
 - shared: add GetPollRevents()
 - shared: Add WebsocketExecMirror()
 - shared: Centralize all cert fingerprint generation
 - shared: Convert TransferProgress to ReadCloser
 - shared: ExecReaderToChannel() use sync.Once
 - 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: Implement write tracking
 - shared: Make a helper to compute cert fingerprint
 - shared: Move Device/Devices types to lxd package
 - shared: Move FromLXCState out of shared
 - shared: Move REST API to new package: certificate
 - shared: Move REST API to new package: container
 - shared: Move REST API to new package: godoc
 - shared: Move REST API to new package: image
 - shared: Move REST API to new package: network
 - shared: Move REST API to new package: operation
 - shared: Move REST API to new package: profile
 - shared: Move REST API to new package: response
 - shared: Move REST API to new package: server
 - shared: Move REST API to new package: status
 - shared: Move WebsocketUpgrader to network.go
 - shared: Remove GroupName function and add UserId one
 - shared: Rename idmapset_test_linux.go to idmapset_linux_test.go
 - shared: Support absolute file transfer tracking
 - shared/idmapset: Drop debugging code
 - shared/idmapset: Fix intersection test
 - shared/logging: Introduce our own formatter
 - shared/logging: Make PrintStack print at the Error level
 - shared/simplestreams: Don't depend on custom http handler
 - shared/simplestreams: Pass UserAgent as argument
 - shared/util: Add Int64InSlice()
 - shared/util: GetByteSizeString() take precision argument
 - shared/util: Improve byte parsing
 - shared/util: ParseByteSizeString() deal with bytes
 - tests: Don't ignore errors in db tests
 - tests: Fix bad variable name
 - tests: Fix deadcode to work with new upstream
 - tests: Fix shellcheck being confused by cd
 - tests: Fix standalone remote test
 - tests: Shorten test name to fit on Jenkins
 - tests: Simplify testsuite spawn code
 - tests: Test lxd shutdown
 - tests: Use lxc restart instead of reboot

Just like Ubuntu itself, upstream releases long term support releases, as is 2.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 trusty-backports as well, making sure we have the same version everywhere.

Changed in lxd (Ubuntu):
status: New → Invalid
Changed in lxd (Ubuntu Xenial):
status: New → In Progress
assignee: nobody → Stéphane Graber (stgraber)
Revision history for this message
Brian Murray (brian-murray) wrote :

How will this be tested if the package is accepted to -updates?

Revision history for this message
Stéphane Graber (stgraber) wrote :

We have autopkgtest coverage for this, combined with manual testing of it prior to release and we also look very closely at bug reports we get upstream from users of distributions which are already shipping this release.

Same thing we've been doing for the past 8 point releases, so far with all issues found before it hit -updates.

Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello Stéphane, or anyone else affected,

Accepted lxd into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/lxd/2.0.9-0ubuntu1~16.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation 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 to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in lxd (Ubuntu Xenial):
status: In Progress → Fix Committed
tags: added: verification-needed
Revision history for this message
Stéphane Graber (stgraber) wrote :

All tests pass, haven't seen any bug report for existing users and haven't seen any problem while using this for a week myself. Mark as verification-done.

tags: added: verification-done
removed: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (6.8 KiB)

This bug was fixed in the package lxd - 2.0.9-0ubuntu1~16.04.1

---------------
lxd (2.0.9-0ubuntu1~16.04.1) xenial; urgency=medium

  * New upstream bugfix release (2.0.9) (LP: #1660506)
    - Exec sessions being killed by a signal will now report the signal
      number as part of their exit code.
    - 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.
    - The client will now let you delete multiple images at once.
    - LXD is now using Weblate for its translations.

    - client: Add a done signal to Monitor API
    - client: Better handle http errors
    - client: Commonize update methods
    - doc: Add Documentation on Network Configuration via cloud-init
    - doc: Added reference to godoc to README.md
    - doc: Update README.md for CI and Weblate status
    - extra/lxc-to-lxd: Add more unsupported config keys
    - extra/lxc-to-lxd: All properties must be strings
    - extra/lxc-to-lxd: Copy the rootfs by default, don't move it
    - extra/lxc-to-lxd: Show nicer error on missing python3-lxc
    - extra/lxc-to-lxd: Switch to using a config whitelist
    - global: Fix typos
    - global: "gofmt -s" run
    - lxc: Better handle timestamps
    - lxc: Make help messages more consistent
    - lxc: Properly check yaml errors
    - lxc/init: Fix example
    - lxc/init: Properly replace args list
    - lxc/launch: Just use init.go's flags()
    - lxc/list: Sort IPv4 and IPv6 addresses
    - lxc/remote: Update help
    - lxd-bridge: Add ip6tables filter rules
    - lxd-bridge: DHCP happens over UDP only
    - lxd-bridge: Make IPv4 firewalling optional (default is enabled)
    - lxd/containers: Add basic logging to container creation
    - lxd/containers: Allow passing in-memory buffers to a FileResponse
    - lxd/containers: Also call setgroups when attaching to the container
    - lxd/containers: Avoid race condition in network fill function
    - lxd/containers: Blacklist lxc.syslog and lxc.ephemeral in raw.lxc
    - lxd/containers: Detect background tasks to allow clean exit
    - lxd/containers: Do mounts in the right order
    - lxd/containers: Don't attempt to read xattrs from symlinks
    - lxd/containers: Don't block resolution on non-existing paths
    - lxd/containers: Don't record last_state.power twice
    - lxd/containers: Exec() return attached PID && take bool arg
    - 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 generated seccomp profile
    - lxd/containers: Fix logging for file_manip commands
    - lxd/containers: Improve error handling and reporting during export
    - lxd/containers: Return a clear error when replacing a directory
    - lxd/daemon: Common codepath for http client
    - lxd/daemon: Don't set InsecureSkipVerify on daemon's tls config
    - lxd/daemon: Log daemon version
    - lxd/daemon: Make directories with stricter permissions
    - lxd/daemon: Make LXD_DIR with +x for group and everyone
    - lxd/daemon: Only mark ready once containers are up
    - lxd/daemon: Properly validate daem...

Read more...

Changed in lxd (Ubuntu Xenial):
status: Fix Committed → Fix Released
Revision history for this message
Stéphane Graber (stgraber) wrote : Update Released

The verification of the Stable Release Update for lxd has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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