v1.2.20: remaining Codex fixes — _op_results lock, advisory lock for scenarios, _ensure_schema logging, stale async generation token, validate-cfs explicit JSONDecodeError

This commit is contained in:
2026-07-31 18:07:24 +04:00
parent 58b823a260
commit 5065019ffd
7 changed files with 222 additions and 172 deletions
+6 -8
View File
@@ -245,13 +245,11 @@ def send_params_terraform(client, op_uid, params):
# Шаг 7: validate-cfs — финальная проверка
# Если параметры невалидны — API вернёт ошибку → исключение
# Если ответ пустой или не-JSON — это ОК (значит валидация прошла)
# Если ответ 200 с пустым телом — это ОК (значит валидация прошла).
# HttpClient.get() для пустого тела возвращает {} без ошибок.
# Но если тело не-JSON — будет JSONDecodeError, это тоже ОК для validate-cfs.
try:
client.get(f"/instanceOperations/{op_uid}/validate-cfs")
except Exception as e:
# "Expecting value" / JSONDecodeError — это норма для validate-cfs
# (API возвращает 200 с пустым телом при успехе)
if "Expecting value" in str(e) or "JSON" in str(type(e).__name__):
pass
else:
raise # реальная ошибка — пробрасываем выше
except json.JSONDecodeError:
pass # пустой/не-JSON ответ — норма для validate-cfs (успех)
# HTTPError (4xx/5xx) пробрасывается выше — это реальная ошибка валидации