Implement CPU autoreplace based on Intel PPIN
Per RFD 137 (https://github.com/joyent/rfd/blob/master/rfd/0137/README.md) we'd like to be able to implement CPU based autoreplace based on the Intel PPIN functionality when available in the system. This change covers adding the ability to detect that and adds support to FM to include this synthesized serial number as a serial number.
One important side effect of this as per the RFD is that we need to make sure that we don't consider the CPU FMRI replaced unless both the faulted and non-faulted versions both have a valid synthesized serial number.
To test this I injected faults in a number of different circumstances and switched platforms images between versions before this change, those with this change and the normal ID, those with this change and the ID disabled, and those with this change and a forcibly overwritten ID.
The different cases we tested were:
Pre-change -> Pre-change (fault persists)
post w/ label -> post w/o label (fault persists)
Post w/label -> pre-change (fault persists)
post w/label -> post w/ same label (fault persists)
Post w/label -> Post w/ new label (fault clears)
Post w/label -> post w/o label -> post w/ same label (fault persists)
Post w/label -> post w/o label -> post w/ new label (fault clears)
Post w/o label -> pre w/o label -> post w/label (fault persists)
I also went through and tested what happened when the BIOS locks this as was the case on certain platforms.
Updated by Electric Monk about 1 year ago
- Status changed from New to Closed
commit 2a613b5974ae49c8b068a3998ff554f8c6f0f593 Author: Robert Mustacchi <email@example.com> Date: 2019-01-10T16:48:20.000Z 9747 Implement CPU autoreplace based on Intel PPIN Reviewed by: Jerry Jelinek <firstname.lastname@example.org> Reviewed by: Rob Johnston <email@example.com> Reviewed by: Richard Lowe <firstname.lastname@example.org> Approved by: Dan McDonald <email@example.com>