This commit is contained in:
Your Name
2026-04-22 14:13:21 +08:00
parent e0406b5d0e
commit 7cbde2aa78
145 changed files with 23086 additions and 2243 deletions

View File

@@ -0,0 +1,102 @@
# HANDOFF_20260419_2117
更新时间2026-04-19 21:17 CST
## 本轮结论
`mainland-worker-01` 的最新正式 rollout 已完成根因收口:
- `release_id = 7`
- `rollout_id = 6`
- `job_id = 211`
执行结果:
- 发布包下载成功
- `/opt/domaincheck/downloads/domaincheck_release_20260419_205437.tar.gz`
- release 解压成功
- `/opt/domaincheck/releases/domaincheck_release_20260419_205437`
- `current` 软链切换成功
- `/opt/domaincheck/current -> /opt/domaincheck/releases/domaincheck_release_20260419_205437`
- 最终失败在:
- `systemctl restart domaincheck-worker`
控制面失败结果原文:
- `restart failed: domaincheck-worker`
- `Failed to restart domaincheck-worker.service: Interactive authentication required.`
## 真实根因
不是发布包问题,也不是目录权限问题了。
当前根因是:
- `domaincheck-node-agent` 运行身份仍是 `www`
- 它具备下载、解压、切换 `current` 的权限
- 但不具备执行 systemd 服务重启的权限
所以当前所有以下动作在 mainland 机器上都会有同类风险:
- `deploy.release`
- `service.restart`
- 任何依赖 node-agent 直接操作 systemd 的动作
## 本轮已做代码修正
已修改:
- `domain-api/deploy/systemd/domain-node-agent.service`
- `User=root`
- `Group=root`
- `domain-api/deploy/multi-region/fix_mainland_release_base.sh`
- 安装 node-agent drop-in 时补齐:
- `User=root`
- `Group=root`
已验证:
- `bash -n domain-api/deploy/multi-region/fix_mainland_release_base.sh`
## 现场下一步
下一步不要再重复发起新的 rollout先把 `mainland-worker-01` 的 node-agent 切到 root。
建议现场执行:
```bash
mkdir -p /etc/systemd/system/domaincheck-node-agent.service.d
cat >/etc/systemd/system/domaincheck-node-agent.service.d/runtime-user.conf <<'EOF'
[Service]
User=root
Group=root
EOF
systemctl daemon-reload
systemctl restart domaincheck-node-agent
systemctl status domaincheck-node-agent --no-pager -l
```
完成后应立即复查:
```bash
systemctl show domaincheck-node-agent -p User -p Group
journalctl -u domaincheck-node-agent -n 80 --no-pager -l
```
预期结果:
- `domaincheck-node-agent``root` 身份运行
- 心跳恢复,`mainland-worker-01` 不再是 `stale`
- 后续再发起 `deploy.release` 时,能够闭环到 `systemctl restart domaincheck-worker`
## 当前判断
当前主阻塞只剩一个:
- mainland node-agent 权限模型未切到 root
这个问题修完后,再重新发起 worker rollout才有资格继续看
- `domaincheck-worker` 是否切到新 PID
- health check 是否通过
- rollout 6 之后的 acceptance 是否可继续