Resource Quotas & Affinity Rules¶
Two placement controls live in the Identity tab alongside tenants and users: hard vCPU/RAM ceilings (cluster- and tenant-level) and affinity/anti-affinity rules that steer where VMs land.
Resource Quotas¶
Three independent ceilings can each block a VM create with a 409 if exceeded — a create must pass all that apply:
- Per-user quota — a user's own
max_vcpus/max_ram(set when creating/editing the user). - License edition cap — the free-tier VM count baked into your license.
- Cluster / tenant ceilings (this page) — operator-set hard limits on committed vCPU/RAM (the sum already allocated across existing VMs, not live load). A ceiling of
0or blank means unlimited.
Cluster ceilings — Organize Hosts into Datacenters & Clusters, edit the cluster, set Max vCPUs / Max RAM (GB).
Tenant ceilings — Identity → Resource Quotas & Usage widget, edit a tenant's Max vCPUs, Max RAM (GB), and Max Nodes (the number of distinct compute nodes that tenant's VMs may spread across — landing on a node the tenant already occupies never counts against it, only spreading to a new one does).
The widget also shows current committed usage against each ceiling so you can see how much headroom is left before you hit it.
Affinity Rules¶
Identity → Affinity Rules — hard or soft affinity/anti-affinity for a named group of VMs/containers:
- + Add Rule — set the Group name (matches the free-text
affinity_grouptag you set on a VM or LXD container, e.g. via its right-click menu). - Mode — soft (best-effort — placement prefers to honor it but won't fail a deploy if it can't) or hard (placement refuses any host that would violate it).
- Kind — affinity (keep the group's members together on the same host) or anti (spread them across different hosts — the common case for HA pairs/replicas).
- Save.
A group name with no rule row here keeps the default soft/anti behavior — you only need a rule to make a group hard-enforced or to flip it to affinity (co-locate).