4.0 KiB
База знаний ошибок
Ниже сгруппированы типовые ошибки: симптом → причина → решение.
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////
L. Версии Terraform Plugin Framework
Симптом: ошибки сборки при апгрейде Причина: несовместимость framework и plugin-go Решение: использовать совместимые версии (исторически v1.4.2 + v0.19.1)
M. TLS handshake timeout
Причина: сетевые условия/VPN Решение: повторить apply