Skip to content

Commit 05e083d

Browse files
authored
Add cluster ordering by host capacityType doc (#524)
1 parent b5a72fc commit 05e083d

File tree

1 file changed

+60
-1
lines changed

1 file changed

+60
-1
lines changed

source/adminguide/vm_volume_allocators.rst

Lines changed: 60 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,4 +77,63 @@ firstfitleastconsumed Selects the first storage pool after sorting elig
7777

7878
**volume.allocation.algorithm**: random (default)
7979

80-
Before 4.21.0, **vm.allocation.algorithm** was used for both VM as well as Volume allocation.
80+
Before 4.21.0, **vm.allocation.algorithm** was used for both VM as well as Volume allocation.
81+
82+
83+
Cluster, Pod and Host Ordering
84+
==============================
85+
86+
Overview
87+
--------
88+
89+
`The host.capacityType.to.order.clusters` is a global advanced configuration parameter in Apache CloudStack that controls how pods, clusters,
90+
and hosts are prioritized during Instance deployment, based on available CPU, RAM, or a weighted combination of both in Host.
91+
This configuration is specifically leveraged when the VM allocation algorithm is set to `firstfitleastconsumed`.
92+
93+
Configuration
94+
-------------
95+
96+
Key: `host.capacityType.to.order.clusters`
97+
98+
.. cssclass:: table-striped table-bordered table-hover
99+
100+
========= ========================
101+
Value Behavior
102+
========= ========================
103+
CPU Prioritizes resources with the most available CPU.
104+
RAM Prioritizes resources with the most available memory.
105+
COMBINED Uses a weighted formula to balance CPU and RAM in prioritization.
106+
========= ========================
107+
108+
**Additional Configuration for COMBINED**
109+
110+
- Key: `host.capacityType.to.order.clusters.cputomemoryweight`
111+
- Type: Float(0.0 to 1.0)
112+
- Default: 0.5
113+
- Purpose: Determines the weight of CPU vs RAM in the combined capacity calculation.
114+
115+
Capacity calculation formula:
116+
117+
.. code:: bash
118+
119+
capacity = (host.capacityType.to.order.clusters.cputomemoryweight * CPU) + ((1 - host.capacityType.to.order.clusters.cputomemoryweight) * RAM)
120+
121+
122+
This allows flexible tuning of prioritization depending on workload sensitivity.
123+
124+
Example Configuration
125+
---------------------
126+
127+
.. code:: bash
128+
129+
host.capacityType.to.order.clusters: COMBINED
130+
host.capacityType.to.order.clusters.cputomemoryweight: 0.7
131+
132+
Above config prioritizes CPU at 70% weight and RAM at 30% when ranking pods, clusters, and hosts.
133+
134+
.. note::
135+
- `host.capacityType.to.order.clusters` is only respected for host ordering when:
136+
.. code:: bash
137+
138+
vm.allocation.algorithm: firstfitleastconsumed
139+
- When using COMBINED, make sure to tune cpu.to.memory.capacity.weight to reflect your environment’s resource constraints and workload profiles.

0 commit comments

Comments
 (0)