[SRU] Support runc/1.0.0~rc93-0ubuntu1

Bug #1912691 reported by Lucas Kanashiro
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
opengcs (Ubuntu)
Fix Released
Undecided
Unassigned
Bionic
Fix Released
Undecided
Unassigned
Focal
Fix Released
Undecided
Unassigned
Groovy
Fix Released
Undecided
Unassigned

Bug Description

[Impact]

Due to our current policy we keep updating the container stack in all supported releases with new upstream versions. runc is part of this stack, and currently versions of opengcs in Bionic, Focal and Groovy do not support runc / 1.0.0 ~ rc93-0ubuntu1.

opengcs tries to make use of system.GetClockTicks which would require a dependency on cgo. runc upstream decided to stop using it here:

https://github.com/opencontainers/runc/commit/402d645c5c642a4965439a156181cff3fc2f3817

In Hirsute, a similar approach was implemented in opengcs to allow runc migration. Now, in order to unblock the runc SRUs we need to backport the Hirsute patch.

[Test Plan]

The upstream test suite seems to be enough to catch any potential issue in this case.

[Where problems could occur]

We are replacing a system call which would require cgo with a known constant to avoid this dependency. This approach was adopted by runc upstream maintainers, and according to this comment this is safe enough:

https://github.com/containerd/cgroups/pull/12#issuecomment-311322400

But the scenario where someone compile its own kernel and change the value of this constant will be inconsistent. However, this is not a big deal IMO, someone changing its own kernel needs to handle the consequences.

[Original Message]

opencgs test is failing and blocking runc/1.0.0~rc92-0ubuntu1 from migrating to hirsute:

https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-hirsute/hirsute/amd64/o/opengcs/20210118_162901_84e57@/log.gz

This is the important bits:

# vendor/github.com/docker/containerd/sys
src/vendor/github.com/docker/containerd/sys/proc.go:17:34: undefined: system.GetClockTicks

The new runc version does not provide GetClockTicks anymore:

https://github.com/opencontainers/runc/commit/402d645c5c642a4965439a156181cff3fc2f3817

We should do the same in opengcs.

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

When applying the attached debdiff the test failure is fixed.

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

To make sure the package builds fine I uploaded it to this PPA:

https://launchpad.net/~lucaskanashiro/+archive/ubuntu/opengcs/+packages

And ran autopkgtest locally:

autopkgtest [17:30:56]: @@@@@@@@@@@@@@@@@@@@ summary
dh-golang-autopkgtest PASS

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

Thanks for the patch, Lucas.

I reviewed it and it seems reasonable. I'd probably use a "Origin: backport" header and mention the commit URL there as well. I haven't run the dep8 tests myself but I trust the results you posted :-).

LGTM.

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

Thanks Sergio. I am adding the extra header in the patch and I am going to upload it.

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

This bug was fixed in the package opengcs - 0.3.4+dfsg2-0ubuntu6

---------------
opengcs (0.3.4+dfsg2-0ubuntu6) hirsute; urgency=medium

  * d/p/0002-Simplify-ticks.patch: simplify ticks using a constant. This
    change follows what was done by runc upstream maintainers (LP: #1912691).

 -- Lucas Kanashiro <email address hidden> Thu, 21 Jan 2021 17:10:29 -0300

Changed in opengcs (Ubuntu):
status: New → Fix Released
Revision history for this message
Lucas Kanashiro (lucaskanashiro) wrote :

During the runc/1.0.0~rc93-0ubuntu1 backport to Bionic, Focal and Groovy (LP #1919322), this very same issue showed up. Due to that I am marking all those releases as affected as well. Fortunately, opengcs has the same upstream version in all those releases, so the patch applied to Hirsute should apply cleanly in all of them. I'll use this bug to drive the SRU process.

summary: - autopkgtest failure blocking runc migration
+ [SRU] Support runc/1.0.0~rc93-0ubuntu1
description: updated
Revision history for this message
Lucas Kanashiro (lucaskanashiro) wrote :

I prepared packages for Bionic, Focal and Groovy here in this PPA:

https://launchpad.net/~lucaskanashiro/+archive/ubuntu/opengcs

autopkgtest is passing in all of them.

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

Thanks, Lucas.

I reviewed the patches and they look fine. A very small nit: you're using your @debian.org email in the Groovy changelog.

Other than that, all 3 patches LGTM. I did build all 3 packages in a local sbuild, and the builds succeeded.

A few comments about the SRU template:

- In the "Test Plan" section, s/caught/catch/.

- In the "Where problems could occur" section, this sentence seems strange: "We are replacing a system call which would require cgo with a constant." Just pointing it out in case you want to clarify it.

Thanks.

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

Thanks for the review Sergio! I am going to fix my email address in the groovy package and upload all of them. Also fix/improve the bug description.

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

SRU +1 for opengcs as currently in Bionic, Focal and Groovy Unapproved. I prefer to accept all related packages together to avoid confusion, so I intend to accept these together with containerd and docker.io when they are ready (currently waiting on feedback from my review at https://bugs.launchpad.net/ubuntu/+source/docker.io/+bug/1919322/comments/15).

Revision history for this message
Robie Basak (racb) wrote : Please test proposed package

Hello Lucas, or anyone else affected,

Accepted opengcs into groovy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/opengcs/0.3.4+dfsg2-0ubuntu4.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 opengcs (Ubuntu Groovy):
status: New → Fix Committed
tags: added: verification-needed verification-needed-groovy
Changed in opengcs (Ubuntu Focal):
status: New → Fix Committed
tags: added: verification-needed-focal
Revision history for this message
Robie Basak (racb) wrote :

Hello Lucas, or anyone else affected,

Accepted opengcs into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/opengcs/0.3.4+dfsg2-0ubuntu3.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 opengcs (Ubuntu Bionic):
status: New → Fix Committed
tags: added: verification-needed-bionic
Revision history for this message
Robie Basak (racb) wrote :

Hello Lucas, or anyone else affected,

Accepted opengcs into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/opengcs/0.3.4+dfsg2-0ubuntu3.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
Lucas Kanashiro (lucaskanashiro) wrote :

The test plan says the upstream test suite should be executed to catch any regression. This was done during the package build process and it succeeded. Therefore, I am considering the validation as done for this SRU.

tags: added: verification-done verification-done-bionic verification-done-focal verification-done-groovy
removed: verification-needed verification-needed-bionic verification-needed-focal verification-needed-groovy
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package opengcs - 0.3.4+dfsg2-0ubuntu4.1

---------------
opengcs (0.3.4+dfsg2-0ubuntu4.1) groovy; urgency=medium

  * d/p/0002-Simplify-ticks.patch: simplify ticks using a constant. This
    change follows what was done by runc upstream maintainers (LP: #1912691).

 -- Lucas Kanashiro <email address hidden> Mon, 22 Mar 2021 12:04:30 -0300

Changed in opengcs (Ubuntu Groovy):
status: Fix Committed → Fix Released
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Update Released

The verification of the Stable Release Update for opengcs 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 opengcs - 0.3.4+dfsg2-0ubuntu3.20.04.1

---------------
opengcs (0.3.4+dfsg2-0ubuntu3.20.04.1) focal; urgency=medium

  * d/p/0002-Simplify-ticks.patch: simplify ticks using a constant. This
    change follows what was done by runc upstream maintainers (LP: #1912691).

 -- Lucas Kanashiro <email address hidden> Mon, 22 Mar 2021 12:02:47 -0300

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

This bug was fixed in the package opengcs - 0.3.4+dfsg2-0ubuntu3.18.04.1

---------------
opengcs (0.3.4+dfsg2-0ubuntu3.18.04.1) bionic; urgency=medium

  * d/p/0002-Simplify-ticks.patch: simplify ticks using a constant. This
    change follows what was done by runc upstream maintainers (LP: #1912691).

 -- Lucas Kanashiro <email address hidden> Mon, 22 Mar 2021 12:00:41 -0300

Changed in opengcs (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.