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

Issue 646593 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Last visit > 30 days ago
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

[autotest] RepairStrategy broke repairs for devices with no power button

Project Member Reported by ra...@google.com, Sep 13 2016

Issue description

Version: 8762.0.0+
OS: Chrome

The new Servo repair strategy flow introduced in https://chromium-review.googlesource.com/#/c/372980/ checks the status of the pwr_button Servo control. This check fails and labels the Servo as non-functional for platforms that don't have a power button at all.

Some platforms rely on a Servo PowerStateDriver instead of a power button to cycle power, such as https://cs.corp.google.com/chromeos_public/src/third_party/hdctools/servo/drv/storm_power.py
 
Long term, I think the fix is to change the storm overlay
to provide a dummy 'pwr_button' signal, or otherwise make it
possible to perform the 'pwr_button' check without having to
ask "is this storm?"

Short term, the best choice would probably be to disable
(at least for some cases) the part of code that says "if a
servo fails verify, don't use it for repair."

If we get desperate, we could also simply hard-code a list
of boards for which we always pass the 'pwr_button' verifier.

Status: Available (was: Untriaged)
... I've remembered that for chromeboxes, the 'lid_open' signal
can return the value "not_applicable", which the verifier recognizes
as "working".  I think we should do that for pwr_button, too.

Comment 4 by ra...@google.com, Sep 13 2016

I can add the "not applicable" section to the Storm (and Gale) Servo overlay xml files similarly to https://chromium-review.googlesource.com/#/c/383819/ if that would help

Comment 5 by ra...@google.com, Sep 13 2016

It might be true that all overlays with the power_state control don't have power buttons. If that's the case maybe PowerStateDriver can simply check for this control if the power button appears stuck?

https://cs.corp.google.com/search/?q=power_state+file:%5Esrc/third_party/hdctools/servo/data/+package:%5Echromeos_public$&type=cs

Comment 6 by ra...@google.com, Sep 13 2016

might not be true, Stumpy seems to have both a power button and the power_state control in the overlay

Comment 7 by autumn@chromium.org, Sep 13 2016

Cc: sbasi@chromium.org
Owner: jrbarnette@chromium.org
+ Simran as FYI, we may need your help as secondary on this
Project Member

Comment 8 by sheriffbot@chromium.org, Sep 14 2016

Labels: Hotlist-Google

Comment 9 by ra...@google.com, Sep 19 2016

This is soon going to block adding Whirlwind devices for BVT and adding the new Gale platform to the commit queue. 
> If we get desperate, we could also simply hard-code a list
> of boards for which we always pass the 'pwr_button' verifier.

This'll be the quickest way to get past the problem.

Comment 11 by ra...@google.com, Sep 21 2016

Cc: jdiez@chromium.org
Labels: -Pri-2 Pri-1
This is creeping up in priority a little bit - Jetstream has a couple p1 issues we're trying to sort out regarding FAFT, and this just bit jdiez@

He'll be able to workaround with a local change for the time being, but this will be a bigger problem if it creeps into next week. I can send out an ugly hack that passes the power button verifier for Gale, Whirlwind, and Arkham boards later this week if y'alls are still wrestling with the lab infra issues.
Owner: sbasi@chromium.org
Status: Assigned (was: Available)
OK, for the first step, sbasi@ will take on the work in c#10.

Here's the full plan for what we need:
  * (sbasi) Change the verifier to hard-code the jetstream
    boards as "always pass".  We want this ASAP.
  * (who?) Change hdctools to have boards like jetstream
    report "not_applicable" for the "pwr_button" control.
  * (deputy) Deploy the new hdctools to servo in the lab.
  * (who?) Revert the original hard-coding change, and
    replace it with "if pwr_button is not_applicable, pass".

Comment 13 by ra...@google.com, Sep 21 2016

https://chromium-review.googlesource.com/387765 for hdctools changes

Does anyone know of any non-Jetstream boards without a power button? I can update this CL and hit them also.

Comment 14 by ra...@google.com, Sep 26 2016

John Hong mentioned veyron_mickey may be another example of such a board

Comment 15 by sbasi@chromium.org, Sep 27 2016

Owner: ----
Status: Available (was: Assigned)
The hdctools changes needs an owner for step 2 of comment 12.
Project Member

Comment 16 by bugdroid1@chromium.org, Oct 4 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/autotest/+/04a5c2420b98f3a2f49b32485664b510b31388af

commit 04a5c2420b98f3a2f49b32485664b510b31388af
Author: Simran Basi <sbasi@google.com>
Date: Thu Sep 22 00:35:49 2016

autotest: Skip PowerButtonVerifier for boards w/o a power button.

Certain boards do not have a power button, therefore attempting
to manipulate it via servo will not work. Temporarily pass this
verifier until a dummy signal is implemented.

BUG=chromium:646593
TEST=None

Change-Id: I870fd40fecff996f95a3359501353ae595ae9926
Reviewed-on: https://chromium-review.googlesource.com/388066
Reviewed-by: Richard Barnette <jrbarnette@google.com>
Tested-by: John Carey <ranix@google.com>

[modify] https://crrev.com/04a5c2420b98f3a2f49b32485664b510b31388af/server/hosts/servo_repair.py

Project Member

Comment 17 by bugdroid1@chromium.org, Oct 4 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/autotest/+/04a5c2420b98f3a2f49b32485664b510b31388af

commit 04a5c2420b98f3a2f49b32485664b510b31388af
Author: Simran Basi <sbasi@google.com>
Date: Thu Sep 22 00:35:49 2016

autotest: Skip PowerButtonVerifier for boards w/o a power button.

Certain boards do not have a power button, therefore attempting
to manipulate it via servo will not work. Temporarily pass this
verifier until a dummy signal is implemented.

BUG=chromium:646593
TEST=None

Change-Id: I870fd40fecff996f95a3359501353ae595ae9926
Reviewed-on: https://chromium-review.googlesource.com/388066
Reviewed-by: Richard Barnette <jrbarnette@google.com>
Tested-by: John Carey <ranix@google.com>

[modify] https://crrev.com/04a5c2420b98f3a2f49b32485664b510b31388af/server/hosts/servo_repair.py

Comment 18 by dshi@chromium.org, Jan 17 2017

Owner: sbasi@chromium.org
Is this fixed?

Comment 19 by sbasi@chromium.org, Jan 17 2017

Cc: kevcheng@chromium.org
I think reading comment 12, the jetstream (or servo) guys needs to update hdctools:

Change hdctools to have boards like jetstream
    report "not_applicable" for the "pwr_button" control.

Ranix do you guys have an owner for this?

+Kevin as he may know how much work this is on the hdctools side.
You can fix this just in autotest, add a try/except in the repair code around the pwr_button get code for autotest_lib.client.common_lib.error.TestFail: 

https://chromium.googlesource.com/chromiumos/third_party/autotest/+/master/server/hosts/servo_repair.py#230

If you want to be extra careful, you can grep the exception for "No control named power_button.".  That should be all that's necessary to cover devices without the power_button.

Comment 21 by ra...@google.com, Jan 17 2017

I abandoned my change to do this because I wasn't clear who owned the other tasks

https://chromium-review.googlesource.com/#/c/387765/
Labels: akeshet-pending-downgrade
ChromeOS Infra P1 Bugscrub.

P1 Bugs in this component should be important enough to get weekly status updates.

Is this already fixed?  -> Fixed
Is this no longer relevant? -> Archived or WontFix
Is this not a P1, based on go/chromeos-infra-bug-slo rubric? -> lower priority.
Is this a Feature Request rather than a bug? Type -> Feature
Is this missing important information or scope needed to decide how to proceed? -> Ask question on bug, possibly reassign.
Does this bug have the wrong owner? -> reassign.

Bugs that remain in this state next week will be downgraded to P2.
Labels: -akeshet-pending-downgrade Pri-2
ChromeOS Infra P1 Bugscrub.

Issue untouched in a week after previous message. Downgrading to P2.
Hi, this bug has not been updated recently. Please acknowledge the bug and provide status within two weeks (6/22/2018), or the bug will be archived. Thank you.
Status: Assigned (was: Available)

Sign in to add a comment