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

Issue 613692 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug



Sign in to add a comment

Use regular releases (Omaha) for lab servo updates.

Project Member Reported by dgarr...@chromium.org, May 20 2016

Issue description

Currently, we are rolling out own system for pushing servo software updates.

Why don't we instead use the release mechanism that we have already built and are maintaining for ChromeOS devices?
 
Cc: de...@chromium.org
General idea:
  Switch devices from test image to signed releases.
  Use GE UI to decide which versions to release.
    Small percentage test releases are possible.
  Paygen can now generate delta payloads.
  Paygen payload testing can be used to validate updates.
    Requires some beaglebone duts.
  P2P will reduce usage as well as upstream bandwidth usage.
    Standard UE mechanism will also stagger update processes.
Deymo, did we ever enable P2P for the general population, or is it only enabled via corporate policy?

Comment 3 by de...@chromium.org, May 20 2016

It is disabled by default on non-enterprise enrolled devices; but enabled by default on enterprise enrolled devices (and the enterprise can turn it off if they want).

For non-enterprise enrolled devices, it can be turned on locally with:

update_engine_client --p2p_update=yes

(or equivalent crosh command on chromebooks). The setting is stored in stateful, so stateful wipes will delete it.

Comment 4 by autumn@chromium.org, May 23 2016

Labels: -current-issue
Cc: bhthompson@chromium.org
There is a current emergency because we need to release a beaglebone update, but the current beaglebone specific process is broken (and nobody knew). I think that argues in favor of making this switch.

What is the process to start signing for beaglebone images?
This should be just a couple of CLs:

1. We need to get keys generated and referenced, a CL like https://chrome-internal-review.googlesource.com/248454 with vapier@ as a reviewer should get that done (he actually generates keys and puts them on the signer).

2. We enable signing by adding signing instructions, something like https://chrome-internal-review.googlesource.com/251664

With these we should start trying to sign artifacts, for Beaglebone in particular I am not sure if other stuff might break, the signer may have assumptions about the contents of the image which might not work in this case, but we can certainly enable it and give it a go. 

Is the build target in question beaglebone or beaglebone_servo (or both)?
I believe we only need beaglebone_servo.
Cc: akes...@chromium.org
Cc: vapier@chromium.org
The below CLs should do it:

https://chrome-internal-review.googlesource.com/#/c/260517/
https://chrome-internal-review.googlesource.com/#/c/260437/
https://chromium-review.googlesource.com/#/c/347027/

Not sure if we care if normal beaglebone has an appid, currently I set it that way, it is probably not going to be used or needed to be split unless we want separate AUs for beaglebone vs beaglebone_servo vs beaglebone_foo.
Cc: nxia@chromium.org
Since Ningning was interested in this, and may work on it, copying her.

I think the steps here are:

1) Enable Signing.
2) Turn on Paygen and HWTests in the beaglebone_servo build config.
3) Get Richard to setup some beaglebone DUTs in the lab.
4) Fix breakages.
5) Work out a plan to minimize bandwidth usage, possibly by enabling P2P as mentioned about.
6) Get some people on our team (like Richard) setup to manage releases to this board.
7) Push out a signed payload update using Richard's release mechanism.
8) Update the standard image used to reimage bad servos to be a signed image.
There are lab tool changes implicated as well.  Most notably:
  * update_beaglebone
  * create_beaglebone_images

Project Member

Comment 14 by bugdroid1@chromium.org, May 25 2016

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/chromeos/cros-signing/+/73071cb0b9827a5b0780658f0b56d90b38dd1494

commit 73071cb0b9827a5b0780658f0b56d90b38dd1494
Author: Bernie Thompson <bhthompson@google.com>
Date: Wed May 25 00:56:54 2016

Project Member

Comment 16 by bugdroid1@chromium.org, May 26 2016

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/chromeos/crostools/+/fefaf76851efddad57b110e1c3a58683d847101e

commit fefaf76851efddad57b110e1c3a58683d847101e
Author: Bernie Thompson <bhthompson@google.com>
Date: Wed May 25 01:00:04 2016

Cc: kevcheng@chromium.org
Project Member

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

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/2f8b66e0c95fa206dbb323ab4e7b5fa81f48e7f6

commit 2f8b66e0c95fa206dbb323ab4e7b5fa81f48e7f6
Author: Don Garrett <dgarrett@google.com>
Date: Wed May 25 20:04:54 2016

chromeos_config: Enable siging/paygen for beaglebone.

Since we are enabling signing for beaglebone, we don't need as many
specialized settings. Make them look more like normal release builders.

BUG=chromium:613692
TEST=run_tests

Change-Id: I68ed8bcaa41f0e546a879b38d1305c49e4fc221e
Reviewed-on: https://chromium-review.googlesource.com/347411
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Ningning Xia <nxia@chromium.org>

[modify] https://crrev.com/2f8b66e0c95fa206dbb323ab4e7b5fa81f48e7f6/cbuildbot/config_dump.json
[modify] https://crrev.com/2f8b66e0c95fa206dbb323ab4e7b5fa81f48e7f6/cbuildbot/chromeos_config.py

Project Member

Comment 19 by bugdroid1@chromium.org, May 27 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/board-overlays/+/8f2d64547e82577a65400450c38831c2d9f7c332

commit 8f2d64547e82577a65400450c38831c2d9f7c332
Author: Richard Barnette <jrbarnette@chromium.org>
Date: Fri May 27 14:48:47 2016

Revert "Give beaglebone_servo builds an appid"

This reverts commit ba13129a037183a4b8e79a37fffd62da085fc873.

The beaglebone canary started failing when this landed, and
I don't believe in _that_ coincidence.

BUG=chromium:613692, chromium:615400 
TEST=build_packages --board=beaglebone_servo

Change-Id: Ifafb8fb6befb487e33c049baca19f6e81018b2c2
Reviewed-on: https://chromium-review.googlesource.com/347466
Commit-Queue: Richard Barnette <jrbarnette@chromium.org>
Tested-by: Richard Barnette <jrbarnette@chromium.org>
Reviewed-by: Richard Barnette <jrbarnette@google.com>

[rename] https://crrev.com/8f2d64547e82577a65400450c38831c2d9f7c332/overlay-variant-beaglebone-servo/chromeos-base/chromeos-bsp-beaglebone_servo/chromeos-bsp-beaglebone_servo-1-r9.ebuild
[modify] https://crrev.com/8f2d64547e82577a65400450c38831c2d9f7c332/overlay-variant-beaglebone-servo/chromeos-base/chromeos-bsp-beaglebone_servo/chromeos-bsp-beaglebone_servo-1.ebuild

Owner: ----
Status: Available (was: Untriaged)
I ain't opposed to owning this, but I ain't claiming it right
now, neither.

Owner: dgarr...@chromium.org
Project Member

Comment 22 by bugdroid1@chromium.org, May 28 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/140730f9a0487f4218bb73ba0b8ed8871eb1ea71

commit 140730f9a0487f4218bb73ba0b8ed8871eb1ea71
Author: Richard Barnette <jrbarnette@chromium.org>
Date: Fri May 27 14:45:26 2016

Revert "chromeos_config: Enable siging/paygen for beaglebone."

This reverts commit 2f8b66e0c95fa206dbb323ab4e7b5fa81f48e7f6.

The beaglebone canary started failing the SignerTest when this
landed.

BUG=chromium:613692, chromium:615403 

Change-Id: Ie43be61f4bc8e7edb51738dcbad842ac7cada2bc
Reviewed-on: https://chromium-review.googlesource.com/347609
Commit-Ready: Richard Barnette <jrbarnette@chromium.org>
Tested-by: Richard Barnette <jrbarnette@chromium.org>
Reviewed-by: Richard Barnette <jrbarnette@google.com>

[modify] https://crrev.com/140730f9a0487f4218bb73ba0b8ed8871eb1ea71/cbuildbot/config_dump.json
[modify] https://crrev.com/140730f9a0487f4218bb73ba0b8ed8871eb1ea71/cbuildbot/chromeos_config.py

Project Member

Comment 23 by bugdroid1@chromium.org, May 28 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/board-overlays/+/9001dcab4bb335a4f722081dfeea855a6132358b

commit 9001dcab4bb335a4f722081dfeea855a6132358b
Author: Bernie Thompson <bhthompson@google.com>
Date: Wed May 25 00:54:53 2016

Give beaglebone_servo builds an appid [reland]

Previous version was missing setup of $S leading to install errors.

BUG=chromium:613692
TEST=None

Original-Change-Id: I8d860030e3bbf3af4e82d2f5ccc6e96e1a31326e
Reviewed-on: https://chromium-review.googlesource.com/347027
Commit-Ready: Bernie Thompson <bhthompson@chromium.org>
Tested-by: Bernie Thompson <bhthompson@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

Change-Id: Ifbf98912a94a4d322b4bf8568d97d60133270196
Reviewed-on: https://chromium-review.googlesource.com/347477
Commit-Ready: Bernie Thompson <bhthompson@chromium.org>
Tested-by: Bernie Thompson <bhthompson@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[rename] https://crrev.com/9001dcab4bb335a4f722081dfeea855a6132358b/overlay-variant-beaglebone-servo/chromeos-base/chromeos-bsp-beaglebone_servo/chromeos-bsp-beaglebone_servo-1-r10.ebuild
[modify] https://crrev.com/9001dcab4bb335a4f722081dfeea855a6132358b/overlay-variant-beaglebone-servo/chromeos-base/chromeos-bsp-beaglebone_servo/chromeos-bsp-beaglebone_servo-1.ebuild

Project Member

Comment 24 by sheriffbot@chromium.org, May 29 2017

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue.

Sorry for the inconvenience if the bug really should have been left as Available. If you change it back, also remove the "Hotlist-Recharge-Cold" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Pri-2 -Hotlist-Recharge-Cold Pri-3
Status: Available (was: Untriaged)
Components: Infra>Client>ChromeOS>CI
Components: -Infra>Client>ChromeOS
Owner: jrbarnette@chromium.org
How do Servo V4's get updated?
Owner: ----
> How do Servo V4's get updated?

More or less the same as beaglebone, just with a different board name.

Summary: Use regular releases (Omaha) for lab servo updates. (was: Use regular releases (Omaha) for lab beaglebone servo updates.)
Then I'd still like to see this fixed, but for both. ;>

Comment 31 by nxia@chromium.org, Jun 8 2018

Cc: -nxia@chromium.org

Sign in to add a comment