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

Issue 761227 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 680674
issue 741043



Sign in to add a comment

Figure out why GoldenEye does not have coral models added

Project Member Reported by sjg@chromium.org, Sep 1 2017

Issue description

Release build metadata ingestion should cause GoldenEye to add new models for those that it sees in the master configuration.

However there are no models created at present. We should figure out why.
 
Cc: adurbin@chromium.org

Comment 2 by sjg@chromium.org, Sep 1 2017

Blocking: 680674

Comment 3 by sjg@chromium.org, Sep 1 2017

This is due to coral using shared firmware. We don't support that properly in cbuildbot.

My thoughts:
- Update chromeos-firmwareupdate to produce more useful output in this case (it needs to show the model name somewhere)
- Update commands.GetAllFirmwareVersions() to return information for shared firmware
- Check that GoldenEye then ingests it correctly (likely it will)

Comment 4 by sjg@google.com, Sep 1 2017

Blocking: 741043

Comment 5 by sjg@google.com, Sep 1 2017

Status: Started (was: Available)
I have CLs up for the first two.

However we need to be careful with the naming for coral. I'll do a CL to tidy that up before submitting the fix.

https://chromium-review.googlesource.com/c/chromiumos/platform/firmware/+/645908
https://chromium-review.googlesource.com/c/chromiumos/chromite/+/647248

Cc: nsanders@chromium.org
just a thought, wouldn't it be better in general if models were defined in GE first and then go to the other way instead of pulling the info out from an image? I'm especially thinking of the most basic form of WL device. I know the discussion is ongoing, but if we had a way to click together the info in GE frontend that a device is the most basic form of WL (all identical to some model except for the FW root key), the required changes in the (mosys) code could be generated without further human involvement (except review). Then a TAM can just add a new WL device by adding a new entry on GE and we're done, practically no involvement from PE or anybody else required.
Longer term aspiration maybe, but worthwhile imho.

Just to be clear, that doesn't mean we should not be fixing the current snafu to keep us going.
Yes, long term we need to instantiate a 'device' from the beginning in our infrastructure. Then and only then would we could automatically create the changes necessary. That requires us to model (I hate the english language) the relationships we have at the physical level as well as the partner level. We don't have those things as first class citizens yet. Furthermore, it also requires a formal tying of components and details (2nd sourcing, etc) within that same infrastructure. I've had had quite a few ideas around this, and nsale@ is trying to drive something related. But I think we're a ways off. Let me know if anyone would like to brainstorm about all of this. I think it's something we definitely need.
Project Member

Comment 8 by bugdroid1@chromium.org, Sep 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/firmware/+/7b044f15360fa0a1e91004ecd2272b2176d291d0

commit 7b044f15360fa0a1e91004ecd2272b2176d291d0
Author: Simon Glass <sjg@chromium.org>
Date: Fri Sep 01 19:39:21 2017

pack_firmware: Show the model name in the versions file

At present for shared firmware we list all the firmware versions but there
is no indication of which model they are for. Previously this was obvious
since it was part of the version name:

BIOS version: Google_Reef.9042.50.0

With shared firmware, we can have a situation where all models use the
same firmware and thus have the same line above.

Add a new line which shows the model, so we have, for example:

Model:        reef
BIOS image:   99a6fc64e45596aa2c1a9911cddce952 */models/reef/image.bin
BIOS version: Google_Reef.9042.50.0
EC image:     60c08e5aefa3a660687c7027d1358df0 */models/reef/ec.bin
EC version:   reef_v1.1.5857-77f6ed7

Model:        pyro
BIOS image:   409974485838ed7beb199b42892ba948 */models/pyro/image.bin
BIOS version: Google_Pyro.9042.41.0
EC image:     752de0224d5b3bae77d12534d3df8038 */models/pyro/ec.bin
EC version:   pyro_v1.1.5840-f0d7761

Model:        electro
BIOS image:   99a6fc64e45596aa2c1a9911cddce952 */models/reef/image.bin
BIOS version: Google_Reef.9042.50.0
EC image:     60c08e5aefa3a660687c7027d1358df0 */models/reef/ec.bin
EC version:   reef_v1.1.5857-77f6ed7

Here, electro uses the reef firmware, but it is obvious that this is the
case.

BUG= chromium:761227 
TEST=PYTHONPATH=~/c python pack_firmware_unittest.py && \
PYTHONPATH=~/c python pack_firmware_functest.py
Signed-off-by: Simon Glass <sjg@chromium.org>

Change-Id: Ifd81b2d011fd0b6c0d59b68864edce5d1952ad10
Reviewed-on: https://chromium-review.googlesource.com/645908
Commit-Ready: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: C Shapiro <shapiroc@google.com>

[modify] https://crrev.com/7b044f15360fa0a1e91004ecd2272b2176d291d0/pack_firmware_functest.py
[modify] https://crrev.com/7b044f15360fa0a1e91004ecd2272b2176d291d0/pack_firmware.py

Comment 9 by sjg@chromium.org, Sep 8 2017

This CL is going in first:

https://chrome-internal-review.googlesource.com/c/chromeos/overlays/overlay-coral-private/+/445572

Assuming no problems, then I will submit:

https://chromium-review.googlesource.com/c/chromiumos/chromite/+/647248

After that, I believe GoldenEye will pick up the models automatically. If not I will take another look.
Project Member

Comment 10 by bugdroid1@chromium.org, Sep 8 2017

Project Member

Comment 11 by bugdroid1@chromium.org, Sep 11 2017

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

commit 5423afc1e104b3d52290a3c317c0cafc80df0aa4
Author: Simon Glass <sjg@chromium.org>
Date: Mon Sep 11 18:14:28 2017

Support shared firmware when reading version information

At present we assume that the EC filename corresponds to the model. For
shared firmware that is not true, since one several models will use the
same EC binary.

Now that we have explicit model information available in the firmware
updater we can use that instead. Update the code to do this.

BUG= chromium:761227 
TEST=./build_status_unittest
CQ-DEPEND=CL:645908

Change-Id: I746b1d719f73197c1b2da81cfa8277c966b246cc
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/647248

[modify] https://crrev.com/5423afc1e104b3d52290a3c317c0cafc80df0aa4/cbuildbot/stages/build_stages_unittest.py
[modify] https://crrev.com/5423afc1e104b3d52290a3c317c0cafc80df0aa4/cbuildbot/commands.py
[modify] https://crrev.com/5423afc1e104b3d52290a3c317c0cafc80df0aa4/cbuildbot/commands_unittest.py

Project Member

Comment 12 by bugdroid1@chromium.org, Sep 13 2017

Comment 13 by sjg@chromium.org, Sep 18 2017

Status: Fixed (was: Started)
This looks correct now

Sign in to add a comment