Systems with a particular RAID controller generate tests which run an invalid command
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Checkbox |
Fix Released
|
Critical
|
Brendan Donegan | ||
0.9 |
Fix Released
|
Critical
|
Unassigned |
Bug Description
Some server systems contain a particular type of RAID controller which refers to itself as '/dev/cciss/c0d0' instead of e.g. /dev/sda. The Checkbox disk tests use the path of devices as stated by udevadm to work out what the name of the device is. For these devices this is something like:
/devices/
Note the exclaimation mark towards the end. This causes problems in such job descriptions as:
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
For these devices, the generated command line will be:
hdparm -tT /dev/cciss!c0d0 | sed 's/:.*= */ = /' | grep -v "^$"
Bash doesn't appreciate the ! in the command and complains about an unknown event. Really what we want is an output like this:
hdparm -tT /dev/cciss/c0d0 | sed 's/:.*= */ = /' | grep -v "^$"
To achieve this we need to sed the ! for a / wherever it appears.
Related branches
- Marc Tardif (community): Approve
-
Diff: 68 lines (+8/-6)2 files modifieddebian/changelog (+2/-0)
jobs/disk.txt.in (+6/-6)
- Daniel Holbach: Approve
-
Diff: 8665 lines (+4575/-636)21 files modifiedcheckbox/lib/process.py (+1/-1)
checkbox/parsers/udevadm.py (+5/-3)
debian/changelog (+62/-27)
debian/checkbox-gtk.install (+0/-1)
debian/control (+1/-1)
debian/po/cs.po (+119/-0)
debian/po/oc.po (+119/-0)
gtk/checkbox-gtk.desktop.in (+0/-11)
jobs/disk.txt.in (+6/-6)
jobs/local.txt.in (+114/-38)
jobs/wireless.txt.in (+6/-6)
plugins/backend_info.py (+2/-2)
po/POTFILES.in (+1/-1)
po/de.po (+158/-106)
po/nl.po (+263/-137)
po/ru.po (+129/-109)
po/sd.po (+2994/-0)
po/uk.po (+375/-121)
scripts/create_connection (+23/-8)
scripts/removable_storage_test (+196/-57)
setup.cfg (+1/-1)
Changed in checkbox: | |
status: | New → Confirmed |
status: | Confirmed → In Progress |
assignee: | nobody → Brendan Donegan (brendan-donegan) |
importance: | Undecided → Critical |
summary: |
- Systems with a particular RAID controller generated tests which run an + Systems with a particular RAID controller generate tests which run an invalid command |
Changed in checkbox: | |
status: | In Progress → Fix Committed |
Changed in checkbox: | |
milestone: | none → 0.13.4 |
Changed in checkbox: | |
status: | Fix Committed → Fix Released |