Compound jobs are ignoring some items (noticed on disk tests)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Checkbox |
Fix Released
|
High
|
Marc Tardif | ||
Bug Description
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:
plugin: local
name: disk/benchmarks
requires: device.category == 'DISK'
_description: Benchmark for each disk
command:
cat <<'EOF' | run_templates -t -s 'udev_resource | filter_templates -w "category=DISK"'
plugin: shell
name: disk/benchmark_`ls /sys$path/block`
requires: device.path == "$path" and package.name == 'linux'
user: root
command: hdparm -tT /dev/`ls /sys$path/block` | sed 's/:.*= */ = /' | grep -v "^$"
description: This test runs hdparm timing tests as a benchmark for $path
EOF
which should create disk benchmark jobs for all three disks called:
benchmark_sda
benchmark_sdb
benchmark_sdc
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
Related branches
- Daniel Manrique (community): Approve
-
Diff: 33 lines (+12/-1)2 files modifiedcheckbox/parsers/udevadm.py (+5/-1)
debian/changelog (+7/-0)
- Daniel Manrique (community): Approve
-
Diff: 32 lines (+13/-1)2 files modifiedcheckbox/parsers/udevadm.py (+5/-1)
debian/changelog (+8/-0)
- Mathieu Trudel-Lapierre: Approve
- Daniel Manrique (community): Needs Resubmitting
- Ubuntu branches: Pending requested
-
Diff: 23486 lines (+14509/-942)165 files modifiedbin/checkbox-qt (+26/-0)
checkbox/job.py (+2/-2)
checkbox/message.py (+17/-1)
checkbox/parsers/description.py (+74/-0)
checkbox/parsers/tests/cputable.py (+74/-0)
checkbox/parsers/tests/description.py (+146/-0)
checkbox/parsers/tests/dmi.py (+80/-0)
checkbox/parsers/tests/dmidecode.py (+60/-0)
checkbox/parsers/tests/udevadm.py (+68/-0)
checkbox/parsers/udevadm.py (+5/-1)
checkbox/user_interface.py (+7/-6)
checkbox_cli/cli_interface.py (+4/-7)
checkbox_gtk/gtk_interface.py (+10/-7)
checkbox_qt/qt_interface.py (+220/-0)
checkbox_urwid/urwid_interface.py (+12/-10)
data/whitelists/default.whitelist (+2/-10)
debian/changelog (+73/-0)
debian/checkbox-gtk.install (+1/-1)
debian/checkbox-qt.install (+6/-0)
debian/checkbox-qt.links (+1/-0)
debian/checkbox-qt.postinst (+7/-0)
debian/control (+10/-1)
debian/po/de.po (+3/-4)
debian/po/en_AU.po (+3/-4)
debian/po/en_GB.po (+3/-4)
debian/po/es.po (+5/-5)
debian/po/fr.po (+3/-4)
debian/po/he.po (+3/-4)
debian/po/hu.po (+3/-4)
debian/po/it.po (+3/-4)
debian/po/ja.po (+6/-10)
debian/po/nl.po (+3/-4)
debian/po/pl.po (+3/-4)
debian/po/pt_BR.po (+3/-4)
debian/po/ro.po (+3/-4)
debian/po/ru.po (+3/-4)
debian/po/uk.po (+3/-4)
debian/po/zh_TW.po (+4/-7)
debian/rules (+7/-1)
examples/checkbox-qt.ini (+16/-0)
jobs/disk.txt.in (+19/-5)
jobs/graphics.txt.in (+1/-1)
jobs/mediacard.txt.in (+32/-44)
jobs/miscellanea.txt.in (+11/-11)
jobs/networking.txt.in (+1/-0)
jobs/optical.txt.in (+37/-34)
jobs/resource.txt.in (+5/-0)
plugins/jobs_info.py (+34/-6)
plugins/launchpad_prompt.py (+6/-5)
plugins/launchpad_report.py (+14/-1)
plugins/message_info.py (+19/-0)
plugins/suites_prompt.py (+17/-15)
plugins/user_interface.py (+6/-0)
po/ace.po (+2/-2)
po/af.po (+2/-2)
po/am.po (+2/-2)
po/ar.po (+2/-2)
po/ast.po (+1181/-48)
po/az.po (+2992/-0)
po/be.po (+2/-2)
po/bg.po (+2/-2)
po/bn.po (+2/-2)
po/bo.po (+2/-2)
po/br.po (+2/-2)
po/bs.po (+2/-2)
po/ca.po (+2/-2)
po/ca@valencia.po (+2/-2)
po/ckb.po (+79/-79)
po/cs.po (+2/-2)
po/cy.po (+2/-2)
po/da.po (+2/-2)
po/de.po (+269/-45)
po/dv.po (+2/-2)
po/el.po (+142/-6)
po/en_AU.po (+12/-2)
po/en_CA.po (+2/-2)
po/en_GB.po (+2/-2)
po/eo.po (+2/-2)
po/es.po (+473/-20)
po/et.po (+2/-2)
po/eu.po (+2/-2)
po/fa.po (+2/-2)
po/fi.po (+910/-54)
po/fr.po (+2/-2)
po/ga.po (+2/-2)
po/gd.po (+46/-16)
po/gl.po (+2/-2)
po/he.po (+2/-2)
po/hi.po (+2/-2)
po/hr.po (+2/-2)
po/hu.po (+2/-2)
po/hy.po (+2/-2)
po/id.po (+2/-2)
po/is.po (+2/-2)
po/it.po (+2/-2)
po/ja.po (+5/-4)
po/jbo.po (+2/-2)
po/ka.po (+2/-2)
po/kk.po (+2/-2)
po/km.po (+2/-2)
po/kn.po (+2/-2)
po/ko.po (+128/-6)
po/ku.po (+2/-2)
po/ky.po (+2/-2)
po/lt.po (+2/-2)
po/lv.po (+2/-2)
po/mk.po (+2/-2)
po/ml.po (+2/-2)
po/mr.po (+2/-2)
po/ms.po (+124/-75)
po/my.po (+2/-2)
po/nb.po (+2/-2)
po/nds.po (+2/-2)
po/ne.po (+2/-2)
po/nl.po (+2/-2)
po/nn.po (+2/-2)
po/oc.po (+13/-2)
po/pl.po (+2/-2)
po/ps.po (+2/-2)
po/pt.po (+2/-2)
po/pt_BR.po (+2/-2)
po/ro.po (+2/-2)
po/ru.po (+42/-8)
po/shn.po (+2/-2)
po/si.po (+2/-2)
po/sk.po (+176/-74)
po/sl.po (+372/-24)
po/sq.po (+2/-2)
po/sr.po (+2/-2)
po/sv.po (+3/-3)
po/ta.po (+2/-2)
po/te.po (+2/-2)
po/th.po (+2/-2)
po/tr.po (+3/-3)
po/ug.po (+4/-4)
po/uk.po (+2/-2)
po/ur.po (+2/-2)
po/uz.po (+2/-2)
po/vi.po (+2/-2)
po/zh_CN.po (+2/-2)
po/zh_HK.po (+2/-2)
po/zh_TW.po (+108/-74)
qt/checkbox-qt.desktop.in (+11/-0)
qt/checkbox-qt.ui (+935/-0)
qt/checkbox.svg (+2478/-0)
qt/com.canonical.QtCheckbox.service (+3/-0)
qt/frontend/frontend.pro (+25/-0)
qt/frontend/main.cpp (+14/-0)
qt/frontend/qrc_resources.cpp (+603/-0)
qt/frontend/qtfront.cpp (+491/-0)
qt/frontend/qtfront.h (+100/-0)
qt/frontend/qtfront.ui (+1029/-0)
qt/frontend/resources.qrc (+5/-0)
qt/frontend/step.cpp (+52/-0)
qt/frontend/step.h (+13/-0)
qt/frontend/treemodel.cpp (+83/-0)
qt/frontend/treemodel.h (+18/-0)
scripts/create_connection (+1/-1)
scripts/disk_stats_test (+71/-0)
scripts/max_diskspace_used (+13/-8)
scripts/memory_compare (+4/-2)
scripts/optical_write_test (+108/-0)
scripts/virt_check (+43/-0)
setup.cfg (+1/-1)
setup.py (+4/-2)
Changed in checkbox: | |
status: | In Progress → Fix Released |
Here's a screenshot of checkbox run from trunk showing two disk tests that are only set up for sdb and sdc.