diff --git a/doc/INTEGRATION_TEST_PLAN_P1_P2.md b/doc/INTEGRATION_TEST_PLAN_P1_P2.md new file mode 100644 index 00000000..3a768a24 --- /dev/null +++ b/doc/INTEGRATION_TEST_PLAN_P1_P2.md @@ -0,0 +1,47 @@ +# Интеграционный тест: P1/P2 (namespace lifecycle hardening) + +## Контекст +Ветка: `fix/namespace-lifecycle-hardening` (fission-src) +Коммиты: P1 (auto-recovery failed NS), P2 (adopt orphaned pods) + +--- + +## 1. Проверка P1: auto-recovery failed NS + +1. Создать tenant (managed namespace) через fission-console UI +2. Нарочно сломать ServiceAccount или RoleBinding (например, удалить SA или RB) + - kubectl delete sa fission-fetcher -n +3. Проверить, что NS уходит в фазу `failed` (видно в UI) +4. Через 30 сек NS должен автоматически восстановиться (phase → active) + - Проверить, что SA/RB пересозданы, функции снова работают + +--- + +## 2. Проверка P2: adopt orphaned pods после рестарта executor + +1. Сделать rolling restart executor (kubectl rollout restart deployment fission-executor -n fission) +2. Проверить, что: + - В managed NS нет orphaned pods (kubectl get pods -n — все pods с новым instanceID) + - Нет лишних cold start (функции стартуют быстро) + - В логах executor есть строки: + - PreRegisterManagedNamespaces + - adopt + - cleanup + +--- + +## 3. Проверить отсутствие регрессий + +- Создание/удаление tenant работает +- Функции запускаются, логи доступны +- Нет ошибок в UI/логе + +--- + +## 4. (Опционально) e2e-скрипт + +- Автоматизировать сценарии выше bash-скриптом или через API fission-console + +--- + +**Если нужна помощь с командами — пиши!**