-
Notifications
You must be signed in to change notification settings - Fork 207
Enable measurement handoff on all production boards #2192
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
I have now tested this out on London. Executive summaryGimlet, Sidecar, and PSC all work as expected. Cosmo failed to update the RoT for Mysterious Reasons. Summary for middle management
I also tested on Sidecar and PSC. In both of these cases, we can't directly check measurements, so I just examined timing. Behavior was the same as the Gimlet, matching my expectations:
This is all well and good, except for Cosmo: the SP on Cosmo dropped off the face of the earth while I was updating the RoT image. Unclear if this is a resurgence of #2157 or something else. Attempts to recover it with Ignition failed due to oxidecomputer/quartz#401 , so we're waiting for someone to physically re-rack the sled (BRM13250012). Exhaustive testing logClaim a rack and check versions
matt@castle ~ $ pilot -rlondon sp ls
MAC SERIAL TYPE IMAGE IP
a8:40:25:04:02:02 BRM42220036 gimlet 60632b36bb64fc92 fe80::aa40:25ff:fe04:202
a8:40:25:04:02:47 BRM42220030 gimlet 64f0ebe7051dc11f fe80::aa40:25ff:fe04:247
a8:40:25:04:04:02 BRM13250012 cosmo 031a9e9e596d94c6 fe80::aa40:25ff:fe04:402
a8:40:25:04:0c:86 BRM22250001 cosmo 031a9e9e596d94c6 fe80::aa40:25ff:fe04:c86
a8:40:25:05:07:00 BRM44220013 sidecar dcf1e97ab2e9971d fe80::aa40:25ff:fe05:700
a8:40:25:05:27:00 BRM31230004 sidecar 710e93a75e01c3c5 fe80::aa40:25ff:fe05:2700
a8:40:25:06:01:08 BRM11230017 psc 02babcfe6bda5b41 fe80::aa40:25ff:fe06:108 Great, this rack has all of the required hardware for testing. Let's get pilot -rlondon sp exec -e "read-component-caboose --component sp NAME" BRM42220036
# repeat for other serials
Read the measurement log from a Gimlet
Let's target First, I need a way to check for measurements. Let's build
Then, copy it to the Gimlet:
Note that there are no measurements! Reset a Gimlet SP and see what happensWe expect that if we reset the SP, it should reboot with a measurement (because
Now, we expect measurements to exist because we reset the SP while the RoT Re-enable the tp beacon so we can find it again:
That's not sufficient, we also have to do this:
...and we apparently have to run it twice for it to work. Okay, now running
This is Working As Expected Power-cycle the whole sled and see what happensWe expect the SP to come up without measurements, because it boots faster than We are targeting is BRM42220030 in cubby 16, which is Ignition Target 4 (RFD Here's a Sidecar SP (gotten through
It sees the Gimlet at target 4:
Time to say good night:
...now, we wait for it to reboot Sure enough, no measurements.
Build SP images and copy them to
|
48f6555
to
1a549ad
Compare
1a549ad
to
5f436b1
Compare
Testing on Cosmo BRM22250001 after #2211, this seems to work. After flashing just the new SP firmware, the SP takes ~26 seconds to complete a reset. This is indicative of resetting multiple times (and being measured by the RoT each time). After flashing the new RoT firmware, SP reset time drops to 8 seconds, indicating that the RoT is interrupting the reset loop with a measurement token. |
5f436b1
to
79099b5
Compare
79099b5
to
695a51f
Compare
Follow-up to oxidecomputer#2138 This PR enables the measurement token handoff on remaining Oxide boards: - Gimlet (except rev B) - Sidecar - PSC - Cosmo See the PR comments for an exhaustive testing log!
Follow-up to oxidecomputer#2138 This PR enables the measurement token handoff on remaining Oxide boards: - Gimlet (except rev B) - Sidecar - PSC - Cosmo See the PR comments for an exhaustive testing log!
Follow-up to #2138
Opening as a draft so I can test this out on the relevant systems.