add: documentation
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
# VM Provisioning Failures Investigation
|
||||
|
||||
## Overview
|
||||
As of Jan 2026, VM creation is failing on the environment due to a backend error in the Cloud Director / Nubes platform.
|
||||
|
||||
## Technical Details
|
||||
|
||||
### The "String[] to GUID" Crash
|
||||
The server returns a ColdFusion error indicating a type mismatch during parameter validation.
|
||||
|
||||
**Error Log:**
|
||||
```
|
||||
"detail": "The value String [] cannot be converted to a value of type [guid].",
|
||||
"message": "Cannot cast String [] to a value of type [guid]",
|
||||
"rootCause": {
|
||||
"message": "Invalid call of the function [checkParam]",
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
### Failure Stage
|
||||
Using detailed HAR capture and analysis (`analyze_har_vm.py`), we identified the exact workflow step where the crash occurs.
|
||||
|
||||
**Workflow:**
|
||||
1. `vm.create` (Success)
|
||||
2. `vm.config_network` (Success)
|
||||
3. `vm.configure_vip` (Success)
|
||||
4. `vm.fw_rules` -> **FAILURE**
|
||||
|
||||
**HAR Extract:**
|
||||
```json
|
||||
{
|
||||
"stage": "Работа с сервисом",
|
||||
"stageMsg": "Добавление правил FW",
|
||||
"isSuccessful": false
|
||||
}
|
||||
```
|
||||
|
||||
### Provider Verification
|
||||
We performed a code audit to ensure the Terraform Provider was not accidentally sending a malformed "list of strings" where a GUID was expected.
|
||||
|
||||
- **File**: `internal/provider/vm_resource.go`
|
||||
- **Function**: `submitVMOperationParams`
|
||||
- **Finding**: The provider sets `SvcOperationCfsParamId` (int) and `ParamValue` (string). It specifically *omits* optional GUID fields. Use of `analyze_har_vm.py` on the HTTP dump verified that the request payload from Terraform is identical to the (also failing) manual request.
|
||||
|
||||
## Conclusion
|
||||
The firewall rule application logic on the backend is reacting to an empty or malformed input (likely an empty list `[]`) that it fails to validate before casting to a GUID.
|
||||
|
||||
**Action Item**: Elevate to Cloud Support.
|
||||
Reference in New Issue
Block a user