Skip to content

distfiles: let the sync and the audit write to a parallel root - #242

Merged
Zakkaus merged 1 commit into
masterfrom
deploy/distfiles-isolation
Aug 10, 2026
Merged

distfiles: let the sync and the audit write to a parallel root#242
Zakkaus merged 1 commit into
masterfrom
deploy/distfiles-isolation

Conversation

@Zakkaus

@Zakkaus Zakkaus commented Aug 10, 2026

Copy link
Copy Markdown
Member

docs/recovery.md 里 distfiles 的恢复时间是空的:正式流程会改写正式同步状态,
所以那一段无法在平行根上演练。

五处路径写死在正式位置:deploy/distfiles-sync.sh--success-log
--failure-logdeploy/audit-distfiles.py 的孤儿状态、回收目录与清理账本。
五处都改成可覆盖,预设值保持现在的正式路径不变

孤儿状态的环境变量取名 ORPHAN_STATE 而不是 STATEdistfiles-sync.sh 已经用
STATE 表示 emirrordist 的状态目录,而这里指的是 orphans.json 档案
同名会让演练里两条命令互相踩到。

变异反证

五个覆盖点各注入一次,把读取覆盖那行改回写死,对应测试都转红:
ORPHAN_STATERECYCLELEDGERtest-audit-distfiles.py)、
FAILURE_LOGSUCCESS_LOGtest-distfiles-temp-device.py)。

测试

本机全套 Python、Shell、JavaScript 测试、check-copypy_compile
check-commits 通过。没有执行任何真实同步,也没有存取 /srv/var/log

docs/recovery.md 的 distfiles 那一节给出可照抄的隔离命令,并明确写出实测数字
仍待补,不填估算值。

重建演练量不到 distfiles 那一段:正式流程会改写正式状态,所以无法在平行根上
执行。五处路径写死在正式位置——`distfiles-sync.sh` 的两个日志,
`audit-distfiles.py` 的孤儿状态、回收目录与清理账本。

五处都改成可用环境变量覆盖,预设值保持现在的正式路径不变,沿用同一支脚本里
既有的写法。孤儿状态用 `ORPHAN_STATE` 而不是 `STATE`:`distfiles-sync.sh` 的
`STATE` 指的是 emirrordist 的状态目录,两者含义不同,同名会在演练里互相踩到。

`docs/recovery.md` 的 distfiles 那一节给出可照抄的隔离命令,并写明实测数字
仍待补。
@Zakkaus
Zakkaus merged commit f44c933 into master Aug 10, 2026
7 checks passed
@Zakkaus
Zakkaus deleted the deploy/distfiles-isolation branch August 10, 2026 17:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant