70 lines
4.0 KiB
Markdown
70 lines
4.0 KiB
Markdown
# База знаний ошибок
|
|
|
|
Ниже сгруппированы типовые ошибки: симптом → причина → решение.
|
|
|
|
## A. Аутентификация и токены
|
|
**Симптом:** 401 Unauthorized / Authorization header expected
|
|
**Причина:** токен истёк или не передан в окружение
|
|
**Решение:** обновить access_token и сохранить в файле HH-MM-SS.token; убедиться, что Terraform читает токен
|
|
|
|
## B. Поллинг зависает
|
|
**Симптом:** apply «висит», операция не завершается
|
|
**Причина:** ожидание по статусу инстанса или операции, без dtFinish
|
|
**Решение:** критерий завершения — dtFinish; далее isSuccessful
|
|
|
|
## C. Modify: Invalid CFS parameter (400)
|
|
**Причина:** отправлены create IDs для modify
|
|
**Решение:** получать manifest операции и динамически маппить IDs
|
|
|
|
## D. Modify недоступен
|
|
**Симптом:** action modify not available
|
|
**Причина:** modify нет в availableOperations
|
|
**Решение:** проверять доступные операции и выдавать явную ошибку
|
|
|
|
## E. Map/JSON/List: Invalid format
|
|
**Симптом:** 400 Invalid format map/array/json
|
|
**Причина:** пустые строки вместо {} или []
|
|
**Решение:** нормализация по типу, trim, отправка {} или []
|
|
|
|
## F. VM: зависание на FW / 500 String[]→GUID
|
|
**Симптом:** зависание на стадии FW, 500 checkParam
|
|
**Причина:** пустые или невалидные JSON-массивы, ошибки backend
|
|
**Решение:** валидация JSON массивов, дефолт ["0.0.0.0/0"], фильтрация пустых значений; при повторении — эскалация на поддержку
|
|
|
|
## G. VM modify: checkParam instanceOperationCfsParamUid
|
|
**Симптом:** 500 Invalid call of function checkParam
|
|
**Причина:** дублирование параметров при POST/PUT
|
|
**Решение:** гибридный PUT/POST по наличию instanceOperationCfsParamUid; проверить формат эндпойнта
|
|
|
|
## H. Postgres: split() on null
|
|
**Симптом:** Cannot invoke method split() on null object
|
|
**Причина:** передан UUID конкретного S3-бакета
|
|
**Решение:** использовать UUID сервиса S3 (svcId 12), а не бакета
|
|
|
|
## I. GPG/Registry
|
|
**Симптом:** authentication signature from unknown issuer
|
|
**Причина:** ключ подписи не совпадает с ключом в registry
|
|
**Решение:** обновить signing_keys на сервере или пересобрать/подменить бинарник
|
|
|
|
**Симптом:** openpgp invalid data
|
|
**Причина:** ASCII-armor для .sig
|
|
**Решение:** бинарная detached подпись без --armor
|
|
|
|
## J. Registry/S3
|
|
**Симптом:** presigned URL не работает через Ingress
|
|
**Причина:** Host заголовок ломает подпись
|
|
**Решение:** proxy-режим download на сервере registry
|
|
|
|
## K. Документация: 404
|
|
**Причина:** неверный S3 ключ (hostname в префиксе)
|
|
**Решение:** фиксированный префикс docs/<ns>/<name>/<version>/
|
|
|
|
## L. Версии Terraform Plugin Framework
|
|
**Симптом:** ошибки сборки при апгрейде
|
|
**Причина:** несовместимость framework и plugin-go
|
|
**Решение:** использовать совместимые версии (исторически v1.4.2 + v0.19.1)
|
|
|
|
## M. TLS handshake timeout
|
|
**Причина:** сетевые условия/VPN
|
|
**Решение:** повторить apply
|