Compound jobs are ignoring some items (noticed on disk tests)
Nominated for 0.10 by Jeff Lane
Nominated for 0.11 by Jeff Lane
Nominated for 0.12 by Jeff Lane
Compound jobs (Jobs that create other jobs) have been in use for some time, and they've been somewhat flaky. For a while now, there are cases where a machine with several disks will not see jobs created for each disk and this is something we need to resolve for 12.04 now that we're depending on checkbox to work for selftesting, Ubuntu Friendly and our own testing.
Here's the issue: on my laptop, I have an internal disk (sda), an external disk (sdb) and a usb stick (sdc). When checkbox runs, it sees jobs like this:
requires: device.category == 'DISK'
_description: Benchmark for each disk
cat <<'EOF' | run_templates -t -s 'udev_resource | filter_templates -w "category=DISK"'
name: disk/benchmark_`ls /sys$path/block`
requires: device.path == "$path" and package.name == 'linux'
command: hdparm -tT /dev/`ls /sys$path/block` | sed 's/:.*= */ = /' | grep -v "^$"
description: This test runs hdparm timing tests as a benchmark for $path
which should create disk benchmark jobs for all three disks called:
However, it is only creating jobs for sdb and sdc. Looking at the log and it appears that sda is not behaving properly:
2012-02-02 11:55:48,496 DEBUG Calling ./plugins/
Notice that for sda, the 'name' item int he dictionary is 'disk/benchmark_' not 'disk/benchmark
|Changed in checkbox:|
|status:||In Progress → Fix Released|