Changelog
autopkgtest (3.19.2~ubuntu15.10.1) wily-backports; urgency=medium
* No-change backport to wily
autopkgtest (3.19.2) unstable; urgency=medium
* Fix "apt-get source" version detection:
- Ignore source record "Binary:" entries which are not actually binaries
of that source.
- Take the highest source version of all encountered binaries. In other
words, as soon as apt pinning uses one package from -proposed, use the
tests from -proposed too.
- Only consider binaries which exist in all releases. This avoids newly
introduced binaries (library transitions, new kernel versions) to skew
the intended apt pinning as they would always win the "highest version"
check from above.
* Install /usr/share/autopkgtest/setup-commands/* scripts as executable, to
make them work for vmdebootstrap --customize. (Closes: #810862)
* ssh-setup/nova: Use extended RE for matching --image pattern.
* setup-commands/setup-testbed: Fix handling of options in sources.list.
* tools/adt-build-lxd: Fix parsing of release name from apt sources with
options if lsb_release is not available.
* setup-commands/setup-testbed: Regenerate initramfs when adding udev rule
for disabling ifnames (for chroots).
* adt-buildvm-ubuntu-cloud: Drop duplicate sed of cloud-init.prerm.
* adt-buildvm-ubuntu-cloud: Don't try to run "None" if --post-command is not
given.
* adt-virt-lxc: Add timeouts to all LXC operations.
* Fix chowning for "rw-build-tree" restriction: run it as root if available,
and otherwise ignore it entirely. (LP: #1535234)
* Drop apt-cache showsrc --only-source option, as this is not yet understood
by Ubuntu 12.04's apt.
* VirtSubproc.py, execute_timeout(): Avoid UnicodeDecodeErrors when called
programs send gibberish. Decode manually with "replace" error mode
instead. (LP: #1535741)
* adt-virt-lxc: Avoid unnecessary reading and decoding of program outputs if
we don't actually use it.
* ssh-setup/nova: Use the image with the latest "created" time, instead of
the last lexicographic name.
autopkgtest (3.19.1) unstable; urgency=medium
* adt-virt-qemu: If the executed command exits with 255, translate that to
253 in the auxverb wrapper, as 255 is the exit code for failures of the
auxverb itself. This avoids considering ordinary test failures as
temporary testbed failures. This makes the QEMU runner behave the same way
as the container ones.
* tests/adt-run: Factorize common tests into superclasses.
* doc/README.package-tests.rst: Point out that "Test-Command:" is also
useful for running the same test script under different interpreters or
different dependencies. (Closes: #809442)
* Set summary_stream to None after closing it, to avoid trying to write
late error messages from cleanup into it.
* Gracefully handle failure to kill a timed out process.
* ssh-setup/nova: Use image UUID instead of its name for "nova boot". This
avoids failures if multiple images have the same name. (LP: #1524216)
* adt-build-{lxc,lxd}: Run testbed setup scripts also if they are not
executable. Thanks Antonio Terceiro! (Closes: #809917)
* setup-commands/setup-testbed: Run apt-get autoremove when builing images.
* setup-commands/setup-testbed: Handle options in sources.list. Thanks
Antonio Terceiro!
* tools/adt-build-lxd: Fix error message if apt does not have a proxy set.
* setup-commands/setup-testbed: Install linux-headers-generic if there is no
kernel (for containers), to make DKMS tests work when not being triggered
by a kernel. (LP: #1531488)
* tools/adt-build-lxc: Fix removal of LXC caches on btrfs.
* tools/adt-build-lxc: Use "-B best" for lxc-create, for better performance
on btrfs or LVM.
* tools/adt-build-lxc: Fix hostname for updating containers to not end in
".new".
* adt-virt-lxc: Opportunistically try lxc-clone with "-B btrfs", and fall
back to default backing store if it fails. lxc-clone should do this by
itself, but currently doesn't (LP #1532125).
* adt-virt-lxc: Don't fail on stderr of lxc-start, it sometimes prints
warnings.
* When using --apt-source with --apt-pocket= with an explicit package list,
let apt-get source download the source version that matches the pinning.
This avoids running tests from -proposed against packages in -release.
(LP: #1517426)
* setup-commands/setup-testbed: Don't purge perl and python2.7. This works
in sid and xenial, but is too greedy for older releases.
autopkgtest (3.19) unstable; urgency=medium
New features/behaviour changes:
* Add adt-virt-lxd runner for LXD. (LP: #1519677)
* Add adt-build-lxd tool for building or updating an LXD image with
standard autopkgtest customizations applied. This is similar to
adt-build-lxc.
* Unify test bed setup scripts for VMs (adt-setup-vm), containers (in
adt-build-lxc) and cloud (setup-commands/cloud-vm-setup) into a common
script setup-commands/setup-testbed. This will work both for image
building (VM, cloud, LXC, LXD) and as --setup-commands (in which case some
actions are skipped).
* setup-commands/setup-testbed: Clean up many more packages. Only do this
when building an image, to avoid accidentally destroying testbeds which
are not minimal autopkgtest ones.
* Make --env apply to package builds too. With that you can e. g. set
DEB_BUILD_OPTIONS.
* Add new action type --git-source which installs git (unless already
present), checks out a remote branch, and then behaves like
--unbuilt-tree.
* adt-virt-lxc.1: Mention adt-build-lxc in "Requirements".
Bug fixes:
* If apt-get fails when installing test dependencies and apt
pinning is in use, also retry without pinning. This was already done in
the case of apt-get succeeding but removing our "satdep" dummy package
(the common case), but this does not cover upgrades of Priority: >=
important packages which make apt-get exit with non-zero.
* Set $TERM in testbed to the host's value when starting an interactive
shell in the testbed. This fixes broken shells with the LXC/LXD runners.
autopkgtest (3.18.2) unstable; urgency=medium
[ Martin Pitt ]
* tools/adt-build-lxc: Install libpam-systemd; some tests expect to have an
$XDG_RUNTIME_DIR.
* Fix --apt-pocket=proposed=pkgname.. to set up the apt pinning before
running setup-commands (in particular, dist-upgrade), as otherwise the
dist-ugprade will install package versions that conflict with the pinning.
Change --apt-pocket to download (only) the apt indexes for the given
pocket, so that we can set up the pinning correctly.
* ssh-setup-nova: Separately track server UUID, to avoid resetting the
originally given --name on testbed revert.
* If apt-get fails for --apt-pocket ("Hash sum mismatch"!), retry up to
three times.
* Fix parsing of "apt-cache showsrc" to not get broken by wrapped lines.
Thanks Andy Whitcroft! (LP: #1522469)
* Don't try to "cd ." on testbeds in source rules commands, as this might be
inaccessible in some cases. Default to '/' instead. Thanks Christopher
Baine!
* ssh-setup/nova: Treat --image value as a regexp pattern and use the
greatest (by string sorting) result. This avoids having to put date stamps
into the command line, and also avoids completely falling over if two
images have the same name.
* Add a new ssh setup script command "debug-failure" which is called when
the setup script fails with nonzero or on timeouts waiting for ssh or
reboot.
* ssh-setup/nova: Implement "debug-failure" command with "nova console-log".
* tools/adt-build-lxc: Only install libpam-systemd if that exists (e. g. not
on Ubuntu 12.04).
* setup-commands/cloud-vm-setup: Don't rm the /etc/cron.daily/apt conffile
to avoid breaking apt upgrades. Instead, create
/etc/apt/apt.conf.d/02periodic.
* Create a testinfo.json for "badpkg" and other exit codes as well.
* Set stdin to /dev/null when running commands in the testbed. This avoids
hanging tests on interactive questions and also fixes auxverbs which check
if stdin is a PTY (like "lxc exec").
* tests/testarchive.py: Don't include the "Release" file into itself.
* Fix SchrootRunner.test_apt_pocket_* test cases to include "Sources" into
Release file. This makes the tests work with apt 1.1.
[ Max Brustkern ]
* adt-buildvm-ubuntu-cloud: Add timeout option.
[ Antonio Terceiro ]
* adt-build-lxc: Don't hardcode bridge interface.
autopkgtest (3.18.1) unstable; urgency=medium
* With --apt-pocket=POCKET=pkgname,... also include <release>-updates.
* cloud-vm-setup, adt-setup-vm: Disable /etc/cron.daily/apt.
* Detect if apt fails to download packages (as opposed to installing them),
retry up to three times, and eventually fail with exit code 16. This
avoids failing tests due to DNS/infrastructure problems and handling them
as tmpfails instead.
* Add test case for multiple Tests: with --apt-pocket=proposed=pkg
selection and nonexisting dependency.
* Properly keep track of apt pinnings across testbed resets.
* cloud-vm-setup, adt-setup-vm: Purge open-iscsi.
* Treat apt errors (exit code 100) from source download/extraction as
tmpfail.
* ssh-setup/nova: Stop adding apt sources for restricted/multiverse, as
current images now have them by default (see LP #1177432). This avoids
duplicate apt sources which cause stderr failure with some tests.
* Recognize negative architecture restrictions in test Depends:.
(LP: #1516959)
* tools/adt-buildvm-ubuntu-cloud: Counter-hack LP #1510345 harder by
checking /proc/cmdline instead of /etc/default/grub.
-- Martin Pitt <email address hidden> Thu, 28 Jan 2016 15:03:42 +0100