Skip to content

Commit f44710d

Browse files
committed
docs: record v0.5.11 VMM in-place upgrade
1 parent 3992c18 commit f44710d

5 files changed

Lines changed: 29 additions & 8 deletions

File tree

docs/test-plans/v0.6.0/reports/00-summary.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
发布预览版前仍必须关闭以下 P0 门禁:
1212

13-
1. 完成 COMP-02 的 VMM 原地升级和 COMP-10 的物理 host reboot;COMP-07 的同 app 双版本并行隔离及 COMP-08/09 的 guest image upgrade/rollback 与 policy deny/recovery 已补测通过
13+
1. 完成 COMP-01 的全 old service baseline 和 COMP-10 的物理 host reboot;COMP-02 的 v0.5.11→current VMM process 原地切换、COMP-07 的同 app 双版本并行隔离及 COMP-08/09 的 guest image upgrade/rollback 与 policy deny/recovery已补测通过
1414
2. 若发布门禁坚持要求 v0.5.11 KMS/Gateway/VMM,需先提供 release 未包含的可追溯 service artifacts;当前已完成的是确切 v0.5.11 guest 与 0.5.8→current service rolling upgrade;
1515
3. 对真实 NVIDIA、GCP TDX、AWS NitroTPM、AMD SEV-SNP 环境完成硬件证明负向测试;
1616
4. 处理或接受构建与依赖风险清单中的发布风险。

docs/test-plans/v0.6.0/reports/01-environment-and-artifacts.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ release 构建成功的目标:
4949
| meta-dstack v0.5.11 archive | `dstack-0.5.11.tar.gz`; SHA-256 `6f95a2a0b59975780e6f5d8bfbf016d50148092889554e4f8272c401ee549e42` |
5050
| v0.5.11 guest image | `dstack-0.5.11`; measurement/digest `c2aa0186182fe8a404f16d5f3facb334d89be32703b3571c401b114a8b6e700d` |
5151
| v0.5.11 source revision | `ce04e924e17e3cb9d38d258338cbe71e8c08d575` |
52+
| dstack VMM v0.5.11 | tag commit `40eaf35e6b3f112998d01569f2a26110baab123b`; locally built binary SHA-256 `513ccf2f6d2860df985b8cc3e6cf471e144f5c79c468a0abc17b3004f357c9ab` |
5253
| current guest image | `dstack-0.6.0`; measurement/digest `91bc72e3ca6f283cc0549d761ee436d381d1e8c4ddc4c23354e05c9bbccfdec1` |
5354
| old KMS container | `dstacktee/dstack-kms:0.5.8@sha256:9650dcb47dad0065470f432f00e78e012912214ef1a5b1d7272918817e61a26d` |
5455
| old Gateway container | `dstacktee/dstack-gateway:0.5.8@sha256:6eb1dc1a5000f37cc5b0322d3fdb71e7f2e31859b5e3a611634919278cee2411` |
@@ -58,3 +59,13 @@ release 构建成功的目标:
5859
`AESM_NO_PLATFORM_CERT_DATA`(error 44)。改用已为本机完成 provisioning 的本地
5960
PCCS 后,同一 production SGX enclave 稳定健康。该变化是测试基础设施修复,不是
6061
关闭证明校验或使用 mock Local-Key-Provider。
62+
63+
可复核的 quote、quote-derived measurement/device ID、KMS identity/app key、exact
64+
allowlist 与 HA summary 被选择性保存到:
65+
66+
```text
67+
/home/kvin/src/dstack-v060-artifacts/evidence/real-tdx-lkp/
68+
```
69+
70+
目录内 `SHA256SUMS` 固化各证据文件;未把测试 token、environment secret 或私钥纳入
71+
证据包。

docs/test-plans/v0.6.0/reports/06-tdx-upgrade-compatibility-report.md

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,12 @@ KMS/Gateway 兼容测试。
7171
13. 额外部署与 legacy VM 使用相同 app ID/compose、但使用 current OS image 的 CVM;
7272
两者同时通过两个 Gateway 可达,instance ID 不同,数据盘 UUID 分别为
7373
`8ef37605-...``638afe4b-...`;同 app 的 key 相同,而不同 app 的 key 不同。
74+
14. 从 dstack tag `v0.5.11``40eaf35e...`)构建 VMM(binary SHA-256
75+
`513ccf2f...57c9ab`),由它创建并运行 v0.5.11 guest;将 VMM process 切换为
76+
current、复用同一 detached supervisor 后,QEMU PID `112717` 未变化、uptime
77+
连续增长、app/instance ID 未变且双 Gateway 路由持续健康。current VMM 可读取
78+
old state;内存态 event history 被重置且 `boot_progress` 显示为 `running`,单独
79+
记录为管理面可观测性边界,不影响运行中 CVM。
7480

7581
原始日志:
7682

@@ -81,14 +87,17 @@ KMS/Gateway 兼容测试。
8187
/home/kvin/src/dstack-v060-artifacts/logs/lkp-persistence-image-upgrade-rollback-evidence.txt
8288
/home/kvin/src/dstack-v060-artifacts/logs/vmm-service-recovery.log
8389
/home/kvin/src/dstack-v060-artifacts/logs/same-app-mixed-image-isolation.log
90+
/home/kvin/src/dstack-v060-artifacts/logs/comp02-vmm-in-place-upgrade-evidence.txt
91+
/home/kvin/src/dstack-v060-artifacts/logs/vmm-0.5.11-upgrade-baseline.log
92+
/home/kvin/src/dstack-v060-artifacts/logs/vmm-current-after-0.5.11-upgrade.log
8493
```
8594

8695
## COMP 用例审计
8796

8897
| 用例 | 结论 | 本次覆盖与缺口 |
8998
|---|---|---|
9099
| COMP-01 | PARTIAL | 建立了 old service + v0.5.11 guest 的真实 key/TLS/storage 基线,但 VMM 不是 old,且 KMS/Gateway 基线是 0.5.8 |
91-
| COMP-02 | NOT RUN | 未执行 old→new VMM 原地升级 |
100+
| COMP-02 | PASS | v0.5.11→current VMM process 切换复用同一 supervisor;QEMU PID/identity/uptime 连续且双路由健康 |
92101
| COMP-03 | PASS | v0.5.11 guest 切换 latest KMS 后重新启动、取 key;KMS identity 与 app key 保持 |
93102
| COMP-04 | PASS | v0.5.11 guest 在两个 Gateway 完成 rolling upgrade 后仍可达,DNS/TLS/WireGuard 路径恢复 |
94103
| COMP-05 | PASS | latest VMM 创建全新 v0.5.11 image CVM,legacy numeric manifest 被接受,之后可由 latest service 继续服务 |
@@ -102,5 +111,5 @@ KMS/Gateway 兼容测试。
102111

103112
Local-Key-Provider 阻塞已经解除;真实 TDX 证据支持 v0.5.11/current 混合 guest、
104113
Local-Key-Provider KMS onboarding、Gateway rolling upgrade 及密钥/状态连续性。它不支持
105-
把 COMP-01..10 全部写成 PASS:old→latest VMM 原地升级和物理 host reboot 仍缺专项
106-
执行。模拟报告不能替代这些项目。
114+
把 COMP-01..10 全部写成 PASS:COMP-01 的全 old service baseline 与 COMP-10 的
115+
物理 host reboot 仍缺专项执行。模拟报告不能替代这些项目。

docs/test-plans/v0.6.0/reports/07-test-case-matrix.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
| 用例 | 优先级 | 状态 | 本次证据/缺口 |
66
|---|---:|---|---|
77
| COMP-01 | P0 | PARTIAL | 真实 TDX 上建立 old service + v0.5.11 guest 的 key/TLS/storage 基线;VMM 非 old,service baseline 为 0.5.8 |
8-
| COMP-02 | P0 | NOT RUN | 未执行 old→new VMM 原地升级 |
8+
| COMP-02 | P0 | PASS | v0.5.11→current VMM process 切换复用 detached supervisor;QEMU PID、uptime、identity 和双路由连续 |
99
| COMP-03 | P0 | PASS | v0.5.11 guest 切换 latest KMS 并重启;CA SPKI、root k256 key 与 per-app key 保持 |
1010
| COMP-04 | P0 | PASS | v0.5.11 guest 在两个 Gateway rolling upgrade 后仍可达,DNS/TLS/WireGuard 恢复 |
1111
| COMP-05 | P0 | PASS | latest VMM 创建全新 v0.5.11 guest;legacy manifest、取钥、存储与 latest service 路径通过 |
@@ -103,11 +103,11 @@
103103
## 统计
104104

105105
- 总数:95
106-
- PASS: 8
106+
- PASS: 9
107107
- BLOCKED: 7
108108
- FAIL: 1
109109
- FAIL (SIMULATED): 1
110-
- NOT RUN: 36
110+
- NOT RUN: 35
111111
- PARTIAL: 42
112112

113113
真实 TDX rolling-upgrade 的逐项边界见 `06-tdx-upgrade-compatibility-report.md`。确切 v0.5.11 guest 已参与;release 未提供 v0.5.11 service artifacts,且未执行的升级/回滚/host reboot 项不得由相邻 PASS 推断。

docs/test-plans/v0.6.0/reports/08-findings-and-risks.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
| F-14 | High | no-TEE simulator 在 prepare 前读取尚不存在的 `/dstack/.host-shared/.sys-config.json`,缺 seed 后触发 guest reboot loop | 增加 simulator 前置 host-share config mount/copy,修正文档并添加 VMM-to-boot E2E |
1919
| F-15 | Medium | VMM 的 swtpm Unix socket 继承完整 VM 路径,较长 HOME 直接超过 AF_UNIX 限制 | 创建短 runtime socket 或部署前校验并给出可操作错误 |
2020
| F-16 | Test-harness | KMS onboarding 会复制 durable verified-image cache,因此“每个 KMS 必须重新 HTTP GET OS archive”会产生假失败 | PR #820 改为要求每个精确 archive 至少有一次成功 fetch,并结合 exact allowlist、禁止 disabled-verification 路径及 old/current guest 成功取钥判断 |
21+
| F-17 | Low / observability | v0.5.11→current VMM process 切换保持 QEMU/identity/routes,但 current VMM 重载 old state 后 event history 为空、`boot_progress` 显示 `running` 而非切换前的 `done` | 明确 event buffer 是否设计为仅内存态;若 UI/API 要求重启连续性,则持久化或从 supervisor/guest 重建最终 progress |
2122

2223
## Yocto configcheck 特别审计项
2324

@@ -27,4 +28,4 @@
2728

2829
## 发布建议
2930

30-
当前建议:**NO-GO(仅针对宣称完成 v0.6.0 preview 全量门禁)**。Local-Key-Provider 重启持久性、同/不同 app 的 v0.5.11/current 混合 guest、guest image upgrade/rollback 与真实 TDX service rolling upgrade已有正向证据,但 COMP-02、物理 host reboot、真实 GPU/云平台和最终镜像审计仍未完成,不应将报告表述为全量通过。
31+
当前建议:**NO-GO(仅针对宣称完成 v0.6.0 preview 全量门禁)**。Local-Key-Provider 重启持久性、v0.5.11current VMM 原地切换、同/不同 app 的混合 guest、guest image upgrade/rollback 与真实 TDX service rolling upgrade 已有正向证据,但全 old service baseline、物理 host reboot、真实 GPU/云平台和最终镜像审计仍未完成,不应将报告表述为全量通过。

0 commit comments

Comments
 (0)