Document entire failure chain: 13 versions, 9 bugs
This commit is contained in:
@@ -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`.
|
||||
Reference in New Issue
Block a user