# Fission Multi-Tenant — Progress ## Задача Добиться 5/5 PASS в `test_layer1.sh`: динамически добавленный NS с меткой `fission.io/managed=true` должен работать без рестарта Fission. --- ## Статус задач | # | Задача | Статус | |---|--------|--------| | 1 | Добавить `EnsureNamespaceSA` в `pkg/utils/serviceaccount.go` | ✅ DONE | | 2 | Вызов `EnsureNamespaceSA` из `ns_watcher.go` при регистрации NS | ✅ DONE | | 3 | Сборка образа `naeel/fission-bundle:v1.22.0-multi-ns-8` | ✅ DONE | | 4 | Деплой образа v8 в кластер (executor/router/buildermgr) | ✅ DONE | | 5 | Коммит `161de70` "multi-tenant: EnsureNamespaceSA + ns_watcher SA provisioning (v8)" | ✅ DONE | | 6 | Исправить RBAC: добавить `create/update/patch` для SA/roles/rolebindings в `deploy/multitenant/rbac.yaml` | 🔄 IN PROGRESS | | 7 | Применить RBAC через `kubectl apply`, верифицировать | ⏳ TODO | | 8 | Коммит RBAC fix | ⏳ TODO | | 9 | Запустить `test_layer1.sh`, добиться 5/5 PASS | ⏳ TODO | --- ## Текущий результат теста `test_layer1.sh` — 4/5: - Шаг 5 падает: `serviceaccount "fission-fetcher" not found` в NS `l1-test-77773` ## Диагностика (2026-04-26) - Код `EnsureNamespaceSA` присутствует в `serviceaccount.go` ✅ - `ns_watcher.go` строка 168 вызывает `EnsureNamespaceSA` ✅ - RBAC: `kubectl auth can-i create serviceaccounts --as=...fission-executor -n l1-test-77773` → **`no`** ❌ - ClusterRole `fission-executor-multi-ns` не имеет `create` для `serviceaccounts`, и нет rules для `roles`/`rolebindings` - Вывод: `setupSAAndRoleBindings` вызывается, но получает 403 Forbidden и тихо фейлится → SA не создаётся → pod не стартует ## Решение Добавить в `deploy/multitenant/rbac.yaml` новый ClusterRole + ClusterRoleBinding с правами `create/update/patch` для `serviceaccounts`, `roles`, `rolebindings`. Применить через `kubectl apply`. **Пересборка образа НЕ нужна** — логика правильная, проблема только в RBAC.