ethernet/detect job should be skipped if no Ethernet devices on the testing unit
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Checkbox Provider - Base |
Fix Released
|
High
|
Jonathan Cave |
Bug Description
We are testing a device that has WiFi chip, but no Ethernet controller.
The `ethernet/detect` job is still run[1], with the following output:
-------
(in other words, no Network devices are reported)
Since the script launched by the job doesn't crash, the job itself is marked as passed. The problem is that later jobs that depend on ethernet/detect may fail whereas they should simply be skipped. For instance, `network_
There is for sure an issue, but I'm not sure which one:
1. If the purpose of ethernet/detect is, as said by its description, to "detect and return information about available network controllers", then it should report not only about Ethernet, but also about WiFi controllers. It is not currently the case (I tried on two different devices and in both cases, only Ethernet controllers are reported)
2. If the purpose of this job is only to detect Ethernet controllers, then I think we should add:
requires:
device.
to its definition.
Related branches
- Sylvain Pineau (community): Approve
-
Diff: 217 lines (+72/-71)4 files modifiedbin/network_device_info.py (+63/-68)
units/ethernet/jobs.pxu (+4/-2)
units/ethernet/manifest.pxu (+4/-0)
units/info/jobs.pxu (+1/-1)
Changed in plainbox-provider-checkbox: | |
importance: | Undecided → High |
assignee: | nobody → Sylvain Pineau (sylvain-pineau) |
tags: | added: ce-qa-concern |
Changed in plainbox-provider-checkbox: | |
status: | New → In Progress |
Changed in plainbox-provider-checkbox: | |
milestone: | none → 0.48.0 |
Changed in plainbox-provider-checkbox: | |
status: | In Progress → Fix Committed |
Changed in plainbox-provider-checkbox: | |
status: | Fix Committed → Fix Released |
Changed in plainbox-provider-checkbox: | |
status: | Fix Released → Fix Committed |
Changed in plainbox-provider-checkbox: | |
status: | Fix Committed → Fix Released |
My approach to this would be to make two changes:
1) add a manifest entry so that it can be indicated to checkbox that an adapter should be present
2) have the job fail if zero adapters are found
I think this follows the general pattern of our other detect jobs.