27 lines
1.2 KiB
Markdown
27 lines
1.2 KiB
Markdown
# Sonnet 4.6 — Root Cause: serviceInstanceUid
|
||
|
||
Дата: 2026-07-29
|
||
|
||
## Найдена корневая причина
|
||
|
||
**Разница в источнике данных для шага 6 (required+default params):**
|
||
|
||
| | Terraform | Autotest |
|
||
|---|---|---|
|
||
| Источник | `GET /instanceOperations/{opUid}?fields=cfsParams` — **реальная операция** | `GET /instanceOperations/default/{svc_op_id}` — **шаблон** |
|
||
| Данные | `paramValue` (автоматически заполнен Nubes) + `defaultValue` | Только `defaultValue` |
|
||
|
||
`serviceInstanceUid` — параметр, который Nubes **автоматически добавляет** в реальную операцию (шаг 3 Terraform). В шаблоне его НЕТ. Поэтому наш код его не видит → не отправляет → validate-cfs падает.
|
||
|
||
## Исправление
|
||
|
||
В `api_test.py` CREATE-ветка (строка ~210): заменить
|
||
```python
|
||
tmpl = client.get(f"/instanceOperations/default/{svc_op_id}")
|
||
```
|
||
на
|
||
```python
|
||
op_details = client.get(f"/instanceOperations/{op_uid}?fields=cfsParams")
|
||
```
|
||
И брать `paramValue` первым, `defaultValue` как fallback — как Terraform.
|