-
autopkgtest (3.20.9~ubuntu15.10.1) wily-backports; urgency=medium
* No-change backport to wily
autopkgtest (3.20.9) unstable; urgency=medium
* Fix "apt-get source" version detection for very old source packages that
don't have "Package-List:" yet. (LP: #1588199)
* Skip NullRunner.test_apt_source_nonexisting test instead of failing if
there are no deb-src apt sources configured on the host.
autopkgtest (3.20.8) unstable; urgency=medium
* adt-build-lxd: Fix "ADT_APT_PROXY: parameter not set" failure if host's
apt proxy is not on localhost.
* debian/tests/lxd: Set up LXD bridge, so that the test can actually work
with current LXD.
* Set $ADT_NORMAL_USER during tests that run as root.
* Re-enable lxd autopkgtest, now that LP: #1557161 is fixed.
* debian/tests/lxd: Enable MSS clamping, to work around broken PTMU in
Canonical's Scalingstack: Avoids lost IP packets due to MTU mismatches.
* adt-build-lx{c,d}: Pass on $MIRROR to setup-testbed.
* adt-virt-qemu: Replace deprecated -redir QEMU option with
"-net user,hostfwd=".
* adt-buildvm-ubuntu-cloud: Provide more user friedly error if no image
exists for the chosen release/architecture. (LP: #1586322)
* Put back apt-cache showsrc --only-source option, as otherwise we'll catch
binaries from unrelated sources. Add a fallback for Ubuntu 12.04 to re-try
without --only-source.
autopkgtest (3.20.7) unstable; urgency=medium
* Use "gdk-pixbuf" as example package in tests and documentation instead of
libpng. The latter recently got renamed.
* setup-commands/setup-testbed: Don't install haveged into containers.
* tests/adt-run: Make SchrootClickRunner tests work with a standard schroot
(i. e. no click and SDK preinstalled), by installing the packages via
--setup-command.
* tools/adt-buildvm-ubuntu-cloud: Adjust to new cloud image names from
Ubuntu 16.10.
* Exit with 12 ("bad package") instead of 16 ("temporary testbed failure")
when --apt-source package does not exist.
* Move installed python modules from /usr/share/autopkgtest/python to
../lib, to use the same name as in the source tree.
* setup-commands/setup-testbed: Call all apt-get commands with /dev/null
stdin, to avoid them seizing stdin. Fixes adt-build-lxc for Ubuntu trusty.
autopkgtest (3.20.6) unstable; urgency=medium
* Fix OSError when running a shell is requested but /dev/tty does not exist;
just log an error instead.
* Fix parsing of candidate versions from "apt-cache policy" to always use
the precise given package name. By default it falls back to a
substring/regexp search (undocumented).
* adt-build-lxd: Check the LXD configuration for the LXD bridge instead of
the old LXC bridge, for apt proxy auto-detection. (LP: #1577968)
* Generalize the apt proxy detection in adt-build* and setup-testbed to
work for arbitrary proxies, not just apt-cacher-ng. (LP: #1577966)
* Eliminate the need to set $AUTOPKGTEST_BASE to execute runner/adt-run from
a git checkout. This also makes ./run-from-checkout obsolete, call
runner/adt-run directly.
-- Martin Pitt <email address hidden> Fri, 03 Jun 2016 16:25:59 +0200
-
autopkgtest (3.20.6~ubuntu15.10.1) wily-backports; urgency=medium
* No-change backport to wily
autopkgtest (3.20.6) unstable; urgency=medium
* Fix OSError when running a shell is requested but /dev/tty does not exist;
just log an error instead.
* Fix parsing of candidate versions from "apt-cache policy" to always use
the precise given package name. By default it falls back to a
substring/regexp search (undocumented).
* adt-build-lxd: Check the LXD configuration for the LXD bridge instead of
the old LXC bridge, for apt proxy auto-detection. (LP: #1577968)
* Generalize the apt proxy detection in adt-build* and setup-testbed to
work for arbitrary proxies, not just apt-cacher-ng. (LP: #1577966)
* Eliminate the need to set $AUTOPKGTEST_BASE to execute runner/adt-run from
a git checkout. This also makes ./run-from-checkout obsolete, call
runner/adt-run directly.
autopkgtest (3.20.5) unstable; urgency=medium
[ Martin Packman ]
* Fix ssh virt server example and testbed error.
[ Martin Pitt ]
* If git clone fails with "--git-source" the first time, retry after 15
seconds. This should defend short temporary network glitches.
(LP: #1571979)
* adt-virt-qemu: Call eofcat helper with PYTHONHASHSEED=0 to avoid long
hangs after booting the VM until the RNG gets initialized. (See #822431
for details) (Closes: #821778)
* adt-virt-ssh: Fix UnboundLocalError crash when logging in as root.
* Fix running for multiple actions in one command line: (Closes: #822285)
- Close the summary stream after the last test, not after the first.
- Clean up the test tree on the testbed between actions.
* Fix NullRunner.test_timeout_no_output to work with multiple parallel runs.
(Closes: #816398)
autopkgtest (3.20.4) unstable; urgency=medium
* setup-commands/setup-testbed: Fix kernel header installation for
precise/armhf, which does not yet have linux-headers-generic.
* Use "nproc" to determine the number of processors available, which is both
more correct in a cgroup world, and also simpler.
* Add new --build-parallel=N option to explicitly set the "parallel=N"
$DEB_BUILD_OPTION for building packages, to override the default of
"number of available CPUs". This is mostly useful in containers where you
can restrict the available RAM, but not restrict the number of CPUs.
(LP: #1569750)
* setup-commands/setup-testbed: ubuntu-snappy got renamed to snapd, adjust
package name.
* adt-build-lxd: Set "distribution", "release", and "architecture"
properties of generated images.
* adt-build-lxd: Clean up all old images of the same distro/release/arch,
not just the previous one. Also fix cleanup to work in non-English
locales.
* setup-commands/setup-testbed: Call apt-get purge only once with the list
of all packages, instead of once per package. This is much faster.
* SchrootClickRunner tests: Chown click dir in /opt after creating the user.
* Bump Standards-Version to 3.9.8 (no changes necessary).
* Update Vcs-* URLs.
autopkgtest (3.20.3) unstable; urgency=medium
* Makefile: Install SKELETON after the programs (which use an [a-z] glob),
as the latter behaves differently in different locales. Thanks Alexis
Bienvenüe! (Closes: #820148)
* adt-buildvm-ubuntu-cloud: Use https for cloud image download.
(LP: #1566846)
* setup-commands/setup-testbed: Purge ubuntu-snappy.
* adt-virt-qemu: On AMD CPUs, default to -cpu host instead of
"kvm64,+svm,+lahf_lm". This introduces more jitter, but is the only -cpu
mode that actually allows nested QEMU with current QEMU versions.
* adt-build-lxd: Force-delete preparation container at the end, even if it
is running.
* adt-build-lxd: Disable apt proxy configuration with ADT_APT_PROXY=="none".
-- Martin Pitt <email address hidden> Thu, 19 May 2016 21:46:38 +0200
-
autopkgtest (3.20.3~ubuntu15.10.1) wily-backports; urgency=medium
* No-change backport to wily
autopkgtest (3.20.3) unstable; urgency=medium
* Makefile: Install SKELETON after the programs (which use an [a-z] glob),
as the latter behaves differently in different locales. Thanks Alexis
Bienvenüe! (Closes: #820148)
* adt-buildvm-ubuntu-cloud: Use https for cloud image download.
(LP: #1566846)
* setup-commands/setup-testbed: Purge ubuntu-snappy.
* adt-virt-qemu: On AMD CPUs, default to -cpu host instead of
"kvm64,+svm,+lahf_lm". This introduces more jitter, but is the only -cpu
mode that actually allows nested QEMU with current QEMU versions.
* adt-build-lxd: Force-delete preparation container at the end, even if it
is running.
* adt-build-lxd: Disable apt proxy configuration with ADT_APT_PROXY=="none".
autopkgtest (3.20.2) unstable; urgency=medium
* setup-commands/setup-testbed: Purge lxc-common for testbed preparation.
* adt-buildvm-ubuntu-cloud: Use the same code for determining the default
qemu-system-* command as adt-virt-qemu. This adds support for ppc64el and
other architectures. (Closes: #818892)
* adt-buildvm-ubuntu-cloud: If ifnames was disabled for the initial boot,
keep it disabled for subsequent boots instead of changing to ens3. This
fixes building images for Ubuntu 15.04.
* lib/VirtSubproc.py, cmd_reboot(): Drop workaround for dhclient hanging on
reboot, LP #1556175 got fixed.
* setup-commands/setup-testbed: Ensure that purging packages does not hang
eternally on debconf prompts.
* setup-commands/setup-testbed: Drop purging of xkb-data.
* setup-commands/setup-testbed: Apply "vmalloc=512M" grub change also when
using as a --setup-commands with adt-run, not only with building images.
Fixes tests like udisks2 on i386 when using standard cloud images.
autopkgtest (3.20.1) unstable; urgency=medium
* When testing click packages, don't regenerate all AppArmor profiles if
/var/cache/apparmor/click-ap.rules already exists. That way the profiles
can be pre-adjusted once in a testbed instead of once for each test run,
which greatly speeds up iterations. (LP: #1553797)
* Move SshRunner* tests from lxc to lxd.
* NullRunner.test_tree_output_dir test: Only check for cpu_{model,flags} on
x86 and ARM, as these need parsing adjustments on other architectures.
* Disable lxd autopkgtest for now, this still needs some way to set a proxy.
* lib/VirtSubproc.py, cmd_reboot(): Add workaround for dhclient hanging on
reboot (see LP #1556175).
* Fix regular expression for removing profile guarded dependencies on hosts
that don't support build profiles.
* adt-virt-lxc: Suppress lxc-copy's stdout in the "no btrfs" fallback case.
(Closes: #818185)
-- Martin Pitt <email address hidden> Tue, 12 Apr 2016 16:31:00 +0200
-
autopkgtest (3.20.1~ubuntu15.10.1) wily-backports; urgency=medium
* No-change backport to wily
autopkgtest (3.20.1) unstable; urgency=medium
* When testing click packages, don't regenerate all AppArmor profiles if
/var/cache/apparmor/click-ap.rules already exists. That way the profiles
can be pre-adjusted once in a testbed instead of once for each test run,
which greatly speeds up iterations. (LP: #1553797)
* Move SshRunner* tests from lxc to lxd.
* NullRunner.test_tree_output_dir test: Only check for cpu_{model,flags} on
x86 and ARM, as these need parsing adjustments on other architectures.
* Disable lxd autopkgtest for now, this still needs some way to set a proxy.
* lib/VirtSubproc.py, cmd_reboot(): Add workaround for dhclient hanging on
reboot (see LP #1556175).
* Fix regular expression for removing profile guarded dependencies on hosts
that don't support build profiles.
* adt-virt-lxc: Suppress lxc-copy's stdout in the "no btrfs" fallback case.
(Closes: #818185)
autopkgtest (3.20) unstable; urgency=medium
New features/behaviour changes:
[Martin Pitt]
* adt-virt-lxd: Launch containers in ephemeral mode.
* adt-virt-lxc: Use the new lxc-copy if available, as lxc-clone and
lxc-start-ephemeral got deprecated by that. This now supports reboots in
ephemeral mode.
* adt-virt-lxc: Add --name option. This allows CI systems to use a more
expressive name than the autogenerated adt-virt-lxc-XXXXXX, to make it
easier to map a container to a running test.
* Add CPU information to testinfo.json: "nproc" (#cpus), "cpu_model", and
"cpu_flags". (LP: #1552129)
* Add autopkgtest for adt-build-lxd and the lxd runner.
[ Christian Seiler ]
* Support nested KVM by default by emulating a CPU with VMX/SVM support on
x86_64. (Closes: #800845, part 1)
* adt-virt-qemu: Provide read-only version of the VM image to the test as
/dev/baseimage, for tests that want to run nested QEMU. (Closes: #800845)
Bug fixes:
[ Martin Pitt ]
* setup-commands/setup-testbed: Ensure that removing cruft does not remove
cloud-init. (LP: #1539126)
* setup-commands/setup-testbed: Purge lxd and lxc.
* adt-virt-lxc: Don't fail on deprecation warnings of lxc-clone and
lxc-start-ephemeral. (LP: #1549995)
* Run external commands with /dev/null as stdin. This has always been
intended, but has not actually been done for a while.
* Drop support for hook_forked_inchild() in virt-runners. This has never
been used.
* ssh-setup/nova: Try and prefer novaclient.v2 API first, and fall back to
v1_1. (LP: #1552730)
* Correctly ignore positive and negative build profiles with too old
libdpkg-perl that does not support them yet.
* tests/run-parallel: Don't run NullRunner and SchrootRunner tests in
parallel, as they collide with a bind-mounted /tmp.
* test_reboot_prepare testcase: Don't compare the host and guest kernel
versions in the QemuRunner.
* Keep and export $ADTTMP and $ADT_ARTIFACTS in debug shells.
(Closes: #814115)
* setup-commands/*: Add shebang headers to quiesce lintian.
* Bump Standards-Version to 3.9.7 (no changes necessary).
* Add debian/source/format (3.0 native).
* debian/control: Use https Vcs-* links.
* Bump debhelper compat level to 9.
* adt-virt-qemu: Don't assert result of "runlevel" for connection test. This
is a race condition under systemd as getty starts before default.target
is fully finished.
* tests/adt-run SchrootClickRunner: Ensure that the "click" system user
exists in the schroot, so that it doesn't need to exist on the host.
* Adjust SchrootRunner.test_apt_pocket_pkg_with_proposed_dep test case for
apt 1.1.
* Latest LXD now adds an "images" remote for images.linuxcontainers.org by
default. Adjust adt-build-lxd.1 and adt-virt-lxd.1 accordingly.
* Respect $TMPDIR when creating the downtmp and some other directory/files.
(Closes: #817190)
* tests/adt-run: Symlink real ~/.config/lxc into the temporary $HOME, to
avoid regenerating the LXD client certificate for each test.
[ Christian Seiler ]
* setup-testbed: reduce grub timeout on images that don't already configure
this in /etc/default/grub.d (like vmdeboostrap).
* adt-virt-qemu: Use correct qemu-system-i386 command on i[3456]86 systems.
* Fix spelling errors in manpages.
autopkgtest (3.19.3) unstable; urgency=medium
* setup-commands/setup-testbed: Avoid dpkg conffile prompts.
* adt-virt-lxc: Call lxc-stop and lxc-destroy with --quiet, to fix breakage
due to unexpected output with LXC 2.0.
* adt-virt-lxc: Redirect lxc-destroy stdout, to work around LP #1543016.
* Ignore build profiles on too old libdpkg-perl versions also when building
the tested package.
* adt-virt-lxd.1: Standard images from linuxcontainers.org stopped having
"deb-src" apt lines by default. Document that standard setup commands are
required for this and adjust examples accordingly.
* adt-virt-lxc: Factorize cleanup code.
* adt-virt-lxc: Run lxc-{start,stop} under "timeout" when running through
sudo, as killing these on timeout does not work.
* ssh-setup/nova: Wait until instance is actually ready before sending
access info.
* ssh-setup/nova: Show instance's console log on ssh or cloud-init timeouts,
as that's very useful for debugging.
* adt-virt-lxd: Drop redundant "lxc stop", just call "lxc delete --force".
* adt-buildvm-ubuntu-cloud: Bump default image size from 4 to 20 GB.
* runner/adt-run: Install ca-certificates along with git, to ensure that
https URLs can be cloned.
* tools/adt-build-lxd: Add workaround for broken "lxc file push" permissions
(LP: #1548878)
-- Martin Pitt <email address hidden> Tue, 15 Mar 2016 14:47:25 +0100
-
autopkgtest (3.19.3~ubuntu15.10.1) wily-backports; urgency=medium
* No-change backport to wily
autopkgtest (3.19.3) unstable; urgency=medium
* setup-commands/setup-testbed: Avoid dpkg conffile prompts.
* adt-virt-lxc: Call lxc-stop and lxc-destroy with --quiet, to fix breakage
due to unexpected output with LXC 2.0.
* adt-virt-lxc: Redirect lxc-destroy stdout, to work around LP #1543016.
* Ignore build profiles on too old libdpkg-perl versions also when building
the tested package.
* adt-virt-lxd.1: Standard images from linuxcontainers.org stopped having
"deb-src" apt lines by default. Document that standard setup commands are
required for this and adjust examples accordingly.
* adt-virt-lxc: Factorize cleanup code.
* adt-virt-lxc: Run lxc-{start,stop} under "timeout" when running through
sudo, as killing these on timeout does not work.
* ssh-setup/nova: Wait until instance is actually ready before sending
access info.
* ssh-setup/nova: Show instance's console log on ssh or cloud-init timeouts,
as that's very useful for debugging.
* adt-virt-lxd: Drop redundant "lxc stop", just call "lxc delete --force".
* adt-buildvm-ubuntu-cloud: Bump default image size from 4 to 20 GB.
* runner/adt-run: Install ca-certificates along with git, to ensure that
https URLs can be cloned.
* tools/adt-build-lxd: Add workaround for broken "lxc file push" permissions
(LP: #1548878)
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.
-- Martin Pitt <email address hidden> Fri, 26 Feb 2016 08:59:26 +0100
-
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
-
autopkgtest (3.18.1~ubuntu15.10.1) wily-backports; urgency=medium
* No-change backport to wily
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.
autopkgtest (3.18) unstable; urgency=medium
Behaviour changes/improvements:
* adt-virt-lxc: Drop --eatmydata option. Conceptually this isn't specific to
the LXC runner, it should always be used for package installation (when
available) with all runners, but never for tests.
* setup-commands/cloud-vm-setup, tools/adt-setup-vm: Install and use
eatmydata.
* Use eatmydata for --apt-upgrade and installing test dependencies, if
available.
* ssh-setup/nova: Provide custom implementation of "wait-reboot" using "nova
reboot --poll". This works more reliably on some clouds.
* ssh-setup/nova: Call "nova boot" with --debug to better be able to
diagnose failures.
* Extend --apt-pocket=POCKET option to accept an additional
"=pkgname1,src:srcname1,..." package list. An entry "src:srcname" expands
to all binary packages built by that source. If given, set up apt pinning
to use only those packages from POCKET, so that package updates in that
pocket can be tested independently from each other for better isolation.
(LP: #1503150)
* Add ssh-setup/maas: Acquire and Deploy a machine via MAAS to use as an
autopkgtest testbed. It assumes that MaaS is already set up, machines are
commissioned to it, and you added your ssh key to it.
Bug fixes:
* ssh-setup/nova: Drop "Warning: PoC", we've been using this in production
for a long time.
* tools/adt-setup-vm: Check if we already have a configuration for the
specific network interface that we are configuring, not just any
interface.
* tools/adt-buildvm-ubuntu-cloud: Counter-hack the Ubuntu livecd-rootfs
workaround for LP #1510345 by creating a configuration for ens3 and
removing the one for eth0.
-- Martin Pitt <email address hidden> Tue, 24 Nov 2015 10:39:52 +0100
-
autopkgtest (3.17.4) unstable; urgency=medium
* Fix --apt-pocket for apt sources with [options].
* Add tests/testarchive.py module for creating dynamic archives of mock
debs, and add a full integration test for --apt-pocket.
* Fix version in adt-run output (@version@ moved to adt_testbed.py).
* adt-setup-vm, cloud-vm-setup: Purge lxc/lxd.
* tests/testdesc: Skip Debian.test_builddeps_profiles test if dpkg is too
old to support build profiles.
-- Martin Pitt <email address hidden> Wed, 21 Oct 2015 07:33:04 +0200
-
autopkgtest (3.17.3) unstable; urgency=medium
* Set DEB_BUILD_OPTIONS=parallel=<#cpu> for builds and tests (as they
sometimes build packages). (LP: #1399177)
* If copying up files/artifacts through shared dir fails because of
inaccessible files, fall back to piping them through the auxverb.
* adt-build-lxc: Install dbus; a lot of software indirectly expects it
(e. g. calling systemctl as user).
* tools/adt-setup-vm, setup-commands/cloud-vm-setup: Purge
libcpan-changes-perl, it breaks some Perl autopkgtests.
* tools/adt-setup-vm, setup-commands/cloud-vm-setup: Purge git, it breaks
Ruby's autopkgtests.
* NullRunner.test_tmp_install: Explicitly require Json 1.0 GI version, to
silence warning with current pygobject.
-- Martin Pitt <email address hidden> Tue, 06 Oct 2015 08:13:09 +0200
-
autopkgtest (3.17.2) unstable; urgency=medium
* ssh-setup/nova: Use instance UUIDs instead of names after initial "nova
boot", to avoid name collisions. (LP: #1495788)
* adt-setup-vm: Drop "pin eth0 name" hack, this was fixed properly in
systemd 226-2.
* adt-setup-vm: Generalize ethernet ifupdown setup for net.ifnames.
* adt_binaries.py: Fix resetting of testbed (regression in 3.17).
-- Martin Pitt <email address hidden> Sun, 20 Sep 2015 17:23:41 +0200
-
autopkgtest (3.17.1) unstable; urgency=medium
* Add new private python modules to Makefile, to actually ship them.
* tests/adt-run: Fix test regression when $ADT_TEST* are not set.
-- Martin Pitt <email address hidden> Tue, 15 Sep 2015 08:38:54 +0200
-
autopkgtest (3.17) unstable; urgency=medium
* setup-commands/cloud-vm-setup: Provide fallback for Ubuntu 12.04 which
does not yet have /etc/default/grub.cfg.d/.
* adt-virt-ssh: Add --timeout-ssh option. Thanks Leo Arias for the initial
patch. (LP: #1488358)
* adt-run: Add --env option to pass arbitrary environment variables to the
test.
* adt-virt-lxc: In the auxverb, clean up leaked background processes which
share the same stdout/stderr, to avoid eternal hangs. (LP: #1488359)
* Move Testbed class and related logic into separate module
lib/adt_testbed.py, and clean up some unnecessary code interdependencies
and error handling. This will make it easier to write alternative CLI
frontents. This also handles test timeouts in a better way: There now is a
proper "summary" report as "FAIL timed out", and subsequent tests will now
run. (Closes: #741322)
* Drop the --leave-lang option. Please use the explicit option --set-lang
instead, to avoid weakly defined behaviour.
* Move Binaries class into separate module lib/adt_binaries.py.
* Testbed.execute(): Explicitly decode output of programs as UTF-8, instead
of relying on the host locale's encoding.
* tools/adt-setup-vm: Only configure eth0 in ifupdown if it actually exists,
and then make sure it does not get renamed any more.
* Add @builddeps@ build profile parsing fallback for libdpkg-perl < 1.04;
just ignore all build profiles.
* ssh-setup/nova: Add workaroud for cloud-init bug writing a wrong
/etc/hosts. (LP #1494678)
* adt-run: Log running kernel after each boot. (part of LP #1491865)
* Track initial kernel version after test bed setup and when a test/reboot
changes the running kernel version. Log these, and create a new
"testinfo.json" in the output dir with this information. (LP: #1491865)
* If --env options are specified, add these as list of name=value strings as
"custom_environment" key to testinfo.json.
* Put vserver arguments into testinfo.json.
-- Martin Pitt <email address hidden> Mon, 14 Sep 2015 15:02:39 +0200
-
autopkgtest (3.16.3) unstable; urgency=medium
* adt-setup-vm: Use /etc/cloud.cfg.d/ to avoid conffile prompts on upgrades.
(LP: #1477626)
* Don't invoke QEMU with -localtime. QEMU defaults to and Linux prefers the
hw clock in UTC. This avoids large time jumps when doing NTP.
* adt-setup-vm: Start autopkgtest shell after all other SysV init
scripts/facilities, to avoid a too early start of tests while boot is
still in progress.
* doc/README.package-tests.rst: Use comma separator in examples.
* VirtSubproc.check_exec(): Actually error out on stderr as documented.
* adt-virt-ssh: Verify that sudo does not write errors, as that
interferes with auxverbs and generally is a sign of host mis-configuration
(typically wrong hostname).
* ssh-setup-nova: Set hostname to "adt". This avoids overly long host names
from defaulting to nova instance names (which can be very long).
* ssh-setup/nova: Fix parsing of IP address from "nova show" to avoid
tripping over instance names containing "network". (LP: #1481574)
* Fix error message and code for "invalid test depends" errors.
* tests/pep8: Ignore E402 ("module level import not at top of file"), as
that's impossible to satisfy; we have to set sys.path before.
* ssh-setup/nova: In cleanup(), wait until the instance gets deleted. This
avoids name collisions and instance quota overflow.
* adt-run: Always show summary at the end, which is particularly helpful for
multiple tests. (LP: #1484991)
* adt-run.1: Clarify that without any logging options adt-run only logs to
stderr. (LP: #1485661)
* adt-virt-lxc: 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.
* adt-run: Show host name, to more easily identify hosts with frequent
failures.
* adt-virt-lxc: Always call lxc-stop with --kill, as the containers are not
precious and normal shutdown might hang.
* adt-virt-lxc: In cleanup, stop LXC container before removing the shared
downtmp, to ensure that we always clean up the running container. Also
don't fail on errors. (LP: #1488879)
* ssh-setup/nova: Add missing apt sources for -updates/-security
restricted/multiverse pockets.
-- Martin Pitt <email address hidden> Thu, 27 Aug 2015 19:54:51 +0200
-
autopkgtest (3.16.2) unstable; urgency=medium
* Exit with code 4 ("test failure") if a test times out, instead of 16
("testbed failure").
* Exit with code 12 ("erroneous package") if test dependencies are
unsatisfiable and put badpkg/blame into summary, instead of exiting with
code 20 ("other unexpected failures including bad usage").
* Exit with code 12 ("erroneous package") and a proper error message if
debian/tests/<testname> does not exist, instead of code 20 and a confusing
message about chmod failing and *-stderr missing.
* Exit with code 12 ("erroneous package") instead of 20 if test dependency
package install fails.
* adt-virt-ssh: If the executed command exits with 255, translate that to
253 in the auxverb wrapper, as 255 is ssh's (and auxverb's) exit code if
something with the connection failed. This avoids considering ordinary
test failures as temporary testbed failures. (LP: #1475679)
-- Martin Pitt <email address hidden> Fri, 17 Jul 2015 17:08:03 +0200
-
autopkgtest (3.16.1) unstable; urgency=medium
* setup-commands/cloud-vm-setup: Fix installation of linux-generic on
Ubuntu.
* ssh-setup/nova: Clean up userdata temp file on failed nova boot.
* If the test fails with exit code 127 (usually "command not found"),
consider this a test failure (code 4), not a testbed failure (code 16).
* doc/README.package-tests.rst: Document that "Tests:" and similar fields
can be comma separated too, like everywhere else in Debian's control
files.
* ssh-setup/nova: Show name of created nova instance, so that it's easier to
map instances to a test.
* run-from-checkout: Exec adt-run to avoid keeping the shell wrapper process
around.
* ssh-setup/snappy: Fix check whether --image and --channel are specified
together. (LP: #1474735)
* ssh-setup/nova: Allow selecting net IDs by name.
-- Martin Pitt <email address hidden> Fri, 17 Jul 2015 11:11:36 +0200
-
autopkgtest (3.16) unstable; urgency=medium
Behaviour changes and improvements:
* ssh-setup/nova: Re-try nova boot up to three times if it fails, and sleep
5 minutes in between. This occasionally fails due to exceeding quota or
temporary glitches.
* Drop gpg-signing local archive and mark it as [trusted=yes] instead. This
gets rid of the requirement to generate a gpg key on first run. Drop
corresponding --gnupg-home option. (LP: #1472691)
* Drop long-obsolete --tmp-dir backwards compat option.
* ssh-setup/snappy: Adjust ubuntu-device-flash arguments to new
release/channel structure from Ubuntu 15.10, and default to rolling/edge.
Add new --release option.
Bug fixes:
* ssh-setup/nova: Silence "invalid command wait-reboot" warning.
* setup-commands/cloud-vm-setup: Purge cloud-init too. It sometimes causes
longer hangs on boot and might interfere with tests in other ways, and we
only need it for first-time initialization anyway.
* adt-virt-qemu: adt-buildvm-ubuntu-cloud: Don't use -enable-kvm QEMU option
if /dev/kvm does not exist. (Closes: #790650)
* Quiesce warnings from tar. Avoids "time stamp is in the future" log spew.
(LP: #1468868)
* Move apt sources setup from setup-commands/cloud-vm-setup to
ssh-setup/nova. --apt-pocket does not work with the former as that runs
too late.
* Use Dpkg::Deps to evaluate/reduce build dependencies for expanding
"@builddeps@". This handles build profiles. (Closes: #787093)
* Resolve build profiles when installing build dependencies to build tested
package.
* Adjust NullRunner.test_tmp_install_perl test case to use
libtest-requires-perl instead of libtest-tester-perl; the latter got
removed from Debian.
-- Martin Pitt <email address hidden> Fri, 10 Jul 2015 11:26:36 +0200
-
autopkgtest (3.15.1) unstable; urgency=medium
* adt-buildvm-ubuntu-cloud: Fix lsb_release fallback if python3-distro-info
is not available.
* adt-buildvm-ubuntu-cloud: Don't move the uninitialized image to final
location if QEMU failed.
* adt-buildvm-ubuntu-cloud: Check availability of genisoimage and access of
/dev/kvm before downloading image. (LP: #1466486)
* Get along with dpkg-query not existing, such as in latest Ubuntu Snappy
images. Skip generation of testbed-packages artifact in that case.
(LP: #1469647)
* Adjust NullRunner.test_tmp_install test case to work with pygobject 3.16.
-- Martin Pitt <email address hidden> Mon, 29 Jun 2015 13:07:34 +0200
-
autopkgtest (3.15) unstable; urgency=medium
Behaviour changes and improvements:
* The specified --output-dir now must not exist or be empty. If it is
non-empty, adt-run now will refuse to use it instead of cleaning it. This
is safer, to avoid accidentally using the home directory or similarly
precious data. (LP: #1463561)
* Add --no-auto-control option to disable autodep8. (Closes: #788659)
* ssh-setup/nova: Add -e/--env option to append to /etc/environment. This is
mostly useful to configure $http_proxy and friends.
* ssh-setup/nova: Add --mirror option.
* Add setup-commands/cloud-vm-setup: --setup-commands script for cloud
instances to prepare them for running autopkgtests. This is similar to
adt-setup-vm, but won't configure serial console or networking.
Bug fixes:
* adt-setup-vm: Print a warning if calling update-grub fails, instead of
aborting. This fixes vmdebootstrap --grub, as that installs grub after
running the customization script. Adjust adt-virt-qemu.1 manpage to
recommend the --grub option of vmdebootstrap.
* testdesc.py, parse_rfc822(): Entirely ignore lines which only contain
whitespace after filtering out intra-line comments. They break
continuation line parsing in python-debian >= 0.1.23. (Closes: #784942)
* adt-setup-vm: Add inclusion of interfaces.d/ to /etc/network/interfaces.
This belongs into vmdebootstrap (#788792), but fix that locally for the
time being.
* adt-run.1: Document --testname.
-- Martin Pitt <email address hidden> Sun, 28 Jun 2015 11:55:34 +0200
-
autopkgtest (3.14.3) unstable; urgency=medium
* adt-virt-lxc: Don't try to set up a shared downtmp with unprivileged
(user) containers. This is full of permission errors due to the mapped
UIDs.
* tests/adt-run LxcRunner: Use $ADT_TEST_LXC as unprivileged user container
if it exists.
* adt-buildvm-ubuntu-cloud: Check at the beginning if QEMU command is
available and exit with proper error message if not. (LP: #1460066)
* If auxverb fails with exit code 126, 127, 254, or 255, consider this a
failure of auxverb/the testbed itself, not of the program run under it.
(As specified in doc/README.virtualisation-server.rst) (LP: #1462540)
-- Martin Pitt <email address hidden> Sat, 06 Jun 2015 13:09:50 +0200
-
autopkgtest (3.14.2) unstable; urgency=medium
* Add tests/testpkg-{simple,reboot,reboot-prepare}: Very simple stub
packages for manual testing.
* VirtSubproc, cmd_reboot(): Disconnect the backgrounded reboot command from
stdout/err, to avoid it getting killed by the ssh runner. (LP: #1454735)
-- Martin Pitt <email address hidden> Tue, 19 May 2015 14:45:34 +0200
-
autopkgtest (3.14.1) unstable; urgency=medium
* Go back to using the backgrounded reboot command as we had before 3.14.
Just calling "reboot" is prone to hangs and timeouts in case reboot is too
fast and shuts down our communication channel.
* Fix --override-control option in adt-run(1). (LP: #1453495)
* Fail with an error if --override-control file does not exist.
(LP: #1453503)
* ssh-setup/snappy: Add -b/--show-boot option to direct boot and console
messages to stdout. (LP: #1453154)
* adt-virt-qemu.1: Document --show-boot option.
* Add test case for using a @ command line include file for a virt runner.
* Strip leading and trailing space from argument lines in '@' included
command line argument files. (LP: #1453498)
-- Martin Pitt <email address hidden> Wed, 13 May 2015 14:45:43 +0200
-
autopkgtest (3.14) unstable; urgency=medium
Improvements:
* adt-virt-ssh: Add --reboot option to indicate that testbed can be
rebooted. This is useful when running without a setup script (which can
already declare capabilities).
* Simplify reboot implementation: Just call "reboot" as root in the testbed
to trigger rebooting, and replace the former hook_reboot() in adt-virt-*
with hook_wait_reboot() which merely waits for the testbed to go down and
come back up. This also replaces the "reboot" command for ssh setup
scripts to "wait-reboot" and in most cases it is not needed to implement
this at all (except for the "adb" script).
* Add /tmp/autopkgtest-reboot-prepare script for testbeds which support
rebooting. This saves the current state but leaves the actual reboot to
the test itself. This is useful if rebooting should happen with unusual
means (e. g. kexec) or as part of testing something else (like a system
upgrade). (LP: #1445819)
* Log complete command line invocation, for easier local reproduction,
comparison of log files, and clarifying which options were used.
(LP: #1449413)
Bug fixes:
* Update Vcs-Git: field for anonscm.debian.org.
* Drop obsolete XS-Testsuite: control field.
* adt-setup-vm: Fix script error if $ADT_SETUP_VM_POST_COMMAND is not set.
* README.click-tests.rst: Describe x-source manifest entry.
* Mark test dependencies as manually installed, so that they don't go away
if a test calls "apt-get autoremove".
* Set DEBIAN_FRONTEND=noninteractive for tests. This avoids stderr messages
about "unable to open stdin" and similar when tests call apt-get install.
-- Martin Pitt <email address hidden> Tue, 05 May 2015 10:14:23 +0200
-
autopkgtest (3.13) unstable; urgency=medium
* ssh-setup/adb: Add --keep-screen-active option to keep
"powerd-cli display" running after the tests. Use with caution!
(LP: #1441023)
* adt-buildvm-ubuntu-cloud: Add --post-command for running a shell command
after setup for additional customization.
* ssh-setup/adb: Quote tr arguments.
* click tests: Look into app/tests/autopilot/ for tests as well if no
explicit path is given. This is the default location of the Ubuntu cmake
templates.
-- Martin Pitt <email address hidden> Wed, 22 Apr 2015 11:50:18 +0100