feat(chv-muse-round11): 移植 V-9 真机修复(9f929b1/912edef/9fb0f4b)

- lockfile 两脚本 DECLARED_SOURCES 加 P2 三件套 chv-cell/broker/
  browser -> repo_commit(9f929b1)。
- build.sh 99-chv-sync.cfg runcmd 在 chv-sync boot 之前加 chown
  行:guest-env 由 write_files 以 root:root 写(建用户之前),
  须在 final 阶段改归 chv(912edef;本分支 runcmd 多一行
  start chv-authd,chown 插在它之后、boot 之前)。
- executor._wait_guest_env_usable:密钥已投递时等客内 guest-env
  对 SSH 用户可读再报 ready,超时关 VM 抛 guest_env_not_ready
  (9fb0f4b;runcmd chown 比 SSH 就绪晚约 30 秒)。
- hostkeys.py:本分支 _guest_env_entry 本来就写死 owner
  root:root(P3 重构时已无 ssh_user 分支),912edef 的
  hostkeys 改动无内容可移,只补 V-9 根因注释防回退。
- 测试(5 个新测试,8 个运行):owner 恒 root:root、build.sh
  chown 位置、chv 用户下 wake 后 owner 仍 root、等到可读、
  永不可读抛 guest_env_not_ready。

全量 cloud 套件 2019 OK(skipped=8)。
This commit is contained in:
host committed 2026-11-07 00:48:25 +00:00
1 parent 29d3a5a474
commit 717efc4688
6 files changed
+165 -6

No files matched your search

+7 -1
View File
@@ -213,7 +213,13 @@ def _guest_env_entry(merged_env: dict) -> list:
"""guest-env 的 write_files 条目行(0600 root,值经
shlex.quote 引用):只能并进已有的 write_files 列表,
绝不能再写一个 write_files: 键(YAML 重复键会覆盖掉
host key 的两条写文件条目,预置即失效)。"""
host key 的两条写文件条目,预置即失效)。
owner 恒为 root:root(V-9 真机根因:cloud-init 的 config
阶段里 write_files 在 users-groups 之前跑,owner 写
chv:chv 时 getpwnam('chv') 尚不存在,整个 write_files
模块失败、guest-env 文件根本不产生)。文件改归 SSH 用户
由客内 final 阶段 99-chv-sync.cfg runcmd 在 chv-sync
boot 之前 chown(用户那时已建好),见 chv-guest/build.sh。"""
lines = [
" - path: %s" % GUEST_ENV_PATH,
" permissions: '0600'",