Files
getDomain/docs/ops_center_runtime/HANDOFF_20260419_2117.md
Your Name 7cbde2aa78 d
2026-04-22 14:13:21 +08:00

2.6 KiB
Raw Blame History

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。

建议现场执行:

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-agentroot 身份运行
  • 心跳恢复,mainland-worker-01 不再是 stale
  • 后续再发起 deploy.release 时,能够闭环到 systemctl restart domaincheck-worker

当前判断

当前主阻塞只剩一个:

  • mainland node-agent 权限模型未切到 root

这个问题修完后,再重新发起 worker rollout才有资格继续看

  • domaincheck-worker 是否切到新 PID
  • health check 是否通过
  • rollout 6 之后的 acceptance 是否可继续