feat: CHV 审核修复 P2(范围恢复为全做)
P2-1:preflight reuse/CPU/内存校验块小提取为 _preflight_config_checks(纯移动,深耦合处如实停)。 P2-2:build_vm_command 降级为私有 _build_vm_command; Docker goal 内联解析顶部加正典分叉说明 + 同步检查清单。 P2-3:gaps grep 文本断言改成真实 Worker._run_attempt 行为断言。P2-4:README/build.sh 口径对齐(章节顺序、 BUILDINFO 名字列表、Node.js 不装写实)。P2-5:stop_vm 删除失败记审计。P2-6:CPU/内存校验统一进 preflight。 测试:原 84 + 新增 33 = 117 项,mock,无真 VM。
This commit is contained in:
1 parent
9771ed9e8c
commit
445376743d
9 files changed
+169
-44
No files matched your search
@@ -53,7 +53,7 @@
|
||||
宿主在启动前为每 VM 生成一次性 ed25519 host key 对,
|
||||
公钥立即写进该 VM 的 known_hosts 钉死,私钥只进 per-VM
|
||||
cloud-init seed(随 VM 关闭/回收而删),客机镜像硬性
|
||||
要求见 chv-guest/README.md §6(cloud-init NoCloud、
|
||||
要求见 chv-guest/README.md §5(cloud-init NoCloud、
|
||||
首启先应用 seed 再起 sshd、不得无条件重生成 host key)。
|
||||
ssh-keyscan 首次捕获只保留为弱回落(CHV_HOST_KEY_MODE
|
||||
=keyscan),生产部署必须用 provisioned 模式;TOFU 首次
|
||||
@@ -233,9 +233,17 @@
|
||||
CI 账单恢复。另:P0-2 审计原说法“restore 须把 seed 接入
|
||||
VmConfig”已纠正——restore 不走 vm.create,seed 无从挂盘,
|
||||
正确不变量是复用钉死 known_hosts。
|
||||
- ⛔ P2 全部排除、未做(用户紧急范围收窄令,留待以后一轨):
|
||||
长函数拆分、第二启动路径清理 / Docker goal 解析注释、
|
||||
test_chv_gaps.py 的 grep 文本断言改行为断言、build.sh 与
|
||||
README 口径对齐、stop_vm 吞异常改审计、配置校验时机统一。
|
||||
本轨的 grep 文本测试、README/build.sh、stop_vm 吞异常、
|
||||
preflight 校验口径均保持 #230 原样。
|
||||
- ✅🧪 P2 已做(范围已恢复为全做,上一条收窄令作废):
|
||||
test_chv_gaps.py 的 grep 文本断言改成真实 Worker._run_attempt
|
||||
行为断言;stop_vm 删除失败记 vm_key_cleanup_failed 审计
|
||||
(同名复用旧 key 的彻底根治“清理失败即拒起”列为遗留,不
|
||||
假装已根治);配置校验时机统一到 preflight(CPU/内存非法
|
||||
进 preflight,kind=config_invalid);build.sh 与 README 口径
|
||||
对齐(章节顺序 §5 host key → §6 对接、BUILDINFO contents
|
||||
纠正为名字列表无逐项版本、Node.js 不装写实);第二启动路径
|
||||
清理(build_vm_command 降级为私有 _build_vm_command,手动
|
||||
等价写法保留;Docker goal 内联解析顶部加指向正典
|
||||
parse_goal_result 的分叉说明 + 同步检查清单);长函数只做
|
||||
小提取(preflight 的 reuse/CPU/内存校验块抽成
|
||||
_preflight_config_checks,语义不变;config.py 字段解析与
|
||||
其余长函数深耦合,本轨如实停、不硬拆)。
|
||||
Reference in new issue
Block a user