host
65504ae8cb
fix(chv): V-3/F1/F2 真机缺陷修复 + V-1/V-4 附带修复
V-3 快照/restore:
- snapshot 改传裸 URL(source_url= 是 restore 的键,服务端
Could not extract path from URL);快照产物是目录,校验
改为目录非空,登记计量/剪枝同步支持目录
- restore 起 VMM 前补 _restore_prepare:杀旧 VMM(登记的 +
未登记跨实例扫描)并清旧 socket,与 _wake_prepare 对等
- hibernate 评估结论:快照 config.json 引用原盘,旧 stop 删
盘致 restore 必失败;hibernate 的 stop 改 keep_disk=True,
GC 不删有登记快照的 VM 的盘,restore 前预检快照引用的盘
(snapshot_disk_missing fail-fast)
F1:re-wake 删旧盘——H5 删私钥致 re-wake 必然生成新 key 对,
旧盘复用时 cloud-init 不重应用新 seed,sshd 仍呈旧 key 而
known_hosts 钉新 key;wake 本就是冷启动,旧盘不是要保留的状态
F2:stop_vm 跨实例按 socket 进程扫描杀未登记 VMM
(/proc cmdline 精确 socket + VMM 二进制名 + 跳过自身/pid 1,
绝不误杀 ch-remote 与他人 VMM)
V-4:remote_command source 失败改 || exit 126 fail-fast;
guest-env 条目 owner 改归 SSH 用户(0600 不变),root 仍 root:root
V-1 附带:build.sh 预建 /app/work(1777 粘滞位 + stat 断言);
host.py default_codex_bin() 改 shutil.which,裸名不再让
health 报 ok:false
测试:新 test_chv_v3_fixes.py 23 项;旧快照测试按目录产物改写;
test_chv* 458 全过,全量 cloud 套件 1930 全过(skipped=8)
2026-11-08 09:45:00 +00:00
..
2026-11-04 18:02:22 +00:00
2026-11-04 18:01:44 +00:00
2026-11-04 18:01:44 +00:00
2026-11-04 18:01:44 +00:00
2026-11-04 18:01:44 +00:00
2026-10-26 16:27:42 +08:00
2026-10-26 16:47:55 +08:00
2026-10-27 15:53:50 +08:00
2026-10-27 15:53:50 +08:00
2026-11-04 20:55:49 +00:00
2026-11-04 21:03:54 +00:00
2026-11-04 21:23:25 +00:00
2026-11-04 20:56:06 +00:00
2026-11-04 18:02:10 +00:00
2026-11-04 20:56:06 +00:00
2026-11-04 18:02:22 +00:00
2026-11-04 21:38:42 +00:00
2026-11-04 18:02:23 +00:00
2026-11-04 21:38:42 +00:00
2026-11-04 18:02:23 +00:00
2026-11-04 21:38:42 +00:00
2026-11-04 18:02:21 +00:00
2026-11-04 18:02:21 +00:00
2026-11-04 18:02:21 +00:00
2026-11-04 18:02:21 +00:00
2026-11-04 21:23:25 +00:00
2026-11-04 18:02:22 +00:00
2026-11-05 02:54:22 +08:00
2026-11-04 21:03:33 +00:00
2026-11-04 18:02:23 +00:00
2026-11-04 21:03:32 +00:00
2026-11-04 18:02:21 +00:00
2026-11-04 18:02:23 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 20:56:06 +00:00
2026-11-04 20:55:49 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:32 +00:00
2026-11-04 21:03:32 +00:00
2026-10-28 12:12:10 +08:00
2026-11-04 20:56:06 +00:00
2026-10-27 15:53:50 +08:00
2026-11-04 20:54:04 +00:00
2026-10-29 00:19:30 +08:00
2026-10-27 16:27:50 +00:00
2026-10-27 15:53:50 +08:00
2026-10-29 07:01:57 +08:00
2026-11-04 20:54:04 +00:00
2026-10-29 05:27:22 +08:00
2026-11-08 09:44:59 +00:00
2026-11-08 09:44:34 +00:00
2026-11-08 09:44:34 +00:00
2026-11-08 09:45:00 +00:00
2026-11-08 09:44:59 +00:00
2026-11-08 09:44:59 +00:00
2026-11-08 09:44:59 +00:00
2026-11-08 09:44:59 +00:00
2026-11-08 09:44:59 +00:00
2026-11-08 09:44:34 +00:00
2026-11-08 09:44:59 +00:00
2026-11-08 09:45:00 +00:00
2026-11-08 09:44:59 +00:00
2026-11-08 09:45:00 +00:00
2026-11-04 20:54:04 +00:00
2026-11-08 09:45:00 +00:00
2026-11-04 21:03:54 +00:00
2026-11-01 08:16:48 +00:00
2026-11-06 19:03:35 +00:00
2026-11-06 19:03:35 +00:00
2026-10-30 01:32:35 +08:00
2026-10-28 08:57:05 +00:00
2026-11-07 19:43:03 +00:00
2026-10-30 05:11:06 +08:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:32 +00:00
2026-11-04 21:03:32 +00:00
2026-11-04 20:54:04 +00:00
2026-11-04 20:54:04 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 20:54:04 +00:00
2026-11-04 20:54:04 +00:00
2026-11-04 20:54:04 +00:00
2026-11-04 21:03:33 +00:00
2026-10-26 03:23:06 +08:00
2026-11-04 18:01:44 +00:00
2026-10-26 10:26:21 +08:00
2026-11-04 20:54:04 +00:00
2026-11-04 18:02:20 +00:00
2026-11-04 20:54:04 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 20:54:04 +00:00
2026-11-04 21:04:06 +00:00
2026-11-04 21:04:06 +00:00
2026-11-04 21:04:06 +00:00
2026-11-04 21:04:06 +00:00
2026-11-04 21:03:54 +00:00
2026-11-04 21:03:54 +00:00
2026-11-04 21:03:54 +00:00
2026-11-04 21:04:06 +00:00
2026-10-30 02:53:46 +08:00
2026-10-27 16:27:50 +00:00
2026-11-05 02:45:09 +00:00
2026-10-29 06:32:38 +08:00
2026-10-29 16:45:07 +08:00
2026-10-27 10:56:08 +08:00
2026-11-06 19:03:35 +00:00
2026-11-04 20:54:04 +00:00
2026-11-04 20:54:04 +00:00
2026-10-26 08:39:57 +08:00
2026-10-28 03:43:02 +08:00
2026-11-04 20:53:46 +00:00
2026-10-30 04:05:00 +08:00
2026-11-01 09:06:28 +00:00
2026-10-30 01:32:35 +08:00
2026-11-04 20:58:34 +00:00
2026-11-04 21:03:32 +00:00
2026-11-04 20:54:04 +00:00
2026-11-04 21:36:18 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 20:54:04 +00:00
2026-11-07 20:51:23 +00:00
2026-10-30 07:15:05 +08:00
2026-10-28 10:13:40 +00:00
2026-10-29 04:40:47 +08:00
2026-11-04 21:03:32 +00:00
2026-10-30 14:46:11 +08:00
2026-10-27 19:10:49 +00:00
2026-11-04 21:03:32 +00:00
2026-11-04 21:03:32 +00:00
2026-11-04 20:55:49 +00:00
2026-11-04 20:56:06 +00:00
2026-11-04 20:54:04 +00:00
2026-10-30 12:58:41 +08:00
2026-11-04 18:01:44 +00:00
2026-10-27 15:35:23 +00:00
2026-10-29 16:45:07 +08:00
2026-10-26 16:27:42 +08:00
2026-10-26 16:27:42 +08:00
2026-11-04 20:54:04 +00:00
2026-11-04 20:53:46 +00:00
2026-10-26 07:42:14 +08:00
2026-10-27 15:35:23 +00:00
2026-10-29 15:31:07 +08:00
2026-11-04 21:03:03 +00:00
2026-10-29 12:42:19 +08:00
2026-10-29 06:32:38 +08:00
2026-11-07 20:51:23 +00:00
2026-10-27 14:12:28 +08:00
2026-10-27 14:12:28 +08:00
2026-11-08 05:49:52 +00:00
2026-11-01 09:06:28 +00:00
2026-11-01 09:06:28 +00:00
2026-11-04 17:30:07 +01:00
2026-11-01 09:06:28 +00:00
2026-11-01 08:34:13 +00:00
2026-11-08 05:49:52 +00:00
2026-10-26 03:23:06 +08:00
2026-10-26 16:47:55 +08:00
2026-10-26 15:20:02 +08:00
2026-11-04 20:54:04 +00:00
2026-10-27 19:10:49 +00:00
2026-10-26 17:01:47 +08:00
2026-10-29 17:46:12 +08:00
2026-10-30 04:15:54 +08:00
2026-10-28 10:12:57 +00:00
2026-11-04 20:54:04 +00:00
2026-10-30 04:18:09 +08:00
2026-10-30 05:11:06 +08:00
2026-10-30 05:11:06 +08:00
2026-10-27 19:10:49 +00:00
2026-10-28 11:09:29 +08:00
2026-11-04 20:54:50 +00:00
2026-11-04 20:56:06 +00:00
2026-10-27 05:40:30 +08:00
2026-10-27 01:44:53 +08:00
2026-11-04 21:03:32 +00:00
2026-11-02 03:30:57 +00:00
2026-11-01 19:01:39 +00:00
2026-11-02 03:30:57 +00:00
2026-11-02 03:30:57 +00:00
2026-10-27 15:53:50 +08:00
2026-10-27 15:53:50 +08:00
2026-11-04 18:02:21 +00:00
2026-11-04 18:01:44 +00:00
2026-11-04 18:02:21 +00:00
2026-11-04 18:01:44 +00:00
2026-11-04 21:03:54 +00:00
2026-10-29 05:41:35 +08:00
2026-11-04 20:54:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:32 +00:00
2026-11-04 17:11:23 +01:00
2026-10-26 23:17:25 +08:00
2026-11-04 20:54:04 +00:00
2026-11-04 21:03:32 +00:00
2026-10-27 15:35:23 +00:00
2026-10-26 16:47:55 +08:00
2026-10-26 06:46:20 +08:00
2026-11-04 20:54:04 +00:00
2026-10-29 23:16:01 +08:00
2026-10-30 14:46:11 +08:00
2026-10-27 15:35:23 +00:00
2026-10-30 07:15:05 +08:00
2026-10-30 07:08:51 +00:00
2026-11-07 20:51:23 +00:00
2026-11-04 20:54:50 +00:00
2026-11-07 19:43:03 +00:00
2026-11-04 20:54:04 +00:00
2026-11-04 20:54:33 +00:00
2026-11-04 20:53:46 +00:00
2026-11-04 21:03:33 +00:00
2026-10-27 16:37:28 +00:00
2026-11-04 20:54:04 +00:00
2026-11-04 20:54:04 +00:00
2026-10-30 06:33:25 +00:00
2026-11-04 20:54:04 +00:00
2026-11-04 20:54:04 +00:00
2026-11-04 21:03:33 +00:00
2026-10-27 04:30:43 +08:00
2026-11-06 05:24:20 +00:00
2026-10-27 04:40:11 +08:00
2026-11-04 20:54:04 +00:00
2026-11-04 20:54:04 +00:00
2026-10-30 05:11:06 +08:00
2026-10-30 02:25:48 +08:00
2026-10-30 00:39:13 +08:00
2026-10-28 11:14:10 +08:00
2026-10-28 11:25:17 +08:00
2026-11-04 20:54:04 +00:00
2026-10-29 06:32:38 +08:00
2026-11-06 22:00:52 +00:00
2026-10-28 04:56:22 +08:00
2026-10-27 16:37:28 +00:00
2026-10-28 05:36:18 +08:00
2026-10-28 06:10:02 +08:00
2026-10-28 04:33:20 +08:00
2026-10-30 05:11:06 +08:00
2026-11-04 18:02:20 +00:00
2026-10-30 14:46:11 +08:00
2026-11-04 21:03:32 +00:00
2026-11-05 02:22:47 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:23:25 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:32 +00:00
2026-11-04 21:03:32 +00:00
2026-11-04 21:03:32 +00:00
2026-11-04 21:03:54 +00:00
2026-11-04 20:54:04 +00:00
2026-10-30 01:16:49 +08:00
2026-11-01 14:15:54 +00:00
2026-11-04 21:03:54 +00:00
2026-10-30 01:16:49 +08:00
2026-11-04 20:53:46 +00:00
2026-10-26 06:46:20 +08:00
2026-10-27 14:12:28 +08:00
2026-11-04 21:03:54 +00:00
2026-10-28 11:25:17 +08:00
2026-11-04 21:03:32 +00:00
2026-10-30 14:46:11 +08:00
2026-10-30 01:38:01 +08:00
2026-11-04 20:54:04 +00:00
2026-11-04 20:54:04 +00:00