fix: operator v0.1.49 — Resources update + self-healing requeue

БАГ 1: ensureServiceDeployment UPDATE блок теперь обновляет Containers[0].Resources
  → memory_mb через PUT применяется к k8s Deployment

БАГ 2: ensureServiceDeployment возвращает RequeueAfter: 60s вместо Result{}
  → ручное удаление Deployment пересоздаётся контроллером в течение 60s

lifecycle-тест: 47/47 PASS (ранее 44/44 с 2 known bugs)
This commit is contained in:
Naeel
2026-03-21 18:51:02 +03:00
parent 9b74358979
commit f65677a4d0
4 changed files with 45 additions and 14 deletions
+25 -1
View File
@@ -1,6 +1,30 @@
# Прогресс разработки
Последнее обновление: 2026-03-21 (operator_lifecycle_test.sh — 44/44 PASS; 2 бага оператора найдены)
Последнее обновление: 2026-03-21 (operator v0.1.49 — оба бага исправлены; lifecycle-тест 47/47 PASS)
---
## 2026-03-21 — Сессия 6: исправление багов оператора v0.1.49
### Что сделано
| # | Компонент | Результат |
|---|-----------|-----------|
| 1 | БАГ 1 исправлен: добавлен `Resources` в UPDATE блок `ensureServiceDeployment` | ✅ |
| 2 | БАГ 2 исправлен: добавлен `RequeueAfter: 60s` в конец `ensureServiceDeployment` | ✅ |
| 3 | go build, docker build+push v0.1.49, kubectl rollout | ✅ |
| 4 | `operator_lifecycle_test.sh` после фикса | ✅ 47/47 PASS (ранее 44/44 с 2 known bugs) |
### Изменения в коде
**controllers/service_controller.go**:
```go
// БАГ 1 — UPDATE блок ensureServiceDeployment
existing.Spec.Template.Spec.Containers[0].Resources = desired.Spec.Template.Spec.Containers[0].Resources // ДОБАВЛЕНО
// БАГ 2 — конец ensureServiceDeployment
return ctrl.Result{RequeueAfter: 60 * time.Second}, nil // БЫЛО: Result{}, nil
```
---