Document entire failure chain: 13 versions, 9 bugs

This commit is contained in:
2026-07-24 09:47:30 +04:00
parent 489e570f42
commit 84957a7fda
2 changed files with 138 additions and 0 deletions
+57
View File
@@ -0,0 +1,57 @@
# 2026-07-24 — Финальный поток создания инстанса
## Поток API (1:1 с Go-клиентом Terraform)
### Шаг 1: Создать инстанс
```
POST /instances
{"serviceId": 1, "displayName": "autotest-1-xxx", "descr": "autotest"}
→ 201, Location: /instances/{instanceUid}
→ извлечь instanceUid из Location
```
### Шаг 2: Создать операцию
```
POST /instanceOperations
{"instanceUid": "...", "operation": "create"}
→ 201, Location: /instanceOperations/{opUid}
→ извлечь opUid из Location
```
### Шаг 3: Задать параметры (по одному)
```
POST /instanceOperations/{opUid}/params
{"instanceOperationUid": "{opUid}", "svcOperationCfsParamId": 200, "paramValue": "false"}
```
Повторить для каждого cfsParam (12 штук для dummy).
### Шаг 4: Валидация
```
POST /instanceOperations/{opUid}/validate
(пустое тело)
```
### Шаг 5: Запуск
```
POST /instanceOperations/{opUid}/run
(пустое тело)
```
### Шаг 6: Поллинг
```
GET /instances?pageSize=200&page=1
→ искать instanceUid → ждать !operationIsInProgress && status не "creating"
→ если не нашли — page++
```
## Баг 8: `/params` без instanceOperationUid (v1.0.24-1.0.25)
- **Пропущенное поле:** `instanceOperationUid` в POST /params
- **Пропущенный шаг:** `/validate` перед `/run`
- **Исправление:** добавлены `instanceOperationUid` + `/validate`
## Баг 9: пропущен `/run` (v1.0.20-1.0.22)
- Операция создавалась но не запускалась
- Исправлено: POST /instanceOperations/{opUid}/run
## Итого: 5 шагов API + поллинг
Идентично Go-клиенту `CreateGenericInstanceUniversalV6`.