Backport the container stack in Hirsute

Bug #1919322 reported by Lucas Kanashiro
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
containerd (Ubuntu)
Fix Released
Undecided
Unassigned
Bionic
Fix Released
Undecided
Lucas Kanashiro
Focal
Fix Released
Undecided
Lucas Kanashiro
Groovy
Fix Released
Undecided
Lucas Kanashiro
docker.io (Ubuntu)
Fix Released
Undecided
Unassigned
Bionic
Fix Released
Undecided
Lucas Kanashiro
Focal
Fix Released
Undecided
Lucas Kanashiro
Groovy
Fix Released
Undecided
Lucas Kanashiro
runc (Ubuntu)
Fix Released
Undecided
Unassigned
Bionic
Fix Released
Undecided
Lucas Kanashiro
Focal
Fix Released
Undecided
Lucas Kanashiro
Groovy
Fix Released
Undecided
Lucas Kanashiro

Bug Description

[Impact]

In order to follow our policy on keeping the container stack (docker.io, containerd, and runc) up-to-date in our supported releases, let's backport the stack in Hirsute to Groovy, Focal, and Bionic.

docker.io version 20.10.2 was introduced in mid January in Hirsute and no issue was reported so far against it, which demonstrates its stability. Also, runc version 1.0-rc93 has an important fix regarding a glibc and seccomp issue (LP: #1916485). And finally, containerd version 1.4.4 has a fix for CVE-2021-21334.

[Test Plan]

Per https://wiki.ubuntu.com/DockerUpdates, our test case is the autopkgtests

[Where problems could occur]

As usual, we deliver most benefit to our users by delivering an upstream experience. A risk of regressions is part of that.

[Other Info]

The SRU team brought up to my attention that a couple of changes were made to the containerd service file which worth a mention here. The following lines were added by upstream:

+RestartSec=5
+OOMScoreAdjust=-999

The docker.io service file also has some changes made by upstream:

[Unit]
-BindsTo=containerd.service
+Wants=containerd.service

[Service]
+OOMScoreAdjust=-500

The changes in the Unit section is fine because this is the current behavior of our debian packages (we are patching it to apply this change). The second change in the Service section was the default already but then upstream moved from code to the service unit file. Look at the changes dropped from docker.io current in Groovy (components/engine/cmd/dockerd/config_unix.go):

- flags.IntVar(&conf.OOMScoreAdjust, "oom-score-adjust", -500, "Set the oom_score_adj for the daemon")

Due to that I believe the changes made are safe to be backported.

Changed in runc (Ubuntu Groovy):
assignee: nobody → Lucas Kanashiro (lucaskanashiro)
status: New → In Progress
Changed in runc (Ubuntu Focal):
assignee: nobody → Lucas Kanashiro (lucaskanashiro)
status: New → In Progress
Changed in runc (Ubuntu Bionic):
assignee: nobody → Lucas Kanashiro (lucaskanashiro)
status: New → In Progress
Changed in runc (Ubuntu):
status: New → Invalid
Changed in docker.io (Ubuntu):
status: New → Invalid
Changed in containerd (Ubuntu):
status: New → Invalid
Changed in docker.io (Ubuntu Groovy):
assignee: nobody → Lucas Kanashiro (lucaskanashiro)
status: New → In Progress
Changed in docker.io (Ubuntu Focal):
assignee: nobody → Lucas Kanashiro (lucaskanashiro)
status: New → In Progress
Changed in docker.io (Ubuntu Bionic):
assignee: nobody → Lucas Kanashiro (lucaskanashiro)
status: New → In Progress
Changed in containerd (Ubuntu Groovy):
assignee: nobody → Lucas Kanashiro (lucaskanashiro)
status: New → In Progress
Changed in containerd (Ubuntu Focal):
assignee: nobody → Lucas Kanashiro (lucaskanashiro)
status: New → In Progress
Changed in containerd (Ubuntu Bionic):
assignee: nobody → Lucas Kanashiro (lucaskanashiro)
status: New → In Progress
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Please test proposed package

Hello Lucas, or anyone else affected,

Accepted runc into groovy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/runc/1.0.0~rc93-0ubuntu1~20.10.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 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, what testing has been performed on the package and change the tag from verification-needed-groovy to verification-done-groovy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-groovy. 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 https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . 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 runc (Ubuntu Groovy):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-groovy
Changed in runc (Ubuntu Focal):
status: In Progress → Fix Committed
tags: added: verification-needed-focal
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

Hello Lucas, or anyone else affected,

Accepted runc into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/runc/1.0.0~rc93-0ubuntu1~20.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 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, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. 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 https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . 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 runc (Ubuntu Bionic):
status: In Progress → Fix Committed
tags: added: verification-needed-bionic
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

Hello Lucas, or anyone else affected,

Accepted runc into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/runc/1.0.0~rc93-0ubuntu1~18.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 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, what testing has been performed on the package 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 https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . 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.

Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (runc/1.0.0~rc93-0ubuntu1~18.04.1)

All autopkgtests for the newly accepted runc (1.0.0~rc93-0ubuntu1~18.04.1) for bionic have finished running.
The following regressions have been reported in tests triggered by the package:

opengcs/0.3.4+dfsg2-0ubuntu3 (s390x, armhf, amd64, i386, ppc64el, arm64)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/bionic/update_excuses.html#runc

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (runc/1.0.0~rc93-0ubuntu1~20.04.1)

All autopkgtests for the newly accepted runc (1.0.0~rc93-0ubuntu1~20.04.1) for focal have finished running.
The following regressions have been reported in tests triggered by the package:

golang-github-docker-go-connections/0.4.0-1 (arm64, armhf, ppc64el, amd64, s390x)
opengcs/0.3.4+dfsg2-0ubuntu3 (amd64, s390x, arm64, armhf, ppc64el)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/focal/update_excuses.html#runc

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (runc/1.0.0~rc93-0ubuntu1~20.10.1)

All autopkgtests for the newly accepted runc (1.0.0~rc93-0ubuntu1~20.10.1) for groovy have finished running.
The following regressions have been reported in tests triggered by the package:

opengcs/0.3.4+dfsg2-0ubuntu4 (amd64, ppc64el, s390x, arm64, armhf)
golang-github-docker-go-connections/0.4.0-1 (s390x, arm64, ppc64el, amd64, armhf)
libpod/2.0.6+dfsg1-1ubuntu1 (amd64, ppc64el, s390x, arm64, armhf)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/groovy/update_excuses.html#runc

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Mathew Hodson (mhodson)
Changed in runc (Ubuntu):
status: Invalid → Fix Released
Changed in docker.io (Ubuntu):
status: Invalid → Fix Released
Changed in containerd (Ubuntu):
status: Invalid → Fix Released
Revision history for this message
Lucas Kanashiro (lucaskanashiro) wrote :

With the new runc version opengcs needs to be patched in Bionic, Focal and Groovy in the same way it was done in Hirsute, more info on LP #1912691 .

Revision history for this message
Lucas Kanashiro (lucaskanashiro) wrote :

golang-github-docker-go-connections FTBFS at the moment in Focal and Groovy because of an issue with one certificate used in the tests. Likely this certificate needs to be regenerated.

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

Hello Lucas, or anyone else affected,

Accepted containerd into groovy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/containerd/1.4.4-0ubuntu1~20.10.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 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, what testing has been performed on the package and change the tag from verification-needed-groovy to verification-done-groovy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-groovy. 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 https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . 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 containerd (Ubuntu Groovy):
status: In Progress → Fix Committed
Revision history for this message
Lucas Kanashiro (lucaskanashiro) wrote :

The SRU team brought up to my attention that a couple of changes were made to the containerd service file which worth a mention here. The following lines were added by upstream:

+RestartSec=5
+OOMScoreAdjust=-999

They were considered fine by the SRU team.

Revision history for this message
Lucas Kanashiro (lucaskanashiro) wrote :

Filed a bug against upstream golang-github-docker-go-connections:

https://github.com/docker/go-connections/issues/83

description: updated
Revision history for this message
Lucas Kanashiro (lucaskanashiro) wrote :

libpod and golang-github-containers-buildah also need a SRU targeting Groovy to work fine with the new runc version. The status can be tracked here:

https://bugs.launchpad.net/ubuntu/+source/golang-github-containers-buildah/+bug/1921011

Revision history for this message
Brian Murray (brian-murray) wrote :

Hello Lucas, or anyone else affected,

Accepted docker.io into groovy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/docker.io/20.10.2-0ubuntu1~20.10.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 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, what testing has been performed on the package and change the tag from verification-needed-groovy to verification-done-groovy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-groovy. 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 https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . 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 docker.io (Ubuntu Groovy):
status: In Progress → Fix Committed
Revision history for this message
Lucas Kanashiro (lucaskanashiro) wrote :

Verification - Groovy

Now that all the components were accepted in groovy-proposed I was able to run the tests needed with them which is basically autopkgtest. All of the DEP-8 tests are successfully passing (I am installing the 3 packages from groovy-proposed in the testbed):

[runc]

autopkgtest [17:35:23]: @@@@@@@@@@@@@@@@@@@@ summary
basic-smoke PASS
command1 PASS

[containerd]

autopkgtest [17:33:49]: @@@@@@@@@@@@@@@@@@@@ summary
basic-smoke PASS

[docker.io]

autopkgtest [17:30:29]: @@@@@@@@@@@@@@@@@@@@ summary
basic-smoke PASS
docker-in-lxd PASS

Regarding the runc regressions in Groovy:

- opengcs: There is another SRU going on to fix it (LP: #1912691)

- golang-github-docker-go-connections: It FTBFS in Groovy at the moment because of an issue with one certificate used in the tests. This bug was reported upstream here:

https://github.com/docker/go-connections/issues/83

but since this is totally unrelated to runc I'd ask to ignore it. There is no breakage, just the certificate expired which is leading to 2 tests failure.

- libpod: There are 2 SRUs to fix this issue, libpod itself and golang-github-containers-buildah (LP: #1921011)

tags: added: verification-done-groovy
removed: verification-needed-groovy
Revision history for this message
Robie Basak (racb) wrote :

I SRU reviewed the docker.io and containerd uploads in the Bionic and Focal queues. I did not consider SRU acceptability in general since this has already been accepted into Groovy; only differences for Bionic and Focal, and anything possibly overlooked, matter.

I found three changes in packaging for which I don't see any mention in the bug so far. I don't know if these are intentional, oversights that are OK, or oversights that could be a problem. Please could you analyse?

1. Focal and Bionic's postinsts for docker.io contain upgrade path handling from older versions of docker.io. Presumably these are for users upgrading either from previous Ubuntu releases, from the versions of docker.io published in the respective release pockets, or both. This upgrade path handling looks like it'd be significantly changed by these SRUs. Will they still cover their intended use cases correctly?

2. In Focal and Bionic, the binary package golang-github-docker-containerd-dev will be renamed to golang-github-containerd-containerd-dev. Is this appropriate for SRU? Have reverse depends been checked? What about users who will be left with a binary package installed that we will no longer update? Shouldn't the old package be converted to a transitional package? The new package will need an archive admin approval; maybe we can get one in advance of accepting the change, to avoid confusion later?

3. docker.io.socket is getting its "PartOf=docker.service" line removed, but I don't see this mentioned in your summary of systemd unit changes. This also affects Groovy. Was this overlooked? Is it an intended change?

Do any of the above points add to "Where problems could occur"?

Revision history for this message
Sergio Durigan Junior (sergiodj) wrote :

Thanks for the review.

Lucas is off today, but I talked to him briefly about this SRU and here is the summary of the discussion:

1) According to Lucas, this should not be a problem because we are backporting a version from Hirsute, which already contains the postinst excerpt you're referring to (the ZFS one, if I'm understanding correctly). The extra hunk that is being added to the posting script is just related to ZFS, and it has been tested on Hirsute (as mentioned) and backported to Groovy already, and it's making its way down the line. Not sure if this answers the question; let me know if you need more details.

2) Indeed, we need a trasitional package for this one. I am working on it, and will ping someone an AA before proceeding with the upload. I have already left a message on #ubuntu-release to the archive admins asking for a pre-approval before I go ahead and upload.

3) The change is intentional and comes from upstream. I tracked it to the following commit:

https://github.com/moby/moby/commit/28e93ed8caad2c15d2b3b704801c71b9584de91e

Which, according to the description, was made because PartOf deactivates the socket when the service gets deactivated, which shouldn't happen. This makes sense to me, and historically the systemd bits from these packages have always come from upstream, without any distro-specific change required.

Revision history for this message
Robie Basak (racb) wrote :

> 1) According to Lucas, this should not be a problem because we are backporting a version from Hirsute, which already contains the postinst excerpt you're referring to (the ZFS one, if I'm understanding correctly). The extra hunk that is being added to the posting script is just related to ZFS, and it has been tested on Hirsute (as mentioned) and backported to Groovy already, and it's making its way down the line. Not sure if this answers the question; let me know if you need more details.

My concern is that the postinst needs for Bionic and Focal may be different to the postinst needs for Hirsute, so it isn't sufficient to consider this change safe just because it works on Hirsute. For example, users will run the Bionic postinst when upgrading from Xenial, whereas this isn't a use case that the Hirsute (or sid) docker.io.postinst needs to support. Same for the upgrade path from the Bionic release pocket to this Bionic upload, for example. If you think these types of use cases will all work correctly then that's fine, but maybe worth testing the various postinst paths when verifying this SRU by adding to the Test Plan?

> 2) Indeed, we need a trasitional package for this one. I am working on it, and will ping someone an AA before proceeding with the upload. I have already left a message on #ubuntu-release to the archive admins asking for a pre-approval before I go ahead and upload.

Is it worth attempting the rename at all in this SRU? What if you provided the new name as a virtual package instead of renaming, for example (I've not thought through how this would work with future upgrades though)? In any case I think whatever an AA approves is fine.

> 3) The change is intentional and comes from upstream.

Great - +1!

I'm holding on docker.io/containerd/golang-github-containers-buildah/opengcs until you're happy with point 1, and an AA agrees a plan for point 2 and we're ready with an appropriate upload for that. Apart from that, everything else is ready from an SRU review perspective.

Revision history for this message
Robie Basak (racb) wrote :

Hello Lucas, or anyone else affected,

Accepted containerd into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/containerd/1.4.4-0ubuntu1~20.04.2 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 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, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. 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 https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . 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 containerd (Ubuntu Focal):
status: In Progress → Fix Committed
Changed in containerd (Ubuntu Bionic):
status: In Progress → Fix Committed
Revision history for this message
Robie Basak (racb) wrote :

Hello Lucas, or anyone else affected,

Accepted containerd into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/containerd/1.4.4-0ubuntu1~18.04.2 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 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, what testing has been performed on the package 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 https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . 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 docker.io (Ubuntu Focal):
status: In Progress → Fix Committed
Revision history for this message
Robie Basak (racb) wrote :

Hello Lucas, or anyone else affected,

Accepted docker.io into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/docker.io/20.10.2-0ubuntu1~20.04.2 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 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, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. 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 https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . 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 docker.io (Ubuntu Bionic):
status: In Progress → Fix Committed
Revision history for this message
Robie Basak (racb) wrote :

Hello Lucas, or anyone else affected,

Accepted docker.io into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/docker.io/20.10.2-0ubuntu1~18.04.2 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 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, what testing has been performed on the package 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 https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . 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.

Revision history for this message
Lucas Kanashiro (lucaskanashiro) wrote :

Verification - Focal

With all the components accepted in focal-proposed I was able to run the tests needed with them which is basically autopkgtest. All of the DEP-8 tests are successfully passing (I am installing the 3 packages from focal-proposed in the testbed):

[runc]

autopkgtest [12:19:54]: @@@@@@@@@@@@@@@@@@@@ summary
basic-smoke PASS
command1 PASS

[containerd]

autopkgtest [12:33:49]: @@@@@@@@@@@@@@@@@@@@ summary
basic-smoke PASS

[docker.io]

autopkgtest [12:57:18]: @@@@@@@@@@@@@@@@@@@@ summary
basic-smoke PASS
docker-in-lxd PASS

Due to an upgrade issue that was found during this backport process I also performed the following manual test in a Focal VM:

1- Install runc, containerd and docker.io currently available in Focal
2- Launch a container running in background
3- Upgrade the packages to the version in focal-proposed
   + There is a debconf question in the docker.io package configuration where is asked if we want to restart the service. I marked 'No'.
4- Check if the container is still running in background.

The scenario above worked as expected.

tags: added: verification-done-focal
removed: verification-needed-focal
Revision history for this message
Lucas Kanashiro (lucaskanashiro) wrote :

Verification - Bionic

With all the components accepted in bionic-proposed I was able to run the tests needed with them which is basically autopkgtest. All of the DEP-8 tests are successfully passing (I am installing the 3 packages from bionic-proposed in the testbed):

[runc]

autopkgtest [15:33:16]: @@@@@@@@@@@@@@@@@@@@ summary
basic-smoke PASS
command1 PASS

[containerd]

autopkgtest [15:43:52]: @@@@@@@@@@@@@@@@@@@@ summary
basic-smoke PASS

[docker.io]

autopkgtest [16:03:30]: @@@@@@@@@@@@@@@@@@@@ summary
basic-smoke PASS
docker-in-lxd PASS

Due to an upgrade issue that was found during this backport process I also performed the following manual test in a Bionic VM:

1- Install runc, containerd and docker.io currently available in Bionic
2- Launch a container running in background
3- Upgrade the packages to the version in bionic-proposed
   + There is a debconf question in the docker.io package configuration where is asked if we want to restart the service. I marked 'No'.
4- Check if the container is still running in background.

The scenario above worked as expected.

tags: added: verification-done verification-done-bionic
removed: verification-needed verification-needed-bionic
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

I see that groovy LP: #1916485 is still not marked as verification-groovy-done - is there anything missing? We won't be able to proceed if that one isn't good to go.

Revision history for this message
Robie Basak (racb) wrote :

Changes in this upload resulted in FTBFS in build-depending packages - for example https://launchpad.net/ubuntu/+source/libpod/2.0.6+dfsg1-1ubuntu1.1. That one is fixed, but is this change also going to cause FTBFS in other build depending packages?

Revision history for this message
Lucas Kanashiro (lucaskanashiro) wrote :

I have checked the reverse build dependencies and I noticed the following FTBFS due to the new docker.io version:

- golang-github-fsouza-go-dockerclient (bionic)

Other reverse build dependencies are failing to build but it is not because of the container stack update, they were failing already (I confirmed that building the packages without -proposed enabled).

For golang-github-fsouza-go-dockerclient I already have a fix here (waiting for the SRU team):

https://bugs.launchpad.net/ubuntu/+source/golang-github-fsouza-go-dockerclient/+bug/1923108

FWIW I uploaded some of those reverse dependencies to this PPA:

https://launchpad.net/~lucaskanashiro/+archive/ubuntu/buildah-and-libpod/

Revision history for this message
Lucas Kanashiro (lucaskanashiro) wrote :
Download full text (4.6 KiB)

More detailed analysis of the reverse build dependencies:

Groovy
======

$ reverse-depends -r groovy -b docker.io
Reverse-Testsuite-Triggers
* python-docker
* ubuntu-fan
* ubuntu-make

Status of the reverse build dependencies listed above in Groovy:

- python-docker
  + It builds fine with the new container stack.
- ubuntu-fan
  + It builds fine with the new container stack.
- ubuntu-make
  + It FTBFS without the container stack update. LP #1923244 was filed to track this. Not considered a regression.

$ reverse-depends -r groovy -b golang-github-docker-docker-dev
Reverse-Build-Depends
* golang-github-containers-buildah
* golang-github-containers-common
* golang-github-containers-image
* golang-github-fsouza-go-dockerclient
* golang-github-openshift-imagebuilder
* golang-github-samalba-dockerclient
* golang-github-tonistiigi-fsutil
* libpod
* nomad
* prometheus
* skopeo

Status of the reverse build dependencies listed above in Groovy:

- golang-github-containers-buildah
  + It FTBFS because of the new runc. Fixed in LP #1921011.
- golang-github-containers-common
  + It builds fine with the new container stack.
- golang-github-containers-image
  + It builds fine with the new container stack.
- golang-github-fsouza-go-dockerclient
  + It builds fine with the new container stack.
- golang-github-openshift-imagebuilder
  + It builds fine with the new container stack.
- golang-github-samalba-dockerclient
  + It builds fine with the new container stack.
- golang-github-tonistiigi-fsutil
  + It builds fine with the new container stack.
- libpod
  + It FTBFS because of the new runc. Fixed in LP #1921011.
- nomad
  + It FTBFS without the container stack update. LP #1923237 was filed to track this. Not considered a regression.
- prometheus
  + It builds fine with the new container stack.
- skopeo
  + It builds fine with the new container stack.

Focal
======

$ reverse-depends -r focal -b docker.io
Reverse-Testsuite-Triggers
* python-docker
* ubuntu-fan
* ubuntu-make

Status of the reverse build dependencies listed above in Focal:

- python-docker
  + It builds fine with the new container stack.
- ubuntu-fan
  + It builds fine with the new container stack.
- ubuntu-make
  + It FTBFS without the container stack update. LP #1923244 was filed to track this. Not considered a regression.

$ reverse-depends -r focal -b golang-github-docker-docker-dev
Reverse-Build-Depends
* cadvisor
* gitlab-ci-multi-runner
* golang-github-containers-image
* golang-github-fsouza-go-dockerclient
* golang-github-openshift-imagebuilder
* golang-github-samalba-dockerclient
* nomad

Status of the reverse build dependencies listed above in Focal:

- cadvisor
  + It FTBFS without the container stack update. LP #1923238 was filed to track this. Not considered a regression.
- gitlab-ci-multi-runner
- golang-github-containers-image
  + It builds fine with the new container stack.
- golang-github-fsouza-go-dockerclient
  + It builds fine with the new container stack.
- golang-github-openshift-imagebuilder
  + It builds fine with the new container stack.
- golang-github-samalba-dockerclient
  + It builds fine with the new container stack.
- nomad
  + It FTBFS without the container stac...

Read more...

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package docker.io - 20.10.2-0ubuntu1~20.10.1

---------------
docker.io (20.10.2-0ubuntu1~20.10.1) groovy; urgency=medium

  * Backport version 20.10.2-0ubuntu1 from Hirsute (LP: #1919322).

 -- Lucas Kanashiro <email address hidden> Tue, 16 Mar 2021 16:16:09 -0300

Changed in docker.io (Ubuntu Groovy):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package runc - 1.0.0~rc93-0ubuntu1~20.10.1

---------------
runc (1.0.0~rc93-0ubuntu1~20.10.1) groovy; urgency=medium

  * Backport version 1.0.0~rc93-0ubuntu1 from Hirsute (LP: #1919322,
    LP: #1916485).

 -- Lucas Kanashiro <email address hidden> Tue, 16 Mar 2021 15:23:05 -0300

Changed in runc (Ubuntu Groovy):
status: Fix Committed → Fix Released
Revision history for this message
Robie Basak (racb) wrote : Update Released

The verification of the Stable Release Update for docker.io has completed successfully and the package is now being 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.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package docker.io - 20.10.2-0ubuntu1~20.04.2

---------------
docker.io (20.10.2-0ubuntu1~20.04.2) focal; urgency=medium

  * d/rules: pass --no-restart-after-upgrade to dh_installsystemd.
    The --no-start flag we pass to dh_installsystemd in d/rules is supposed
    to also disable --restart-after-upgrade, however, this feature was buggy
    before the now fixed debhelper 13. Due to that we need to manually add
    --no-restart-after-upgrade.

docker.io (20.10.2-0ubuntu1~20.04.1) focal; urgency=medium

  * Backport version 20.10.2-0ubuntu1 from Hirsute (LP: #1919322).

 -- Lucas Kanashiro <email address hidden> Mon, 29 Mar 2021 16:10:09 -0300

Changed in docker.io (Ubuntu Focal):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package runc - 1.0.0~rc93-0ubuntu1~20.04.1

---------------
runc (1.0.0~rc93-0ubuntu1~20.04.1) focal; urgency=medium

  * Backport version 1.0.0~rc93-0ubuntu1 from Hirsute (LP: #1919322,
    LP: #1916485).

 -- Lucas Kanashiro <email address hidden> Tue, 16 Mar 2021 15:34:35 -0300

Changed in runc (Ubuntu Focal):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package docker.io - 20.10.2-0ubuntu1~18.04.2

---------------
docker.io (20.10.2-0ubuntu1~18.04.2) bionic; urgency=medium

  * d/rules: pass --no-restart-after-upgrade to dh_installsystemd.
    The --no-start flag we pass to dh_installsystemd in d/rules is supposed
    to also disable --restart-after-upgrade, however, this feature was buggy
    before the now fixed debhelper 13. Due to that we need to manually add
    --no-restart-after-upgrade.

docker.io (20.10.2-0ubuntu1~18.04.1) bionic; urgency=medium

  * Backport version 20.10.2-0ubuntu1 from Hirsute (LP: #1919322).
    - d/control: do not b-d on libbtrfs-dev, it is not available in Bionic.

 -- Lucas Kanashiro <email address hidden> Mon, 29 Mar 2021 16:27:41 -0300

Changed in docker.io (Ubuntu Bionic):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package runc - 1.0.0~rc93-0ubuntu1~18.04.1

---------------
runc (1.0.0~rc93-0ubuntu1~18.04.1) bionic; urgency=medium

  * Backport version 1.0.0~rc93-0ubuntu1 from Hirsute (LP: #1919322,
    LP: #1916485).
    - Use Go 1.13 to build it, with the default Go 1.10 it FTBFS.
      + d/control: b-d on golang-1.13-go instead of golang-any,
      + d/rules: add Go 1.13 to the $PATH.
    - d/rules: set GOCACHE to a temporary directory. dh-golang sets it to
      "off" which is not accepted by Go >= 1.12.
    - d/rules: set GO111MODULE to "off" to avoid getting modules info online.

 -- Lucas Kanashiro <email address hidden> Tue, 16 Mar 2021 15:47:19 -0300

Changed in runc (Ubuntu Bionic):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package containerd - 1.4.4-0ubuntu1~20.10.1

---------------
containerd (1.4.4-0ubuntu1~20.10.1) groovy; urgency=medium

  * Backport version 1.4.4-0ubuntu1 from Hirsute (LP: #1919322).
    - d/control: update Breaks docker.io version to match version in Groovy.

 -- Lucas Kanashiro <email address hidden> Tue, 16 Mar 2021 18:26:07 -0300

Changed in containerd (Ubuntu Groovy):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package containerd - 1.4.4-0ubuntu1~20.04.2

---------------
containerd (1.4.4-0ubuntu1~20.04.2) focal; urgency=medium

  * d/control: Create transitional package golang-github-docker-containerd-dev
    for golang-github-containerd-containerd-dev.
  * d/golang-github-docker-containerd-dev.install: Remove file.

containerd (1.4.4-0ubuntu1~20.04.1) focal; urgency=medium

  * Backport version 1.4.4-0ubuntu1 from Hirsute (LP: #1919322).
    - d/control: update Breaks docker.io version to match version in Focal.

 -- Sergio Durigan Junior <email address hidden> Mon, 29 Mar 2021 14:41:57 -0400

Changed in containerd (Ubuntu Focal):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package containerd - 1.4.4-0ubuntu1~18.04.2

---------------
containerd (1.4.4-0ubuntu1~18.04.2) bionic; urgency=medium

  * d/control: Create transitional package golang-github-docker-containerd-dev
    for golang-github-containerd-containerd-dev.
  * d/golang-github-docker-containerd-dev.install: Remove file.

containerd (1.4.4-0ubuntu1~18.04.1) bionic; urgency=medium

  * Backport version 1.4.4-0ubuntu1 from Hirsute (LP: #1919322).
    - d/control: update Breaks docker.io version to match version in Bionic.
    - d/control: do not b-d on libbtrfs-dev, it is not available in Bionic.
    - d/control: b-d on golang-13-go instead of the default.

 -- Sergio Durigan Junior <email address hidden> Mon, 29 Mar 2021 14:46:10 -0400

Changed in containerd (Ubuntu Bionic):
status: Fix Committed → Fix Released
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.