2.6 KiB
2.6 KiB
HANDOFF_20260419_2117
更新时间:2026-04-19 21:17 CST
本轮结论
mainland-worker-01 的最新正式 rollout 已完成根因收口:
release_id = 7rollout_id = 6job_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-workerFailed to restart domaincheck-worker.service: Interactive authentication required.
真实根因
不是发布包问题,也不是目录权限问题了。
当前根因是:
domaincheck-node-agent运行身份仍是www- 它具备下载、解压、切换
current的权限 - 但不具备执行 systemd 服务重启的权限
所以当前所有以下动作在 mainland 机器上都会有同类风险:
deploy.releaseservice.restart- 任何依赖 node-agent 直接操作 systemd 的动作
本轮已做代码修正
已修改:
domain-api/deploy/systemd/domain-node-agent.serviceUser=rootGroup=root
domain-api/deploy/multi-region/fix_mainland_release_base.sh- 安装 node-agent drop-in 时补齐:
User=rootGroup=root
- 安装 node-agent drop-in 时补齐:
已验证:
bash -n domain-api/deploy/multi-region/fix_mainland_release_base.sh
现场下一步
下一步不要再重复发起新的 rollout,先把 mainland-worker-01 的 node-agent 切到 root。
建议现场执行:
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
完成后应立即复查:
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 是否可继续