added FIP Cooldown before start
This commit is contained in:
1 parent
291eea3eb8
commit
f22ad569b6
36 files changed
+1182
-25
No files matched your search
+29
@@ -455,6 +455,28 @@ curl -s -X POST "$BASE/api/v1/admin/ips/clear"
|
||||
| PUT | `/api/v1/admin/config/check-types/{name}` | `{"enabled","targets":["group",...]}` | `200` | `400`, если названа несуществующая группа |
|
||||
| DELETE | `/api/v1/admin/config/check-types/{name}` | — | `200` | `404` |
|
||||
|
||||
### Настройки оркестратора: `/api/v1/admin/config/orchestrator`
|
||||
|
||||
Единственный на сегодня параметр — `fip_settle_seconds`: пауза между
|
||||
привязкой Floating IP к валидатору и моментом, когда self-check по этому
|
||||
адресу становится доступен агенту (`GET
|
||||
/api/v1/agents/{id}/assignment` до истечения паузы отдаёт `204`, как если
|
||||
бы валидатору просто нечего было делать — никаких изменений в протоколе
|
||||
агента). Нужна, чтобы дать data plane OpenStack время реально начать
|
||||
пропускать трафик через только что привязанный адрес, прежде чем
|
||||
запускать по нему проверки. `0` — без паузы (поведение по умолчанию, как
|
||||
до появления этого параметра).
|
||||
|
||||
| Метод | Путь | Тело | Успех | Ошибки |
|
||||
|---|---|---|---|---|
|
||||
| GET | `/api/v1/admin/config/orchestrator` | — | `{"fip_settle_seconds":N}` | |
|
||||
| PUT | `/api/v1/admin/config/orchestrator` | `{"fip_settle_seconds":N}` | `200` | `400`, если `N < 0`, или если `fip_settle_seconds + self_check_timeout_seconds >= lease_ttl_seconds` (пауза не должна съедать весь лизинг адреса — иначе self-check не успеет пройти до истечения `lease_ttl_seconds`, и адрес будет вечно возвращаться в очередь) |
|
||||
|
||||
Как и остальные разделы этой группы, YAML-поле `orchestrator.
|
||||
fip_settle_seconds` в `control-api.yaml` — только одноразовый bootstrap
|
||||
для пустой БД; дальше источник истины — сама база, менять значение нужно
|
||||
через `PUT` выше (или страницу `/settings` в дашборде).
|
||||
|
||||
### Пример: конфигурация целиком через API, без единой строки в YAML
|
||||
|
||||
```bash
|
||||
@@ -509,6 +531,13 @@ queued ──(control-api сам, без вызова API)──▶ assigning_fi
|
||||
`orchestrator.poll_interval_seconds`), явного HTTP-метода для их запуска
|
||||
нет — это фоновый цикл (`Tick`), а не запрос/ответ.
|
||||
|
||||
Вход в `awaiting_self_check` не означает мгновенную видимость агенту: если
|
||||
настроена пауза (`fip_settle_seconds`, см.
|
||||
[«Настройки оркестратора»](#настройки-оркестратора-apiv1adminconfigorchestrator)
|
||||
выше), `GET /api/v1/agents/{id}/assignment` продолжает отдавать `204` до
|
||||
истечения паузы, и только потом начинает отдавать assignment — состояние
|
||||
в БД при этом уже `awaiting_self_check`.
|
||||
|
||||
Площадки (`siteN_complete`) — опциональны: сколько их учитывается,
|
||||
целиком определяется текущим списком `sites` (0–3 записи, управляется
|
||||
через `/api/v1/admin/config/sites` — см.
|
||||
|
||||
Reference in new issue
Block a user