4.9 KiB
4.9 KiB
Состояние на 2026-04-27
Что уже исправлено
- Починен вход по валидному JWT в test mode без ослабления поведения при FISSION_TEST_MODE=false.
- Добавлены тесты на auth.
- Починен статус инициализации namespace в UI: console получил права читать pod'ы control-plane.
- Убран баг с кешем ensured namespace: если namespace удалили вручную, EnsureUserNS теперь проверяет его существование и пересоздаёт.
- Live console раскатан по digest, не по tag.
- Правила обновлены: не откатывать без явной команды пользователя, после каждого исправления делать отдельный commit.
Что важно помнить
- Все shell-команды только через SSH: ssh -i ~/.ssh/naeel_vm_id_ed25519 -o StrictHostKeyChecking=no -o ConnectTimeout=10 naeel@5.172.178.213 '...'
- Ничего не откатывать без явной команды пользователя.
- После каждого реального исправления нужен отдельный commit.
- Пользователь очень чувствителен к "нереальным" тестам. Предпочтение только live user-flow проверкам.
Текущий live state
- Репозиторий: /home/naeel/remote_dev/fission
- Live deployment console уже работает на digest: naeel/fission-console@sha256:5f0846c53267bd275f173981afbc8181e7808c3cf98c3902acaa659d6183e8a9
- Пользовательский namespace: fission-ffd1f598c169b0ae
- Проблемная функция: phppp
Текущая активная проблема
- В UI при invoke функции phppp показывается ошибка: invoke "phppp" timeout after 20s: function specialization likely failed (for example, syntax error)
- Но это generic fallback из console/internal/api/handlers.go, а не доказанный root cause.
Что уже установлено по phppp
- Функция phppp, package phppp-pkg, environment console-php-env и httptrigger существуют в namespace fission-ffd1f598c169b0ae.
- Function spec:
- environment: console-php-env
- functionName: main.php::handler
- Environment runtime:
- image: ghcr.io/fission/php-env
- Package literal успешно извлечён.
- Реальный код main.php внутри package это тяжёлая PHP-функция примерно на 10 секунд.
- В коде используются bcadd и bcmul, то есть есть сильное подозрение на отсутствие расширения bcmath в PHP runtime.
Критически важное наблюдение
- Executor log уже показал, что specialization для phppp проходит успешно:
- choosing pod from pool
- calling fetcher to copy function
- specializing pod
- specialized pod
- added function service
- Значит проблема, скорее всего, не в specialization, а уже в runtime execution внутри PHP env или в неверном timeout/error mapping со стороны console.
Что пошло не так в последней диагностике
- Логи pod были сняты не с php pod, а с pod другой функции, где был nodejs runtime.
- Поэтому точная runtime ошибка phppp ещё не поймана.
Следующий правильный шаг
- Найти именно pod, у которого labels/functionName=phppp или environment=console-php-env и namespace=fission-ffd1f598c169b0ae.
- Снять logs именно с php container этого pod.
- Проверить, есть ли в runtime расширение bcmath.
- Если bcmath отсутствует, исправить корень проблемы, а не маскировать timeout.
- После исправления сделать отдельный commit и live-проверку invoke.
Файлы, которые уже были важны в этой истории
- console/internal/api/auth.go
- console/internal/api/handlers.go
- console/internal/api/ns_status.go
- console/internal/cloud/tenant.go
- console/internal/fission/namespace.go
- console/deploy/console.yaml
- deploy/rbac/console-ns-manager.yaml
- .github/copilot-instructions.md
Что не надо делать
- Не откатывать image, manifests, deployment или код.
- Не считать сообщение про specialization доказательством syntax error.
- Не использовать synthetic тесты вместо live-проверки, если пользователь просит именно user-flow.