From f02a17a558b9e6745a8d5577601e295fd6058797 Mon Sep 17 00:00:00 2001 From: Spyros Seimenis Date: Mon, 17 Aug 2026 13:47:43 +0300 Subject: [PATCH 1/2] dev-docs: note that bare-metal runner specs go stale The values in dev-docs/e2e//manifest.json read as one-time setup, but a firmware update invalidates them. It regenerates the platform's SGX keys, which changes the PIID and leaves the host unable to produce quotes until it's registered with Intel again, and swapping the TDX module changes MrSeam. Signed-off-by: Spyros Seimenis --- dev-docs/e2e/bare-metal-runner.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/dev-docs/e2e/bare-metal-runner.md b/dev-docs/e2e/bare-metal-runner.md index 0fa7e3f76b9..0793ed1eca2 100644 --- a/dev-docs/e2e/bare-metal-runner.md +++ b/dev-docs/e2e/bare-metal-runner.md @@ -336,6 +336,11 @@ Add a file [`dev-docs/e2e//manifest.json`](../e2e) with the values for the If the runner is using k3s and the embedded mirror registry, add a corresponding configuration file at `dev-docs/e2e//contrast-imagepuller.toml`. Push the branch and run the `update_bm_tcb_specs` workflow on that branch. +These values aren't set once and forgotten. +Updating a TDX host's firmware regenerates the platform's SGX provisioning keys, which changes the PIID, so `AllowedPIIDs` goes stale and the platform has to be registered with Intel again before it can produce quotes at all. +Replacing the TDX module changes `MrSeam`. +Both are covered in the wiki under `infrastructure/firmware_upgrade.md`. + ## Sync Server **This step only applies to servers owned by Edgeless Systems that don't have an application load balancer.** From aaa4221650a359480dba306705c246c475a0dfb5 Mon Sep 17 00:00:00 2001 From: Spyros Seimenis Date: Mon, 17 Aug 2026 15:10:32 +0300 Subject: [PATCH 2/2] docs: warn that firmware updates invalidate TDX reference values Updating platform firmware can regenerate a TDX host's SGX provisioning keys. The platform then has a new PPID, QE ID and PIID, Intel won't issue PCK certificates for it until it's registered again, and the host can't produce quotes at all until then. MrSeam and AllowedPIIDs both go stale. Nothing in the docs said so, and it isn't obvious from the failure: the host boots normally, TDX initialises, and only quote generation breaks. --- docs/docs/architecture/components/manifest.md | 9 +++++++++ docs/docs/howto/cluster-setup/bare-metal.md | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/docs/docs/architecture/components/manifest.md b/docs/docs/architecture/components/manifest.md index 2192f43e3f9..3e4e2e50cc4 100644 --- a/docs/docs/architecture/components/manifest.md +++ b/docs/docs/architecture/components/manifest.md @@ -347,6 +347,15 @@ The following command will print a JSON document, containing the hex-encoded PII cut -d, -f6 pckid_retrieval.csv | poe-gen-tool extract --type pm /dev/stdin ``` +:::warning + +The `PIID` is derived from the platform's SGX provisioning keys. +Updating the platform firmware can regenerate those keys, which changes the `PIID` and requires the platform to be registered with Intel again. +Until it's registered, Intel doesn't issue PCK certificates for the platform, so it can't produce quotes at all. +After a firmware update, re-extract the `PIID` and update this list. + +::: + ### `ReferenceValues.tdx.*.MemoryIntegrity` {#tdx-memory-integrity} The `MemoryIntegrity` field controls verification of the TDX memory integrity mode (see [TDX Module Spec], chapter 16). diff --git a/docs/docs/howto/cluster-setup/bare-metal.md b/docs/docs/howto/cluster-setup/bare-metal.md index abb0f8c90c7..ed32cf8c125 100644 --- a/docs/docs/howto/cluster-setup/bare-metal.md +++ b/docs/docs/howto/cluster-setup/bare-metal.md @@ -46,6 +46,15 @@ Follow Intel's [TDX Enabling Guide](https://cc-enabling.trustedservices.intel.co When deciding to update the Intel TDX module, be aware that the latest module might be incompatible with your CPU or host firmware. Make sure to keep a backup of all files you're overwriting in this step until you're sure that the new module works correctly. +:::warning + +Updating platform firmware can regenerate the platform's SGX provisioning keys, giving the platform a new PPID, QE ID and `PIID`. +Intel doesn't issue PCK certificates for an unregistered platform, so the host can't produce attestation quotes and confidential VMs fail to start. + +After a firmware update, register the platform again using Intel's `PCKIDRetrievalTool`, then update the [`MrSeam`](../../architecture/components/manifest.md#tdx-mr-seam) and [`AllowedPIIDs`](../../architecture/components/manifest.md#tdx-allowed-piids) values in your manifest, since a firmware update can change both. + +::: +