merge(chv-muse-round11): 合入 P3 authd 替身凭证 + Sentinel 出口审批 (a90cf78)

冲突解决(3 处,均为并集保留,双方改动无一丢弃):
- cloud/chv/executor.py _copy_config_fields:P1 的 balloon/
  vsock/vsock_cid 与 P3 的 sentinel_allow_hosts 合并进同一元组
- cloud/tests/test_chv_arch_maint_fe.py EXPECTED_FIELDS:P1 三字段
  + P3 sentinel_allow_hosts;len 断言 41/39 → 42(并集)
- cloud/chv/config.py 自动合入:P3 sentinel_allow_hosts(网络
  片段内)+ P1 _balloon_vsock_fragment 均保留;仅更新
  build_chv_config docstring 注明字段集含 P3 字段
This commit is contained in:
host committed 2026-11-06 21:36:56 +00:00
commit 304707b372
15 files changed
+2376 -95

No files matched your search

+6 -2
View File
@@ -80,6 +80,8 @@ EXPECTED_FIELDS = {
"task_timeout", "api_timeout", "ready_timeout", "ready_interval",
# P1-B(feat-chv-muse-p1):气球/vsock 三字段。
"balloon", "vsock", "vsock_cid",
# P3(feat-chv-muse-p3):Sentinel 白名单主机。
"sentinel_allow_hosts",
}
@@ -254,14 +256,16 @@ class ConfigFragmentsTest(unittest.TestCase):
frags = [_base_fragment({}, {}), _ssh_fragment({}, {}),
_network_fragment({}, {}), _quota_fragment({}),
_disk_fragment({}), _timeout_fragment({}, {}),
# P1-B:新片段加入并集断言(字段 38 → 41)。
# P1-B + P3(round-11 并集):新片段加入并集断言
#(字段 38 → 42:P1 气球/vsock 三字段 + P3
# sentinel_allow_hosts)。
_balloon_vsock_fragment({})]
seen = set()
for frag in frags:
self.assertFalse(seen & set(frag), "片段键重叠")
seen |= set(frag)
self.assertEqual(seen, EXPECTED_FIELDS)
self.assertEqual(len(EXPECTED_FIELDS), 41)
self.assertEqual(len(EXPECTED_FIELDS), 42)
def test_defaults_and_overrides(self):
cfg = build_chv_config({}, {})