diff -Nru autopkgtest-3.20.1~ubuntu14.04.1/debian/changelog autopkgtest-3.20.3~ubuntu14.04.1/debian/changelog --- autopkgtest-3.20.1~ubuntu14.04.1/debian/changelog 2016-03-15 13:36:54.000000000 +0000 +++ autopkgtest-3.20.3~ubuntu14.04.1/debian/changelog 2016-04-12 14:30:35.000000000 +0000 @@ -1,8 +1,45 @@ -autopkgtest (3.20.1~ubuntu14.04.1) trusty-backports; urgency=medium +autopkgtest (3.20.3~ubuntu14.04.1) trusty-backports; urgency=medium * No-change backport to trusty - -- Martin Pitt Tue, 15 Mar 2016 14:36:54 +0100 + -- Martin Pitt Tue, 12 Apr 2016 16:30:35 +0200 + +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 Mon, 11 Apr 2016 16:27:09 +0200 + +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. + + -- Martin Pitt Tue, 05 Apr 2016 14:53:01 +0200 autopkgtest (3.20.1) unstable; urgency=medium diff -Nru autopkgtest-3.20.1~ubuntu14.04.1/lib/VirtSubproc.py autopkgtest-3.20.3~ubuntu14.04.1/lib/VirtSubproc.py --- autopkgtest-3.20.1~ubuntu14.04.1/lib/VirtSubproc.py 2016-03-14 21:36:00.000000000 +0000 +++ autopkgtest-3.20.3~ubuntu14.04.1/lib/VirtSubproc.py 2016-04-11 14:27:12.000000000 +0000 @@ -337,9 +337,8 @@ if len(c) > 1 and c[1] == 'prepare-only': adtlog.info('state saved, waiting for testbed to reboot...') else: - # FIXME: kill dhclient, workaround for LP #1556175 execute_timeout(None, 30, auxverb + - ['sh', '-c', 'pkill -9 dhclient >/dev/null 2>&1; (sleep 3; reboot) >/dev/null 2>&1 &']) + ['sh', '-c', '(sleep 3; reboot) >/dev/null 2>&1 &']) caller.hook_wait_reboot() # restore downtmp diff -Nru autopkgtest-3.20.1~ubuntu14.04.1/Makefile autopkgtest-3.20.3~ubuntu14.04.1/Makefile --- autopkgtest-3.20.1~ubuntu14.04.1/Makefile 2016-03-14 21:36:00.000000000 +0000 +++ autopkgtest-3.20.3~ubuntu14.04.1/Makefile 2016-04-11 14:27:12.000000000 +0000 @@ -72,8 +72,8 @@ $(INSTALL_DATA) CREDITS $(docdir) $(INSTALL_DATA) $(rstfiles) $(htmlfiles) $(docdir) $(INSTALL_PROG) setup-commands/*[!~] $(datadir)/setup-commands - $(INSTALL_DATA) ssh-setup/SKELETON $(datadir)/ssh-setup $(INSTALL_PROG) ssh-setup/[a-z]*[!~] $(datadir)/ssh-setup + $(INSTALL_DATA) ssh-setup/SKELETON $(datadir)/ssh-setup clean: rm -f */*.pyc diff -Nru autopkgtest-3.20.1~ubuntu14.04.1/setup-commands/setup-testbed autopkgtest-3.20.3~ubuntu14.04.1/setup-commands/setup-testbed --- autopkgtest-3.20.1~ubuntu14.04.1/setup-commands/setup-testbed 2016-03-14 21:36:00.000000000 +0000 +++ autopkgtest-3.20.3~ubuntu14.04.1/setup-commands/setup-testbed 2016-04-11 14:27:12.000000000 +0000 @@ -61,7 +61,7 @@ # serial console for systemd # bump vmalloc on i386, necessary for tests like udisks2 -if [ -z "${ADT_IS_SETUP_COMMAND:-}" ] && [ ! -e "$root/etc/default/grub.d/90-autopkgtest.cfg" ] && chroot "$root" which update-grub >/dev/null 2>&1; then +if [ ! -e "$root/etc/default/grub.d/90-autopkgtest.cfg" ] && chroot "$root" which update-grub >/dev/null 2>&1; then changed= if [ -d "$root/etc/default/grub.d" ]; then if [ "$(chroot "$root" dpkg --print-architecture)" = "i386" ]; then @@ -182,12 +182,12 @@ landscape-common open-vm-tools w3m vim-runtime aptitude-common \ command-not-found-data manpages ntfs-3g sosreport \ ubuntu-release-upgrader-core libcpan-changes-perl git \ - cgmanager lxc lxd lxd-client open-iscsi mdadm dmeventd lvm2 \ + cgmanager lxc-common lxc lxd lxd-client open-iscsi mdadm dmeventd lvm2 \ unattended-upgrades update-notifier-common ureadahead debootstrap \ - lxcfs ppp pppconfig pppoeconf \ - thermald xdg-user-dirs xkb-data zerofree xml-core; do + lxcfs ppp pppconfig pppoeconf ubuntu-snappy-cli \ + thermald xdg-user-dirs zerofree xml-core; do if [ -d "$root/usr/share/doc/$p" ]; then - chroot "$root" eatmydata apt-get --auto-remove -y purge $p || true + chroot "$root" env DEBIAN_FRONTEND=noninteractive eatmydata apt-get --auto-remove -y purge $p || true fi done diff -Nru autopkgtest-3.20.1~ubuntu14.04.1/tools/adt-build-lxd autopkgtest-3.20.3~ubuntu14.04.1/tools/adt-build-lxd --- autopkgtest-3.20.1~ubuntu14.04.1/tools/adt-build-lxd 2016-03-14 21:36:00.000000000 +0000 +++ autopkgtest-3.20.3~ubuntu14.04.1/tools/adt-build-lxd 2016-04-11 14:27:12.000000000 +0000 @@ -57,7 +57,7 @@ setup() { # set up apt proxy for the container - if [ -n "${ADT_APT_PROXY:-}" ]; then + if [ -n "${ADT_APT_PROXY:-}" ] && [ "$ADT_APT_PROXY" != "none" ]; then echo "Acquire::http::Proxy \"$ADT_APT_PROXY\";" | lxc file push - "$CONTAINER/etc/apt/apt.conf.d/01proxy" # work around LP#1548878 lxc exec "$CONTAINER" -- chmod 644 /etc/apt/apt.conf.d/01proxy @@ -103,7 +103,7 @@ fi IMAGE="$1" CONTAINER='' -trap '[ -z "$CONTAINER" ] || lxc delete "$CONTAINER"' EXIT INT QUIT PIPE +trap '[ -z "$CONTAINER" ] || lxc delete -f "$CONTAINER"' EXIT INT QUIT PIPE proxy_detect generate_container_name diff -Nru autopkgtest-3.20.1~ubuntu14.04.1/tools/adt-buildvm-ubuntu-cloud autopkgtest-3.20.3~ubuntu14.04.1/tools/adt-buildvm-ubuntu-cloud --- autopkgtest-3.20.1~ubuntu14.04.1/tools/adt-buildvm-ubuntu-cloud 2016-03-14 21:36:00.000000000 +0000 +++ autopkgtest-3.20.3~ubuntu14.04.1/tools/adt-buildvm-ubuntu-cloud 2016-04-11 14:27:12.000000000 +0000 @@ -6,7 +6,7 @@ # autopkgtest is Copyright (C) 2006-2014 Canonical Ltd. # # Build a suitable autopkgtest VM from the Ubuntu cloud images: -# http://cloud-images.ubuntu.com/ +# https://cloud-images.ubuntu.com/ # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -35,6 +35,7 @@ import os import time import socket +import re try: our_base = os.environ['AUTOPKGTEST_BASE'] + '/lib' @@ -82,8 +83,14 @@ default_arch = subprocess.check_output(['dpkg', '--print-architecture'], universal_newlines=True).strip() - qemu_default_cmds = {'i386': 'qemu-system-i386', - 'amd64': 'qemu-system-x86_64'} + uname_to_qemu_suffix = {'i[3456]86$': 'i386'} + arch = os.uname()[4] + for pattern, suffix in uname_to_qemu_suffix.items(): + if re.match(pattern, arch): + qemu_cmd_default = 'qemu-system-' + suffix + break + else: + qemu_cmd_default = 'qemu-system-' + arch parser.add_argument('-a', '--arch', default=default_arch, help='Ubuntu architecture (default: %(default)s)') @@ -103,12 +110,12 @@ help='output directory for generated image (default: ' 'current directory)') parser.add_argument('-q', '--qemu-command', - default=qemu_default_cmds[default_arch], + default=qemu_cmd_default, help='qemu command (default: %(default)s)') parser.add_argument('-v', '--verbose', action='store_true', default=False, help='Show VM guest and cloud-init output') parser.add_argument('--cloud-image-url', metavar='URL', - default='http://cloud-images.ubuntu.com', + default='https://cloud-images.ubuntu.com', help='cloud images URL (default: %(default)s)') parser.add_argument('--no-apt-upgrade', action='store_true', help='Do not run apt-get dist-upgrade') @@ -202,7 +209,7 @@ - mount -r /dev/vdb /mnt - env ADT_SETUP_VM_UPGRADE=%(upgr)s ADT_SETUP_VM_POST_COMMAND='%(postcmd)s' sh /mnt/setup-testbed - - if grep -q 'net.ifnames=0' /proc/cmdline; then rm /etc/network/interfaces.d/eth0.cfg; printf "auto ens3\\niface ens3 inet dhcp\\n" > /etc/network/interfaces.d/ens3.cfg; fi + - if grep -q 'net.ifnames=0' /proc/cmdline; then ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules; update-initramfs -u; fi - umount /mnt - (while [ ! -e /var/lib/cloud/instance/boot-finished ]; do sleep 1; done; apt-get -y purge cloud-init; shutdown -P now) & diff -Nru autopkgtest-3.20.1~ubuntu14.04.1/virt-subproc/adt-virt-qemu autopkgtest-3.20.3~ubuntu14.04.1/virt-subproc/adt-virt-qemu --- autopkgtest-3.20.1~ubuntu14.04.1/virt-subproc/adt-virt-qemu 2016-03-14 21:36:00.000000000 +0000 +++ autopkgtest-3.20.3~ubuntu14.04.1/virt-subproc/adt-virt-qemu 2016-04-11 14:27:12.000000000 +0000 @@ -430,7 +430,10 @@ return ['-cpu', 'kvm64,+vmx,+lahf_lm'] elif 'svm' in words: # AMD kvm adtlog.debug('Detected KVM capable AMD host CPU, enabling nested KVM') - return ['-cpu', 'kvm64,+svm,+lahf_lm'] + # FIXME: this should really be the one below for more + # reproducible testbeds, but nothing except -cpu host works + # return ['-cpu', 'kvm64,+svm,+lahf_lm'] + return ['-cpu', 'host'] except IOError as e: adtlog.warning('Cannot read /proc/cpuinfo to detect CPU flags: %s' % e) # fetching CPU flags isn't critical (only used to enable nested KVM),