Files
fission-console/doc/CHAT_SUMMARY_2026-04-27.md
T

4.9 KiB
Raw Blame History

Состояние на 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.