[SRU] autopkgtest missing -a ARCH + pocket priority pinning

Bug #2002455 reported by Heather Ellsworth
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
autopkgtest (Ubuntu)
Fix Released
Undecided
Heather Ellsworth
Focal
Fix Committed
Undecided
Heather Ellsworth
Jammy
Fix Committed
Undecided
Heather Ellsworth
Kinetic
Won't Fix
Undecided
Heather Ellsworth

Bug Description

[Impact]

This SRU has two main impacts: cross-architecture testing, and pocket pinning

1. cross-architecture testing

autopkgtest currently does not have the -a ARCH capability needed to permit cross-architecture testing. This is notably useful for i386 local testing [0] and was noted to be missing since the focal release.

The goal is to be able to create an amd64 VM where autopkgtest can run on an i386 package.

There was an existing patchset for this functionality from ~3 years ago that needed tweaking and is in a working state now[1].

2. pocket pinning (blurb copied from commit[2])

Ubuntu is switching to NotAutomatic: yes for the proposed pocket:
the change is already operative on >= Lunar and under consideration
for older stable releases. This means that by default packages from
-proposed won't be installed unless explicitly requested.

The change is meant to make it easier for end users to keep -proposed
enabled (for SRU verification or individual package installation)
without manually adding a pin to avoid pulling in all of -proposed.

However when running autopkgtests with --apt-pocket=proposed we do want
to pull in all the pocket, so let's always give it Pin-Priority: 500.
This is similar to what Launchpad does with the buildds.

Note: This change does not really treat -proposed in a special way:
any pocket will get Pin-Priority: 500. It makes sense to keep the tool
behavior consistent, and we're not aware of cases where this could be
cause issues.

[0] https://wiki.ubuntu.com/i386
[1] https://code.launchpad.net/~ubuntu-release/autopkgtest/+git/development/+merge/376169
[2] https://git.launchpad.net/~ubuntu-release/autopkgtest/+git/development/commit/?id=c92df58ae5f3bc55aa58bbfb93ca60cb38b2615c

[ Test Plan ]

1. cross-architecture testing

Create an amd64 VM where autopkgtest can run on an i386 package:

## Generate the VM
$ sudo autopkgtest-buildvm-ubuntu-cloud -a amd64 -r kinetic -s 15G

## Run autopkgtest on the i386 vlc package, finishes quickly
## Note that you should run the autopkgtest binary directly (so use the path to your
## runner/autopkgtest) and point to the .img file created in the last step
$ sudo ~/autopkgtest-5.25ubuntu2/runner/autopkgtest --setup-commands="dpkg --add-architecture i386; apt-get update" --architecture i386 vlc -- qemu --ram-size=1536 --cpus 2 ~/autopkgtest-kinetic-amd64.img

A passing result looks like autopkgtest setting up the testbed and launching the tests while a failing result looks something like this:

autopkgtest: error: unrecognized arguments: --architecture

2. pocket pinning testing

Using the --apt-pocket=proposed option, you should see that the proposed pocket is used when running autopkgtests.

Also if there are any packages in proposed, then you should be able to track the pocket and update without pulling in any proposed packages.

[ Where problems could occur ]

1. cross-architecture testing
It is possible for the img file to find itself in a bad state, affecting the tests run, but simply recreating the VM is a quick fix. Without this patchset i386 testing less accessible, since i386 hardware is required, so the improvement greatly outweighs potentially introduced risk.

2. pocket pinning
We are not aware of any issues that may arise from this patch.

description: updated
Revision history for this message
Heather Ellsworth (hellsworth) wrote (last edit ):

This debdiff is for a KINETIC package built with patches unapplied

Revision history for this message
Heather Ellsworth (hellsworth) wrote :

This debdiff is for a JAMMY package built with patches unapplied

Revision history for this message
Heather Ellsworth (hellsworth) wrote :

This debdiff is for a FOCAL package built with patches unapplied, and no .pc files.

Changed in autopkgtest (Ubuntu):
status: New → Fix Released
Changed in autopkgtest (Ubuntu Focal):
status: New → Fix Committed
Changed in autopkgtest (Ubuntu Kinetic):
status: New → Fix Committed
Changed in autopkgtest (Ubuntu Jammy):
status: New → Fix Committed
Changed in autopkgtest (Ubuntu):
assignee: nobody → Heather Ellsworth (hellsworth)
Changed in autopkgtest (Ubuntu Jammy):
assignee: nobody → Heather Ellsworth (hellsworth)
Changed in autopkgtest (Ubuntu Focal):
assignee: nobody → Heather Ellsworth (hellsworth)
Changed in autopkgtest (Ubuntu Kinetic):
assignee: nobody → Heather Ellsworth (hellsworth)
Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello Heather, or anyone else affected,

Accepted autopkgtest into kinetic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/autopkgtest/5.25ubuntu1.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-kinetic to verification-done-kinetic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-kinetic. 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.

tags: added: verification-needed verification-needed-kinetic
Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (autopkgtest/5.25ubuntu1.1)

All autopkgtests for the newly accepted autopkgtest (5.25ubuntu1.1) for kinetic have finished running.
The following regressions have been reported in tests triggered by the package:

surf/2.1+git20220504-2 (amd64)
gscan2pdf/2.13.0-1 (amd64, s390x)

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/kinetic/update_excuses.html#autopkgtest

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

Thank you!

Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote :

All autopkgtests for the newly accepted autopkgtest (5.25ubuntu1.1) for kinetic have finished running.
The following regressions have been reported in tests triggered by the package:

gscan2pdf/2.13.0-1 (amd64, s390x)
surf/2.1+git20220504-2 (amd64)

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/kinetic/update_excuses.html#autopkgtest

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

Thank you!

Revision history for this message
Tim Andersson (andersson123) wrote (last edit ):

Comments from another test, from this bug, regarding the architecture flag:
https://bugs.launchpad.net/ubuntu/+source/autopkgtest/+bug/2008026

"""
lxc launch ubuntu:jammy timscontainer
lxc exec timscontainer bash
sudo apt install autopkgtest
root@timscontainer:/home/ubuntu# apt list --installed | grep autopkgtest

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

autopkgtest/jammy-updates,now 5.20ubuntu1 all [installed]
root@timscontainer:/home/ubuntu# sudo autopkgtest --setup-commands="dpkg --add-architecture i386; apt-get update" --architecture i386 mawk -- qemu --ram-size=1536 --cpus 2 ./autopkgtest-jammy-amd64.img
usage: autopkgtest [options] [testbinary ...] testsrc -- virt-server [options]
autopkgtest: error: unrecognized arguments: --architecture

# install correct version
root@timscontainer:/home/ubuntu# apt list --installed | grep autopkgtest

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

autopkgtest/jammy-proposed,now 5.28ubuntu0.22.04.0 all [installed]

sudo autopkgtest --setup-commands="dpkg --add-architecture i386; apt-get update" --architecture i386 mawk -- qemu --ram-size=1536 --cpus 2 ./autopkgtest-jammy-amd64.img

Output:
testing function calls and general stress test
general stress test OK
tested mawk OK
autopkgtest [15:48:09]: test mawktest: -----------------------]
autopkgtest [15:48:10]: test mawktest: - - - - - - - - - - results - - - - - - - - - -
mawktest PASS
autopkgtest [15:48:11]: @@@@@@@@@@@@@@@@@@@@ summary
mawktest PASS
qemu-system-x86_64: terminating on signal 15 from pid 4345 (/usr/bin/python3)
"""

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

Ubuntu 22.10 (Kinetic Kudu) has reached end of life, so this bug will not be fixed for that specific release.

Changed in autopkgtest (Ubuntu Kinetic):
status: Fix Committed → Won't Fix
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.