Skip to content

Commit 161852f

Browse files
authored
F OpenNebula/one#6342: Cluster quotas description (#3150)
1 parent 8a106d8 commit 161852f

File tree

2 files changed

+43
-4
lines changed

2 files changed

+43
-4
lines changed

source/intro_release_notes/release_notes/whats_new.rst

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ OpenNebula Core
99

1010
- The ability to import wild VMs into OpenNebula has been removed from code to provide a more coherent management experience across all interfaces and APIs.
1111
- The enforce parameter has been restored for the resize operation. In this context, it only manages capacity enforcement checks (memory and CPU), while the NUMA topology is always verified independently.
12+
- Option to define :ref:`Compute Quotas per Cluster <compute_quotas>` to achieve more granular control of resources.
1213

1314
Storage & Backups
1415
================================================================================

source/management_and_operations/capacity_planning/quotas.rst

+42-4
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ The attribute name is ``DATASTORE``.
4444
| IMAGES | Maximum number of images that can be created in the datastore |
4545
+---------------------+---------------------------------------------------------------+
4646

47+
.. _compute_quotas:
48+
4749
Compute Quotas
4850
--------------------------------------------------------------------------------
4951

@@ -52,6 +54,9 @@ The attribute name is ``VM``
5254
+------------------+------------------------------------------------------------------------------+
5355
| VM Attribute | Description |
5456
+==================+==============================================================================+
57+
| CLUSTER_IDS | An optional attribute used to define which clusters are included in this |
58+
| | quota. Leave this attribute empty to apply the quota globally. |
59+
+------------------+------------------------------------------------------------------------------+
5560
| VMS | Maximum number of VMs that can be created |
5661
+------------------+------------------------------------------------------------------------------+
5762
| MEMORY | Maximum memory in MB that can be requested by user/group VMs |
@@ -98,6 +103,35 @@ Each generic quota is also automatically prefixed with ``RUNNING_``. For instanc
98103

99104
Additionally, it's important to note that each generic quota defined via ``QUOTA_VM_ATTRIBUTE`` is automatically included in the ``VM_RESTRICTED_ATTR`` set. This inclusion prevents regular users from circumventing the quota system by altering the attributes related to these generic quotas.
100105

106+
Per Cluster Quotas
107+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
108+
109+
Use the ``CLUSTER_IDS`` attribute to achieve more granular control over Compute Quotas. This optional attribute specifies which clusters the quota applies to. If left empty, the quota will be applied globally. The value should be a comma-separated list of cluster IDs, and the quota will only affect VMs running in the specified clusters. Note that each cluster can be assigned to only one quota.
110+
111+
.. code-block:: bash
112+
:caption: Example of per cluster quotas
113+
114+
# Global quota to allow 4 VMs
115+
VM = [
116+
VMS = 4
117+
]
118+
# Quota for cluster 0 to allow 2 VMs
119+
VM = [
120+
CLUSTER_IDS = "0",
121+
VMS = 2
122+
]
123+
# Quota for clusters 100 and 101 to allow 3 VMs
124+
VM = [
125+
CLUSTER_IDS = "100,101",
126+
VMS = 3
127+
]
128+
129+
In this setup, the user can run:
130+
131+
* Up to **2 VMs** in **cluster 0**
132+
* Up to **3 VMs** in **clusters 100 and 101** combined
133+
* No more than **4 VMs** in total across all clusters
134+
101135
Network Quotas
102136
--------------------------------------------------------------------------------
103137

@@ -214,6 +248,8 @@ Use the ``oneuser/onegroup defaultquota`` command.
214248

215249
By default, the defaultquota is set to unlimited. Once the editor opens after issuing ``oneuser defaultquota`` you'll see comments regarding how to set the quotas and no quota template. Setting a quota with a template using unlimited values will translate to a blank quota. If you issue ``oneuser defaultquota`` again, you'll see the same comments with blank quota. If you set a non unlimited quota, you'll see the value of the quota that is established as default.
216250

251+
The Default Quotas doesn't apply for Cluster Quotas, you need to set them manually.
252+
217253
Checking User/Group Quotas
218254
================================================================================
219255

@@ -235,13 +271,15 @@ Quota limits and usage for each user/group is included as part of its standard i
235271

236272
VMS USAGE & QUOTAS
237273

238-
VMS MEMORY CPU SYSTEM_DISK_SIZE
239-
1 / 4 1M / - 2.00 / - 0M / -
274+
CLUSTERS VMS MEMORY CPU SYSTEM_DISK_SIZE
275+
1 / 4 1M / - 2.00 / - 0M / -
276+
100 0 / 0M / 128G 0.00 / 10.00 0M / -
240277

241278
VMS USAGE & QUOTAS - RUNNING
242279

243-
RUNNING VMS RUNNING MEMORY RUNNING CPU
244-
1 / - 1M / 2M 2.00 / -
280+
CLUSTERS RUNNING VMS RUNNING MEMORY RUNNING CPU
281+
1 / - 1M / - 2.00 / -
282+
100 0 / 2 0M / 128G 0.00 / -
245283

246284
DATASTORE USAGE & QUOTAS
247285

0 commit comments

Comments
 (0)