test: G17/G18/G19/G20/G22 - 154/154 PASS
This commit is contained in:
@@ -4,6 +4,41 @@
|
||||
|
||||
---
|
||||
|
||||
## 2026-03-22 — ПОВЕДЕНИЕ: оператор выставляет Ready до готовности pod (known limitation)
|
||||
|
||||
### Симптом
|
||||
|
||||
```
|
||||
GET /v1/namespaces/sless-xxx/services/my-svc → { phase: "Ready" }
|
||||
POST /fn/sless-xxx/my-svc → HTTP 502
|
||||
# Через 15-30 секунд — 200 OK
|
||||
```
|
||||
|
||||
### Причина
|
||||
|
||||
`service_controller.go` выставляет `phase=Ready` когда Deployment **создан** в k8s
|
||||
(успешный `client.Create` / `client.Update`), но **не дожидается** пока pod пройдёт
|
||||
readiness check и начнёт принимать трафик.
|
||||
Pod startup (скачать образ + старт nodejs/python) занимает 5-30 секунд после Deployment.
|
||||
|
||||
### Это не баг — known limitation
|
||||
|
||||
Kubernetes Deployment не даёт синхронного ответа о готовности pod.
|
||||
Оператор выставляет Ready через `RequeueAfter: 60s`, ожидание pod-ready потребует
|
||||
Watch на Deployment.Status.ReadyReplicas — усложняет reconcile loop.
|
||||
|
||||
### Правило для тестов
|
||||
|
||||
Все invoke-тесты **обязаны** включать:
|
||||
1. `sleep 15-30` после `wait_phase(..., "Ready")`
|
||||
2. retry (≥3-5 попыток с интервалом 15с) перед `[FAIL]`
|
||||
|
||||
### Обнаружено
|
||||
|
||||
G17 (nodejs20), G18 (env_vars), G22D (invoke isolation), G20C (multi-svc load).
|
||||
|
||||
---
|
||||
|
||||
## 2026-03-21 — БАГ: memory_mb через PUT не применяется в k8s Deployment (ИСПРАВЛЕН v0.1.49)
|
||||
|
||||
### Симптом
|
||||
|
||||
Reference in New Issue
Block a user