86 lines
4.9 KiB
Markdown
86 lines
4.9 KiB
Markdown
Состояние на 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 ещё не поймана.
|
||
|
||
Следующий правильный шаг
|
||
|
||
1. Найти именно pod, у которого labels/functionName=phppp или environment=console-php-env и namespace=fission-ffd1f598c169b0ae.
|
||
2. Снять logs именно с php container этого pod.
|
||
3. Проверить, есть ли в runtime расширение bcmath.
|
||
4. Если bcmath отсутствует, исправить корень проблемы, а не маскировать timeout.
|
||
5. После исправления сделать отдельный 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. |