FTBFS in Hirsute is blocking runc migration

Bug #1930891 reported by Lucas Kanashiro
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
golang-github-docker-go-connections (Ubuntu)
Fix Released
Undecided
Unassigned
Hirsute
Fix Released
Undecided
Unassigned

Bug Description

[Impact]

This FTBFS is avoiding runc users to get an important update (LP #1927219). Moreover, the fix adopted by the Debian maintainer is minimal and very simple.

[Test Plan]

Check if the package is building fine in Hirsute.

[Where problems could occur]

TBH I can't foresee any problem at all, no feature code is touched and just a couple of tests are skippped. In case something bad happens will be when running TLS related tests.

[Original message]

golang-github-docker-go-connections is FTBFS in Hirsute because a couple of tests rely on an expired certificate. This failure is blocking the runc migration.

The Debian maintainer fixed it in the next revision but it did not make into Hirsute. The simple fix is to backport this patch as-is to Hirsute to also skip those tests there.

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

The attached debdiff adds the patch to skip the tests as mentioned in the description and fixes the FTBFS.

description: updated
Revision history for this message
Utkarsh Gupta (utkarsh) wrote :

This looks good! I'm wondering if that's worth raising an issue upstream? If there is already, probably, add this to the patch header. Except for the DEP3 thingy, it looks good! \o/

Changed in golang-github-docker-go-connections (Ubuntu):
status: New → Fix Released
Changed in golang-github-docker-go-connections (Ubuntu Hirsute):
status: New → In Progress
Revision history for this message
Lucas Kanashiro (lucaskanashiro) wrote :

I tried to just import the patch added by the Debian maintainer with no changes but I think it is better to add some DEP-3 headers as you mentioned. Checking the upstream bug tracker I noticed I filed this very same bug some months ago :) but no replies so far:

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

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

There you go, the attached debdiff has some DEP-3 headers in the added patch.

Revision history for this message
Utkarsh Gupta (utkarsh) wrote :

Hey, how about we use 0.4.0-2ubuntu0.21.04.1 as the version number?

impish (-release) has the same version atm; I now -3 is in -pocket but still, always helpful to use 0.21.04.X, I believe.

Revision history for this message
Utkarsh Gupta (utkarsh) wrote :

Either way, +1 for the patch; go, go, go! \o/

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

Thanks for taking another look on this Utkarsh!

We append ubuntu0.XX.YY.1 to the version string when we have the same version in 2 releases but in this case this version was released only in Hirsute, Impish was not released yet :)

I'll be uploading the last debdiff I attached.

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

After further discussion within the team we decided that using ubuntu0.21.04.1 is the best option here. There is the unlikely but possible case where -3 is removed from impish-proposed and Impish gets released with -2.

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

I'm not familiar with go but is there anything like datefudge (which was used in an SRU of gnutls28) or faketime that can be used to set the date to one that is before the date on which the certificate expired? I think it'd be better if we didn't skip tests which then might allow the package to regress.

Changed in golang-github-docker-go-connections (Ubuntu Hirsute):
status: In Progress → Incomplete
Revision history for this message
Lucas Kanashiro (lucaskanashiro) wrote :

@Brian to be honest I also do not know how to mock the date in those tests. I tried some options that I found on some forums but none of them worked out. Upstream is still unresponsive and those same tests are also failing in their master branch.

If you think this is not a suitable SRU I'd ask you to ignore those tests for now and unblock the runc SRU, that's my main goal here.

Changed in golang-github-docker-go-connections (Ubuntu Hirsute):
status: Incomplete → New
Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello Lucas, or anyone else affected,

Accepted golang-github-docker-go-connections into hirsute-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/golang-github-docker-go-connections/0.4.0-2ubuntu0.21.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-hirsute to verification-done-hirsute. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-hirsute. 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 golang-github-docker-go-connections (Ubuntu Hirsute):
status: New → Fix Committed
tags: added: verification-needed verification-needed-hirsute
Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (golang-github-docker-go-connections/0.4.0-2ubuntu0.21.04.1)

All autopkgtests for the newly accepted golang-github-docker-go-connections (0.4.0-2ubuntu0.21.04.1) for hirsute have finished running.
The following regressions have been reported in tests triggered by the package:

golang-github-containers-image/5.10.3-1ubuntu1 (s390x, 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/hirsute/update_excuses.html#golang-github-docker-go-connections

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

Thank you!

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

The package is FTBFS on non-amd64 architectures (64-bits only) due to LTO. I could disable LTO in d/rules as well but since the runc SRU was unblocked (already landed) I am not sure if this is still an update we want to land. WDYT?

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

Sorry, the debdiff above is incorrect. The golang-github-containers-image package in hirsute was uploaded disabling LTO here:

https://bugs.launchpad.net/ubuntu/bionic/+source/golang-github-containers-image/+bug/1938908/comments/28

Once this is accepted, we will be able to land this update which is also blocking the container stack SRU one more time.

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

The regressions are gone and now this is ready to land. The Test Plan section indicates this would need to build in Hirsute and here you go:

https://launchpad.net/ubuntu/+source/golang-github-docker-go-connections/0.4.0-2ubuntu0.21.04.1/+build/21685532

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

This bug was fixed in the package golang-github-docker-go-connections - 0.4.0-2ubuntu0.21.04.1

---------------
golang-github-docker-go-connections (0.4.0-2ubuntu0.21.04.1) hirsute; urgency=medium

  * Fix FTBFS which is blocking runc migration (LP: #1930891).
    - d/p/0001-Skip-tests-which-use-expired-certificate.patch: backport patch
      written by the Debian maintainer to skip tests which relies on expired
      certificates.

 -- Lucas Kanashiro <email address hidden> Fri, 04 Jun 2021 10:29:13 -0300

Changed in golang-github-docker-go-connections (Ubuntu Hirsute):
status: Fix Committed → Fix Released
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Update Released

The verification of the Stable Release Update for golang-github-docker-go-connections 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.

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

Other bug subscribers

Bug attachments

Remote bug watches

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