No. of CPU Cores in Compute Cluster doesnt display correctly when Cluster has oversubscription more than 1
- Dominant language
- Java
- Stars
- 3.1k
- Forks
- 1.4k
- Avg merge
- 6d 19h
- Merged PRs (30d)
- 32
Description
##### ISSUE TYPE
* Bug Report
##### COMPONENT NAME
~~~
Compute Cluster UI
~~~
##### CLOUDSTACK VERSION
~~~
4.19.1.1
~~~
##### CONFIGURATION
##### OS / ENVIRONMENT
##### SUMMARY
We have 2 Compute Clusters:
- Cluster 1 : Oversubcription = 1
- Cluster 2 : Oversubcription = 2
Refering to the screenshot below, Cluster 1 is showing the correct No. of CPU Cores allocated.
But for Cluster 2, it seems inaccurate. The number of allocation exceeded whats available. Resulting in a UI error.


But the bigger problem now, is that both clusters have exceeded the allocation threshold, but there was no notification sent. And neither did cloudstack stop users from creating new virtual machines from the clusters.
Without this, Admins would not be able to ensure n+1 sufficient capacity in the event of a node failure.

In summary, there are 3 Issues:
- No. Of Allocated CPU Cores should display the full available amount, after oversubscription
- Admin should get Notification if exceeded the global setting threshold (cluster.cpu.allocated.capacity.notificationthreshold)
- User should not be able to create resources into the cluster after exceeding global setting threshold (cluster.cpu.allocated.capacity.disablethreshold)
##### STEPS TO REPRODUCE
~~~
~~~
##### EXPECTED RESULTS
~~~
- No. Of Allocated CPU Cores should display the full available amount, after oversubscription
- Admin should get Notification if exceeded the global setting threshold (cluster.cpu.allocated.capacity.notificationthreshold)
- User should not be able to create resources into the cluster after exceeding global setting threshold (cluster.cpu.allocated.capacity.disablethreshold)
~~~
##### ACTUAL RESULTS
~~~
- No. Of Allocated CPU Cores should not displaying total available cores correctly, after oversubscription.
- Admin did not get Notification if exceeded the global setting threshold (cluster.cpu.allocated.capacity.notificationthreshold)
- User is able to create resources into the cluster after exceeding global setting threshold (cluster.cpu.allocated.capacity.disablethreshold)
~~~
Contributor guide
Research direction
Begin with the Compute Cluster UI behavior described for oversubscription and the settings cluster.cpu.allocated.capacity.notificationthreshold and cluster.cpu.allocated.capacity.disablethreshold. The payload names no source files or tests, so trace the displayed CPU allocation and threshold handling first; done means correct capacity display, notification, and prevention of new VM creation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- cloud, infrastructure
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100