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

Issue 599533 link

Starred by 1 user

Issue metadata

Status: Archived
Owner:
Last visit > 30 days ago
Closed: Jan 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug

Blocked on:
issue 651244

Blocking:
issue 599524



Sign in to add a comment

preparing autotest for servo v4

Project Member Reported by kevcheng@chromium.org, Mar 31 2016

Issue description

all documented here: https://docs.google.com/document/d/1PhWztBn0kmpvRYfGIhJ4nl7DTYom9ub790654AeVUCs/edit#

short summary:
- update Servo/ServoHost/CrosHost classes
- Update reparir/verify flow for servo host
 
Labels: -Pri-3 Pri-1

Comment 2 by benhenry@google.com, Apr 26 2016

Components: Infra>Client>ChromeOS
Labels: -Infra-ChromeOS
Cc: akes...@chromium.org
TODO this week:
- Validate that a multi-host job holds all the hosts together at the same time.  And also that the job will get scheduled and not get ignored if all the hosts continually get scheduled.
- Start working on updates to ServoHost (storing labstation details as host attributes) 
Project Member

Comment 5 by bugdroid1@chromium.org, Sep 15 2016

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

commit eb06fe78add51b9fd80d73971e4764846f1e0f9f
Author: Kevin Cheng <kevcheng@chromium.org>
Date: Mon Aug 22 22:26:32 2016

[autotest] Replace Servo's probe_host_usb_dev with servod server call.

CW-DEPEND=CL:373560
BUG= chromium:599533 
TEST=locally on moblab with multiple servos

Change-Id: I5e53447485edadbe5b9a0267dcbf6b030ab3dac1
Reviewed-on: https://chromium-review.googlesource.com/374022
Commit-Ready: Kevin Cheng <kevcheng@chromium.org>
Tested-by: Kevin Cheng <kevcheng@chromium.org>
Reviewed-by: Simran Basi <sbasi@chromium.org>

[modify] https://crrev.com/eb06fe78add51b9fd80d73971e4764846f1e0f9f/server/cros/servo/servo.py

Project Member

Comment 6 by bugdroid1@chromium.org, Sep 22 2016

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

commit 643ce8a93952bca74d25833b7c0dcbecf9b9ead7
Author: Kevin Cheng <kevcheng@chromium.org>
Date: Thu Sep 15 22:42:12 2016

[autotest] Add in servo serial validation for servo verify and repair.

BUG= chromium:599533 
TEST=Locally on moblab that serial settings were validated.

Change-Id: I6e6cb6e3c75542a5b74b3754f66aec42b0670ede
Reviewed-on: https://chromium-review.googlesource.com/386160
Commit-Ready: Kevin Cheng <kevcheng@chromium.org>
Tested-by: Kevin Cheng <kevcheng@chromium.org>
Reviewed-by: Kevin Cheng <kevcheng@chromium.org>

[modify] https://crrev.com/643ce8a93952bca74d25833b7c0dcbecf9b9ead7/server/hosts/servo_host.py
[modify] https://crrev.com/643ce8a93952bca74d25833b7c0dcbecf9b9ead7/server/hosts/servo_repair.py

Project Member

Comment 7 by bugdroid1@chromium.org, Sep 26 2016

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

commit 19521983b5d77a557889850ead4447d07595ee14
Author: Kevin Cheng <kevcheng@chromium.org>
Date: Thu Sep 22 19:27:23 2016

[autotest] Add in host attr and locking rpcs/methods.

Add in get_hosts_by_attributes(attribute, value) RPC which returns a list
of hosts that share the same value for the specified host attribute.

Added a {lock,unlock}_hosts method on the AFE.

BUG= chromium:599533 
TEST=locally on moblab
afe = frontend_wrappers.RetryingAFE(timeout_min=5, delay_sec=10)
print afe.get_hosts_by_attribute(
        attribute='servo_host',
        value='100.107.151.237')

Change-Id: Id288697ebd2f11dad04ba6a477a35b45e39f9830
Reviewed-on: https://chromium-review.googlesource.com/388674
Commit-Ready: Kevin Cheng <kevcheng@chromium.org>
Tested-by: Kevin Cheng <kevcheng@chromium.org>
Reviewed-by: Dan Shi <dshi@google.com>

[modify] https://crrev.com/19521983b5d77a557889850ead4447d07595ee14/server/frontend.py
[modify] https://crrev.com/19521983b5d77a557889850ead4447d07595ee14/frontend/afe/rpc_interface.py

Project Member

Comment 8 by bugdroid1@chromium.org, Sep 28 2016

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

commit 2acdd80e517a7203b46a5353cbc39af4a826e762
Author: Kevin Cheng <kevcheng@chromium.org>
Date: Thu Aug 25 22:57:36 2016

[autotest] Update deployment to support duts with servo v4.

Deployments that will deploy with servo v4 will have additional data
required which will be stored in a csv file.  I've updated the
deployment script to take in a csv file and create the host in the AFE
with the appropriate details in the host attributes.

CQ-DEPEND=CL:388674
BUG= chromium:599533 
TEST=locally on moblab, add hosts successfully.

Change-Id: Ib56aa6c1108d6a24bf3f7037044c5388cdca6266
Reviewed-on: https://chromium-review.googlesource.com/376841
Commit-Ready: Kevin Cheng <kevcheng@chromium.org>
Tested-by: Kevin Cheng <kevcheng@chromium.org>
Reviewed-by: Kevin Cheng <kevcheng@chromium.org>

[modify] https://crrev.com/2acdd80e517a7203b46a5353cbc39af4a826e762/site_utils/deployment/commandline.py
[modify] https://crrev.com/2acdd80e517a7203b46a5353cbc39af4a826e762/site_utils/deployment/install.py

Blockedon: 651244
Project Member

Comment 10 by bugdroid1@chromium.org, Oct 1 2016

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

commit 5f2ba6cf0b4617abb5e029cd8210942f2c2ec36f
Author: Kevin Cheng <kevcheng@chromium.org>
Date: Wed Sep 28 17:20:05 2016

[autotest] Update servo_host update to work with labstation as well.

Added a new AFE rpc (retrieve_hosts_by_host_attribute) that returns a list
of dut hostnames that all share the same host attribute values (helper
function to find all duts using the same servo host).

Added a new context manager to lock duts to ensure no duts will
be impacted while rebooting the servo host.

Added a new test servohost_Reboot to handle a synchronized reboot for a
servo host.

CQ-DEPEND=CL:388674
BUG= chromium:599533 
TEST=locally on moblab with 2 duts with the labstation primed for a
reboot.  Checked that:
- no more than 1 servohost_Reboot test got scheduled.
- servohost_Reboot waited for the locked dut to go idle before rebooting
  the servo host.
- all duts were unlocked regardless of failure in servohost_Reboot.

Change-Id: Ie9e1b0ccbf76e1cbcacbbe9737797dbac6559ef8
Reviewed-on: https://chromium-review.googlesource.com/375961
Commit-Ready: Kevin Cheng <kevcheng@chromium.org>
Tested-by: Kevin Cheng <kevcheng@chromium.org>
Reviewed-by: Kevin Cheng <kevcheng@chromium.org>

[add] https://crrev.com/5f2ba6cf0b4617abb5e029cd8210942f2c2ec36f/server/site_tests/servohost_Reboot/servohost_Reboot.py
[modify] https://crrev.com/5f2ba6cf0b4617abb5e029cd8210942f2c2ec36f/server/hosts/servo_host.py
[modify] https://crrev.com/5f2ba6cf0b4617abb5e029cd8210942f2c2ec36f/server/hosts/servo_repair.py
[add] https://crrev.com/5f2ba6cf0b4617abb5e029cd8210942f2c2ec36f/server/site_tests/servohost_Reboot/control
[modify] https://crrev.com/5f2ba6cf0b4617abb5e029cd8210942f2c2ec36f/server/site_utils.py

Project Member

Comment 11 by bugdroid1@chromium.org, Oct 5 2016

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

commit 622b6d101aa7ace0b52cca3174d532a12f24a0dd
Author: Kevin Cheng <kevcheng@chromium.org>
Date: Thu Sep 29 23:04:33 2016

[autotest] Update servo.py to call safe servod usb switch methods.

Currently Servo() can turn on/off the usbkey and switch the directions
while other Servo() instances are trying to probe their usb devices.
Have them call the servod safe_switch_usbkey{_power} to ensure they
don't mess with each other.

Also for deployment, don't timeout while probing for host usb devices
since there could be a bunch of servos trying to detect their usb
devices at the same time.

CQ-DEPEND=CL:391236
BUG= chromium:599533 
TEST=locally with labstation and 3 duts.

Change-Id: Id864b34e482082f330c845a6dbaafb2a7d7f700e
Reviewed-on: https://chromium-review.googlesource.com/391176
Commit-Ready: Kevin Cheng <kevcheng@chromium.org>
Tested-by: Kevin Cheng <kevcheng@chromium.org>
Reviewed-by: Kevin Cheng <kevcheng@chromium.org>

[modify] https://crrev.com/622b6d101aa7ace0b52cca3174d532a12f24a0dd/server/cros/servo/servo.py
[modify] https://crrev.com/622b6d101aa7ace0b52cca3174d532a12f24a0dd/site_utils/deployment/install.py

Project Member

Comment 12 by bugdroid1@chromium.org, Oct 7 2016

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

commit ca959d4a90488775101f42a917ce8e14b9d30667
Author: Kevin Cheng <kevcheng@chromium.org>
Date: Fri Oct 07 20:56:47 2016

[autotest] Update deployment to not timeout when probing for usb.

There can be multiple servos probing for their usb devices all at the
same time during deployment.  Don't timeout since we don't want to limit
deployment to 3 duts at a time.

BUG= chromium:599533 
TEST=None

Change-Id: I0b1e6e826d272dfb43f0a246af05e1ac54d2305a
Reviewed-on: https://chromium-review.googlesource.com/395570
Commit-Queue: Kevin Cheng <kevcheng@chromium.org>
Tested-by: Kevin Cheng <kevcheng@chromium.org>
Reviewed-by: Dan Shi <dshi@google.com>

[modify] https://crrev.com/ca959d4a90488775101f42a917ce8e14b9d30667/site_utils/deployment/install.py

Project Member

Comment 13 by bugdroid1@chromium.org, Oct 10 2016

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

commit a22c4a8027e40b1b649a4ea9ce6707a3934dc935
Author: Kevin Cheng <kevcheng@chromium.org>
Date: Fri Oct 07 21:13:25 2016

[autotest] Update servo.py to call safe servod usb switch methods.

Currently Servo() can turn on/off the usbkey and switch the directions
while other Servo() instances are trying to probe their usb devices.
Have them call the servod safe_switch_usbkey{_power} to ensure they
don't mess with each other.

BUG= chromium:599533 
TEST=locally with labstation and 3 duts.

Change-Id: I8dd570442b2a85ea5d04100e206a0c0f81f3280d
Reviewed-on: https://chromium-review.googlesource.com/395514
Commit-Queue: Kevin Cheng <kevcheng@chromium.org>
Tested-by: Kevin Cheng <kevcheng@chromium.org>
Reviewed-by: Dan Shi <dshi@google.com>

[modify] https://crrev.com/a22c4a8027e40b1b649a4ea9ce6707a3934dc935/server/cros/servo/servo.py

Project Member

Comment 14 by bugdroid1@chromium.org, Oct 14 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/hdctools/+/85831330fe574d2487266b60a36669fe3587fca5

commit 85831330fe574d2487266b60a36669fe3587fca5
Author: Kevin Cheng <kevcheng@chromium.org>
Date: Thu Oct 13 20:14:44 2016

servod: Add in a probe_timeout arg to the download_image_to_usb RPC.

During deployment, the image dut step downloads the image to the usb, if
there are more than 3 duts trying to do so, the duts over 3 will timeout
trying to probe for a usb device and fail.  Deployments will
generally have more than 3 duts so give the option to disable the timeout
for the probe call.

BUG= chromium:599533 
TEST=on servo host with 8 servo v4 trying to image the drive, none of
them timed out when timeout was disabled.

Change-Id: I0da0689815fdd09534c332dac15ac7ae86eb1f7a
Reviewed-on: https://chromium-review.googlesource.com/398282
Commit-Ready: Kevin Cheng <kevcheng@chromium.org>
Tested-by: Kevin Cheng <kevcheng@chromium.org>
Reviewed-by: Dan Shi <dshi@google.com>

[modify] https://crrev.com/85831330fe574d2487266b60a36669fe3587fca5/servo/servo_server.py

Project Member

Comment 15 by bugdroid1@chromium.org, Oct 14 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/cbb6456f5e7e6cc5c482fadaed522bcb6bee8960

commit cbb6456f5e7e6cc5c482fadaed522bcb6bee8960
Author: Kevin Cheng <kevcheng@chromium.org>
Date: Thu Oct 13 17:22:44 2016

autotest-server-tests: Add servohost_reboot to the package.

BUG= chromium:599533 
TEST=None

Change-Id: I43a855481e9986ca297c544c5dc158ee75715c40
Reviewed-on: https://chromium-review.googlesource.com/398178
Commit-Ready: Kevin Cheng <kevcheng@chromium.org>
Tested-by: Kevin Cheng <kevcheng@chromium.org>
Reviewed-by: Dan Shi <dshi@google.com>

[modify] https://crrev.com/cbb6456f5e7e6cc5c482fadaed522bcb6bee8960/chromeos-base/autotest-server-tests/autotest-server-tests-9999.ebuild

Project Member

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

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

commit 5526590b3fd18b333bdb58a7dbcf86c6e83fd582
Author: Kevin Cheng <kevcheng@chromium.org>
Date: Wed Oct 19 19:46:50 2016

[autotest] Add in servohost_Reboot to allow for forced reboots.

Currently servohost_Reboot will only reboot if an update is needed,
there are other cases where a reboot is needed to repair a servo.  Allow
that option.

BUG= chromium:599533 
TEST=locally on moblab, celes, labstation

Change-Id: I402e22871fabc11ede51cb156836e231b0b694ed
Reviewed-on: https://chromium-review.googlesource.com/400964
Commit-Ready: Kevin Cheng <kevcheng@chromium.org>
Tested-by: Kevin Cheng <kevcheng@chromium.org>
Reviewed-by: Dan Shi <dshi@google.com>

[modify] https://crrev.com/5526590b3fd18b333bdb58a7dbcf86c6e83fd582/server/hosts/servo_host.py
[modify] https://crrev.com/5526590b3fd18b333bdb58a7dbcf86c6e83fd582/server/hosts/servo_repair.py
[modify] https://crrev.com/5526590b3fd18b333bdb58a7dbcf86c6e83fd582/server/site_tests/servohost_Reboot/servohost_Reboot.py
[add] https://crrev.com/5526590b3fd18b333bdb58a7dbcf86c6e83fd582/server/site_tests/servohost_Reboot/control.force_reboot

Comment 17 by dchan@chromium.org, Oct 26 2016

Labels: servov4
Project Member

Comment 18 by bugdroid1@chromium.org, Oct 26 2016

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

commit ba9c9a35f792c7b8c72207f6d8573f350628a991
Author: Kevin Cheng <kevcheng@chromium.org>
Date: Tue Oct 25 22:00:42 2016

[autotest] Update deployment script with new csv format.

BUG= chromium:599533 
TEST=None

Change-Id: I79874077107a12d73025ecb203c5c511904717be
Reviewed-on: https://chromium-review.googlesource.com/403212
Commit-Ready: Kevin Cheng <kevcheng@chromium.org>
Tested-by: Kevin Cheng <kevcheng@chromium.org>
Reviewed-by: Kevin Cheng <kevcheng@chromium.org>
Reviewed-by: Haowei Wang <haoweiw@chromium.org>

[modify] https://crrev.com/ba9c9a35f792c7b8c72207f6d8573f350628a991/site_utils/deployment/commandline.py

Project Member

Comment 19 by bugdroid1@chromium.org, Oct 28 2016

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

commit 79589980308c023b6dbfcece379d72efd505fbfc
Author: Kevin Cheng <kevcheng@chromium.org>
Date: Tue Oct 25 20:26:04 2016

[autotest] Update servo host reboot to talk to cautotest directly.

I've seen the create_job afe call fail which causes the test job to fail.
We don't want that to happen so let's catch that exception and log it
and just have another dut schedule the reboot for us.

The afe create_job call fails because it looks like the 'create_job' rpc
returns with an ID that is not yet available when get_jobs is called and
so it returns an empty list and we try to index that and raise an
IndexError.  This looks to be caused by calling the shard instead of
cautotest directly so also change the afe to call cautotest as well.

https://pantheon.corp.google.com/storage/browser/chromeos-autotest-results/82555879-kevcheng/chromeos6-row1-rack2-host5/debug

BUG= chromium:599533 
BUG= chromium:659720 
TEST=None.

Change-Id: I77c7b2b96ffa3b7a9ea2ee7a1c0960c4f9065ba4
Reviewed-on: https://chromium-review.googlesource.com/403290
Commit-Ready: Kevin Cheng <kevcheng@chromium.org>
Tested-by: Kevin Cheng <kevcheng@chromium.org>
Reviewed-by: Kevin Cheng <kevcheng@chromium.org>

[modify] https://crrev.com/79589980308c023b6dbfcece379d72efd505fbfc/server/hosts/servo_host.py

Status: Started (was: Untriaged)
Project Member

Comment 21 by bugdroid1@chromium.org, Nov 23 2016

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

commit 0685c7ff5e32c52e3eaf0a4fa2e06729103a18af
Author: Kevin Cheng <kevcheng@chromium.org>
Date: Wed Nov 02 16:50:04 2016

[autotest] deployment: Update host attributes if afe_host exists.

If we deploy a host that already exists in the AFE then we can never
update the host attributes.  This sucks because if you deploy with some
bad info (wrong servo serial, etc), you'll have to manually fix it in
the AFE.  Rerunning the deploy with updated host attributes in the csv
file won't fix the fields.  This fix allows for that to happen.

BUG= chromium:599533 
TEST=Deployed to a dut that already existed on AFE and saw host
attributes updated to new values.

Change-Id: If78ec65fb8174197736358754cb43886cf0d3647
Reviewed-on: https://chromium-review.googlesource.com/406451
Commit-Ready: Nicolas Boichat <drinkcat@chromium.org>
Tested-by: Kevin Cheng <kevcheng@chromium.org>
Reviewed-by: Kevin Cheng <kevcheng@chromium.org>

[modify] https://crrev.com/0685c7ff5e32c52e3eaf0a4fa2e06729103a18af/site_utils/deployment/install.py

Status: Fixed (was: Started)

Comment 23 by dchan@google.com, Apr 17 2017

Labels: VerifyIn-59

Comment 24 by dchan@google.com, May 30 2017

Labels: VerifyIn-60
Labels: VerifyIn-61

Comment 26 by dchan@chromium.org, Oct 14 2017

Status: Archived (was: Fixed)

Sign in to add a comment