Even after a full vmtest-sync-images run, done from scratch, the vmtest harness can't find some images. I suspect because of MAAS changing the image "channel" names ("daily" to "candidate" and "release" to "stable").
Reproducer (starting from an empty /srv/images):
$ tools/vmtest-sync-images
2020-12-17 09:36:52,621 - tests.vmtests - INFO - Logfile: /tmp/vmtest-2020-12-17T093652.621147.log . Working dir: /tmp/vmtest-2020-12-17T093652.621147
Acquiring an exclusive lock on /srv/images...
Acquiring an exclusive lock on /srv/images/vmtest-images.lock...
2020-12-17 09:36:53,725 - tests.vmtests - INFO - Syncing images from http://images.maas.io/ephemeral-v3/daily/streams/v1/index.sjson with filters=['os=ubuntu', 'release~bionic|focal|groovy|xenial', 'ftype~(boot-initrd|boot-kernel|root-tgz|squashfs)', 'arch~arm64']
=> xenial/arm64/20201210/ga-16.04/generic/boot-initrd [38927557]
...............................................................................
=> xenial/arm64/20201210/ga-16.04/generic/boot-kernel [14957568]
...............................................................................
=> xenial/arm64/20201210/squashfs [157917184]
...............................................................................
=> xenial/arm64/20201210/hwe-16.04/generic/boot-initrd [55585844]
...............................................................................
=> xenial/arm64/20201210/hwe-16.04/generic/boot-kernel [8313411]
...............................................................................
=> xenial/arm64/20201210/hwe-16.04-edge/generic/boot-initrd [55583928]
...............................................................................
=> xenial/arm64/20201210/hwe-16.04-edge/generic/boot-kernel [8313411]
...............................................................................
=> xenial/arm64/20201210/xgene-uboot/generic/boot-initrd.xgene [38928055]
...............................................................................
=> xenial/arm64/20201210/xgene-uboot/generic/boot-kernel.xgene [14957632]
...............................................................................
=> xenial/arm64/20201210/xgene-uboot-mustang/generic/boot-initrd.xgene-mustang [38931008]
...............................................................................
=> xenial/arm64/20201210/xgene-uboot-mustang/generic/boot-kernel.xgene-mustang [14957632]
...............................................................................
=> bionic/arm64/20201211.1/ga-18.04/generic/boot-initrd [57951687]
...............................................................................
=> bionic/arm64/20201211.1/ga-18.04/generic/boot-kernel [8479229]
...............................................................................
=> bionic/arm64/20201211.1/squashfs [183754752]
...............................................................................
=> bionic/arm64/20201211.1/hwe-18.04/generic/boot-initrd [68801250]
...............................................................................
=> bionic/arm64/20201211.1/hwe-18.04/generic/boot-kernel [10741020]
...............................................................................
=> bionic/arm64/20201211.1/hwe-18.04-edge/generic/boot-initrd [68802206]
...............................................................................
=> bionic/arm64/20201211.1/hwe-18.04-edge/generic/boot-kernel [10741020]
...............................................................................
=> bionic/arm64/20201211.1/xgene-uboot/generic/boot-initrd.xgene [57956804]
...............................................................................
=> bionic/arm64/20201211.1/xgene-uboot/generic/boot-kernel.xgene [8479293]
...............................................................................
=> bionic/arm64/20201211.1/xgene-uboot-mustang/generic/boot-initrd.xgene-mustang [57953827]
...............................................................................
=> bionic/arm64/20201211.1/xgene-uboot-mustang/generic/boot-kernel.xgene-mustang [8479293]
...............................................................................
=> focal/arm64/20201211/ga-20.04/generic/boot-initrd [88954428]
...............................................................................
=> focal/arm64/20201211/ga-20.04/generic/boot-kernel [10633925]
...............................................................................
=> focal/arm64/20201211/squashfs [343797760]
...............................................................................
=> focal/arm64/20201211/hwe-20.04/generic/boot-initrd [88954454]
...............................................................................
=> focal/arm64/20201211/hwe-20.04/generic/boot-kernel [10633925]
...............................................................................
=> focal/arm64/20201211/hwe-20.04-edge/generic/boot-initrd [93401428]
...............................................................................
=> focal/arm64/20201211/hwe-20.04-edge/generic/boot-kernel [11349848]
...............................................................................
=> focal/arm64/20201211/xgene-uboot/generic/boot-initrd.xgene [88954464]
...............................................................................
=> focal/arm64/20201211/xgene-uboot/generic/boot-kernel.xgene [10633989]
...............................................................................
=> focal/arm64/20201211/xgene-uboot-mustang/generic/boot-initrd.xgene-mustang [88954442]
...............................................................................
=> focal/arm64/20201211/xgene-uboot-mustang/generic/boot-kernel.xgene-mustang [10633989]
...............................................................................
=> groovy/arm64/20201210/ga-20.10/generic/boot-initrd [93633441]
...............................................................................
=> groovy/arm64/20201210/ga-20.10/generic/boot-kernel [12672563]
...............................................................................
=> groovy/arm64/20201210/squashfs [346574848]
...............................................................................
=> groovy/arm64/20201210/xgene-uboot/generic/boot-initrd.xgene [93633365]
...............................................................................
=> groovy/arm64/20201210/xgene-uboot/generic/boot-kernel.xgene [12672627]
...............................................................................
=> groovy/arm64/20201210/xgene-uboot-mustang/generic/boot-initrd.xgene-mustang [93633576]
...............................................................................
=> groovy/arm64/20201210/xgene-uboot-mustang/generic/boot-kernel.xgene-mustang [12672627]
...............................................................................
2020-12-17 09:47:26,419 - tests.vmtests - INFO - Syncing images from http://images.maas.io/ephemeral-v3/daily/streams/v1/index.sjson with filters=['os=centos', 'release~centos66|centos70', 'ftype~(boot-initrd|boot-kernel|root-tgz|squashfs)', 'arch~arm64']
$ tools/jenkins-runner -p 2 tests/vmtests/test_uefi_basic.py:XenialGAUefiTestBasic
CURTIN_VMTEST_CURTIN_EXE_VERSION=20.2-24-ge4e1ee0b
CURTIN_VMTEST_CURTIN_VERSION=20.2-24-ge4e1ee0b
CURTIN_VMTEST_IMAGE_SYNC=0
CURTIN_VMTEST_ISCSI_PORTAL=10.247.8.17:29502
CURTIN_VMTEST_KEEP_DATA_FAIL=logs,collect
CURTIN_VMTEST_KEEP_DATA_PASS=logs,collect
CURTIN_VMTEST_LOG=/jenkins/servers/server/workspace/curtin-autoland-test/nodes/metal-arm64/curtin/output/debug.log
CURTIN_VMTEST_PARALLEL=2
CURTIN_VMTEST_REUSE_TOPDIR=0
CURTIN_VMTEST_SHUFFLE_TESTS=1
CURTIN_VMTEST_TAR_DISKS=0
CURTIN_VMTEST_TOPDIR=/jenkins/servers/server/workspace/curtin-autoland-test/nodes/metal-arm64/curtin/output
TGT_IPC_SOCKET=/jenkins/servers/server/workspace/curtin-autoland-test/nodes/metal-arm64/curtin/output/tgt.d/socket
TGT_LOG_D=/jenkins/servers/server/workspace/curtin-autoland-test/nodes/metal-arm64/curtin/output/tgt.d
TGT_PID=1584
TGT_PORTAL=10.247.8.17:29502
http_proxy=
https_proxy=
no_proxy=
Quering synced ephemeral images/kernels in /srv/images
======================================================================================
Release Codename ImageDate Arch /SubArch Path
--------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
======================================================================================
Thu, 17 Dec 2020 09:48:57 -0500: vmtest start: nosetests3 --process-timeout=86400 --processes=2 -vv --nologcapture tests/vmtests/test_uefi_basic.py:XenialGAUefiTestBasic
nose.config: INFO: Ignoring files matching ['^\\.', '^_', '^setup\\.py$']
2020-12-17 09:48:59,591 - vmtests - INFO - Logfile: /jenkins/servers/server/workspace/curtin-autoland-test/nodes/metal-arm64/curtin/output/debug.log . Working dir: /jenkins/servers/server/workspace/curtin-autoland-test/nodes/metal-arm64/curtin/output
2020-12-17 09:48:59,669 - XenialGAUefiTestBasic - INFO - Logfile: /jenkins/servers/server/workspace/curtin-autoland-test/nodes/metal-arm64/curtin/output/debug.log . Working dir: /jenkins/servers/server/workspace/curtin-autoland-test/nodes/metal-arm64/curtin/output
2020-12-17 09:48:59,677 - XenialGAUefiTestBasic - INFO - Starting setup for testclass: XenialGAUefiTestBasic (ubuntu/xenial -> ubuntu/xenial)
2020-12-17 09:48:59,957 - XenialGAUefiTestBasic - INFO - Using tempdir: /jenkins/servers/server/workspace/curtin-autoland-test/nodes/metal-arm64/curtin/output/XenialGAUefiTestBasic
2020-12-17 09:48:59,959 - XenialGAUefiTestBasic - INFO - Loading testcase config file: examples/tests/uefi_basic.yaml
ERROR
======================================================================
ERROR: test suite for <class 'vmtests.test_uefi_basic.XenialGAUefiTestBasic'>
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/nose/plugins/multiprocess.py", line 788, in run
self.setUp()
File "/usr/lib/python3/dist-packages/nose/suite.py", line 292, in setUp
self.setupContext(ancestor)
File "/usr/lib/python3/dist-packages/nose/plugins/multiprocess.py", line 770, in setupContext
super(NoSharedFixtureContextSuite, self).setupContext(context)
File "/usr/lib/python3/dist-packages/nose/suite.py", line 315, in setupContext
try_run(context, names)
File "/usr/lib/python3/dist-packages/nose/util.py", line 471, in try_run
return func()
File "/jenkins/servers/server/workspace/curtin-autoland-test/nodes/metal-arm64/curtin/tests/vmtests/__init__.py", line 959, in setUpClass
ftypes = cls.get_test_files()
File "/jenkins/servers/server/workspace/curtin-autoland-test/nodes/metal-arm64/curtin/tests/vmtests/__init__.py", line 671, in get_test_files
ftypes=('boot-initrd', 'boot-kernel', cls.ephemeral_ftype))
File "/jenkins/servers/server/workspace/curtin-autoland-test/nodes/metal-arm64/curtin/tests/vmtests/__init__.py", line 262, in get_images
"syncing disabled:\n%s" % query_str)
ValueError: Required images not found and syncing disabled:
python3 tests/vmtests/image_sync.py query /srv/images ftype~(boot-initrd|boot-kernel|squashfs) release=xenial arch=arm64 os=ubuntu kflavor=generic krel=xenial subarch=ga-16.04
----------------------------------------------------------------------
Ran 0 tests in 0.388s
FAILED (errors=1)
Thu, 17 Dec 2020 09:49:00 -0500: vmtest end [1] in 7s
On a quick skim, curtin syncs images from http:// images. maas.io/ ephemeral- v3/daily/ streams/ v1/index. sjson which now redirects to http:// images. maas.io/ ephemeral- v3/stable/ streams/ v1/index. sjson -- is that appropriate? Should it be syncing from http:// images. maas.io/ ephemeral- v3/candidate/ streams/ v1/index. sjson instead?