2.4 KiB
2.4 KiB
Интеграционный тест: P1/P2 (namespace lifecycle hardening)
Контекст
Ветка: fix/namespace-lifecycle-hardening (fission-src)
Коммиты: P1 (auto-recovery failed NS), P2 (adopt orphaned pods)
Образ executor: naeel/fission-bundle:v1.22.1 (задеплоен 2026-05-18)
Тестирование — через fission-console UI.
1. Проверка P1: auto-recovery failed NS
- Открыть fission-console, создать tenant (новый managed namespace)
- Нарочно сломать ServiceAccount или RoleBinding:
kubectl delete sa fission-fetcher -n <tenant-ns> - В UI убедиться, что namespace ушёл в фазу
failed - Через ~30 сек namespace должен автоматически восстановиться (
active)- SA/RB пересозданы
- Функции снова работают (запустить любую тестовую функцию)
2. Проверка P2: adopt orphaned pods после рестарта executor
- Через fission-console вызвать несколько функций (чтобы были warm pods)
- Рестартовать executor:
kubectl rollout restart deployment/executor -n fission kubectl rollout status deployment/executor -n fission - Убедиться что:
- Функции продолжают работать без cold start задержки
- В логах executor есть строки
PreRegisterManagedNamespaces,adopt,cleanup:kubectl logs -n fission -l svc=executor --tail=100 | grep -E "PreRegister|adopt|cleanup"
3. Проверить отсутствие регрессий (через fission-console)
- Создание/удаление tenant работает
- Функции создаются, редактируются, выполняются
- Логи функций доступны в UI
- Нет ошибок в UI и в логах executor/router
4. Команды для диагностики
# Текущий образ executor
kubectl get deployment executor -n fission -o jsonpath="{.spec.template.spec.containers[0].image}"
# Логи executor (последние 200 строк)
kubectl logs -n fission -l svc=executor --tail=200
# Статус managed NS
kubectl get ns -l managed-by=fission