fix(runner): gate non110 keepalive on host pressure [skip ci]
This commit is contained in:
@@ -11,6 +11,23 @@
|
||||
|
||||
**邊界**:未讀 token / secret / `.env` / raw sessions / SQLite / auth,未讀 `.runner` 內容,未使用 GitHub / `gh` / GitHub API,未 workflow_dispatch,未重啟主機、未 restart Docker / Nginx / K3s / DB / firewall;本輪 runtime 寫入限於 188 user-level runner service enable / start 與 keepalive timer enable。
|
||||
|
||||
## 2026-07-01 — 09:17 non-110 keepalive pressure guard / 188 CPU loop stop
|
||||
|
||||
**照主線修正的問題**:
|
||||
- 09:14 重新打開 188 non-110 runner 後,live 188 再次出現 `awoooi-cd-*-api-tests` 與 `k3s-postgres-recovery` CPU 壓力;根因不是 service disable 不生效,而是 keepalive timer / sentinel 會把 runner 重新拉起。
|
||||
- 對 188 做受控止血:disable / stop `awoooi-non110-runner-keepalive.timer`、stop keepalive service、移除 `.awoooi-non110-runner-enabled` sentinel、disable / stop runner service 與 autostart path,並停止當下 `awoooi-cd-*-api-tests` / `stockplatform-ubuntu-runner` container;讀回 runner / autostart / keepalive 全部 `inactive`,未讀 `.runner` 內容。
|
||||
- `ops/runner/install-awoooi-non110-runner-user-service.sh` 補上 `PRESSURE_GUARD=/usr/local/bin/awoooi-wait-host-web-build-pressure.sh`,runner service `ExecStartPre`、autostart service 與 keepalive service 在啟動前都要通過 host pressure guard。
|
||||
- rollback unit / `--rollback` 同步 stop / disable keepalive timer、stop keepalive service、reset failed、移除 enable sentinel,避免下一次只關 runner service 卻被 keepalive 再拉起。
|
||||
- 測試補上 service / keepalive / rollback / readback 斷言,確保未來 non-110 runner 恢復時仍維持 pressure guard 與可回滾。
|
||||
|
||||
**驗證**:
|
||||
- `python3.11 -m pytest ops/runner/test_install_awoooi_non110_runner_user_service.py -q` 通過(2 passed)。
|
||||
- `bash -n ops/runner/install-awoooi-non110-runner-user-service.sh scripts/ci/wait-host-web-build-pressure.sh` 通過。
|
||||
- `python3.11 ops/runner/guard-gitea-runner-pressure.py --root .` 通過,`auto_branch_events_on_110=0`、`generic_runner_labels=0`。
|
||||
- `git diff --check` 通過。
|
||||
|
||||
**邊界**:本輪只做 188 user-level non-110 runner 降壓與 source guard 固化;未讀 secret / token / `.env` / raw sessions / SQLite / auth;未讀 `.runner` 內容;未使用 GitHub / `gh` / GitHub API;未 workflow_dispatch;未重啟主機、未 restart Docker / Nginx / K3s / DB / firewall;未恢復 legacy / generic runner。
|
||||
|
||||
## 2026-07-01 — 09:14 non-110 runner controlled apply / Harbor remote control-channel / B5 Docker socket fail-fast
|
||||
|
||||
**照主線修正的問題**:
|
||||
|
||||
Reference in New Issue
Block a user