96 lines
2.1 KiB
Markdown
96 lines
2.1 KiB
Markdown
# HANDOFF_20260419_2125
|
||
|
||
更新时间:2026-04-19 21:25 CST
|
||
|
||
## 本轮结果
|
||
|
||
`mainland-worker-01` 的 release rollout 已正式成功收口。
|
||
|
||
关键信息:
|
||
|
||
- `release_id = 7`
|
||
- `rollout_id = 7`
|
||
- `job_id = 214`
|
||
|
||
最终状态:
|
||
|
||
- `job 214 = success`
|
||
- `rollout 7 = completed`
|
||
- `mainland-worker-01.agent_state = online_busy`
|
||
|
||
## 成功证据
|
||
|
||
控制面 `job events` 已记录:
|
||
|
||
- `event_type = agent_completed`
|
||
- `summary_text = release deployed`
|
||
|
||
结果载荷中已确认:
|
||
|
||
- `release_version = domaincheck_release_20260419_205437`
|
||
- `restart_results`
|
||
- `domaincheck-worker.returncode = 0`
|
||
- `health_check.ok = true`
|
||
- `services_checked = ["domaincheck-worker"]`
|
||
- `execstart_alignment.mismatched_services = []`
|
||
|
||
说明这次已经完整走通:
|
||
|
||
1. 下载发布包
|
||
2. 解压 release
|
||
3. 切换 `/opt/domaincheck/current`
|
||
4. 重启 `domaincheck-worker`
|
||
5. 健康检查通过
|
||
|
||
## 为什么这次成功
|
||
|
||
不是发布逻辑变化了,而是现网权限问题被修掉了。
|
||
|
||
上一轮失败根因:
|
||
|
||
- `domaincheck-node-agent` 以 `www` 身份运行
|
||
- 无法执行 `systemctl restart domaincheck-worker`
|
||
- systemd 返回:
|
||
- `Interactive authentication required`
|
||
|
||
本轮修复:
|
||
|
||
- `mainland-worker-01`
|
||
- `domaincheck-node-agent` 已切为:
|
||
- `User=root`
|
||
- `Group=root`
|
||
|
||
## 当前剩余项
|
||
|
||
唯一建议立即同步的预防动作:
|
||
|
||
- 在 `mainland-controller-01` 上,也把 `domaincheck-node-agent` 切成 `root`
|
||
|
||
原因:
|
||
|
||
- worker 已经验证这就是 release 闭环最后一层权限门槛
|
||
- controller 如果后续参与自身发布 / restart,同样会遇到同类 systemd 权限问题
|
||
|
||
建议执行:
|
||
|
||
```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 show domaincheck-node-agent -p User -p Group
|
||
```
|
||
|
||
## 当前判断
|
||
|
||
关于 mainland worker 的发布链,已经不再是阻塞项。
|
||
|
||
现在可以进入下一步:
|
||
|
||
- 再决定是否对 `mainland-controller-01` 做同样 root 切换
|
||
- 然后继续 controller acceptance / rollout 收口
|