GetVirtualMachinesMetricID method throwing panic error when accessing VMs from reponse
- Dominant language
- Go
- Stars
- 39
- Forks
- 47
- PR merge metrics
- No merged PRs in 30d
Description
**Problem**: VirtualMachineService.GetVirtualMachinesMetricID method throws panic when it is trying to access the VMs response from server in below line of code. This happens when the count in the response is 1 but the actual VirtualMachinesMetrics array in the reponse is nil or empty. This is causing panic in the caller [CAPC](https://github.com/kubernetes-sigs/cluster-api-provider-cloudstack/blob/7b87895be9aa7d9dca1e2f70892feafd33ca4e59/pkg/cloud/instance.go#L61)
panic error is happening at: https://github.com/apache/cloudstack-go/blob/main/cloudstack/VirtualMachineService.go#L5543
**error**: `panic: runtime error: index out of range [0] with length 0`
version of cloudstack-go used: `2.16.1`
Please help investigate this error and let us know if this response is not expected
Contributor guide
No contributing guide indexed for this repository
Research direction
Inspect cloudstack/VirtualMachineService.go at line 5543 and the caller in pkg/cloud/instance.go at line 61 of CAPC. Reproduce the response where count is 1 but VirtualMachinesMetrics is nil or empty, then establish the expected handling so the method no longer panics and the response behavior is documented or covered by a regression test.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- api
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100