New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 753464 link

Starred by 2 users

Issue metadata

Status: Archived
Owner: ----
Closed: Nov 13
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocked on:
issue 753607

Blocking:
issue 751802



Sign in to add a comment

Migrate "dut preparation hints" away from abusing job labels

Project Member Reported by pprabhu@chromium.org, Aug 8 2017

Issue description

We have four different hints that the test / suite control file can give to autotest infra via these job dependency labels:

(second column is the number of recent jobs that used this label)
| skip_provision                   |   123182 |
| cleanup-reboot                   |   115547 |
| rpm                              |    35879 |
| modem_repair                     |     3517 |

These are currently passed in as labels, but they are not labels -- they are not used for making any scheduling decisions about the job. They are only hints to the test running infrastructure to prepare the DUT in a special way:

skip_provision: Do not run provision before the job.
cleanup-reboot: Reboot the DUT during cleanup
rpm: verify RPM functionality duirng verify [THIS HAS NOT WORKED IN 3 YEARS] Perhaps we don't really care?
modem_repair: Reboot the modem during verify

This abuse of labels means that the inventory definition of labels (what can DUTs be labeled with) differs from the job's definition of labels (what labels can a job demand). The host matching logic has to special case these labels so that it doesn't reject the jobs because of these un-matchable labels: http://shortn/_x7JVKvxYJY

Here's where we fiter these labels away when matching hosts: http://shortn/_9QvLiYTGkt

----------------------

With skylab, we would have to migrate this hack to TFC. I do not plan on doing that.

----------------------


Plan of action:
[1] Introduce a new field in control files to provide hints to the test runner like the ones above.
[2] Update autotest infra to respect *both*
[3] Update all control files to use the new functionality
[4] When migrating to skylab, forget about these labels.

Note that:
- This means we'll lose the ability to provide these hints when creating an individual job (from the UI say). I am happy to see that go.
- We can never really drop the support for this hack in autotest infra because old control files use it. We can let it die when we move to skylab.
 
Cc: akes...@chromium.org
 Issue 364273  has been merged into this issue.
Blocking: 751802
Cc: jrbarnette@chromium.org
Blockedon: 753607
A more detailed take on what this bug is about: http://shortn/_HKASPTJRWj
(and an update to the approach)

Updated approach: Instead of inserting the special-task-action-labels in the afe_job (in any form), obtain these hints from the control file in monitor_db at test execution time.
Justification: These are hints related to how to execute the given test. TFC / AutotestInfra does not care about them / should not have to care about them.

Meanwhile, fixing issue 753607 first will make the work here simpler.
Cc: ayatane@chromium.org
Thanks ayatane@ for a good idea-bouncing session about this.
Labels: -Pri-2 Pri-1
Skylab blocking bugs are P1. I need this this quarter.
Labels: -Pri-1 Pri-2
Status: Assigned (was: Started)
Owner: ----
Status: Archived (was: Assigned)
This bug is dying a slow death as the various hints mentioned here are handled in Skylab. But there isn't a single effort, so not tracking of it as such.

Archiving for admin cleanup, but the history is available for anyone trying to fix (part of) this problem.

Sign in to add a comment