Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


Compute hosts (aka hypervisors) can be grouped to different host pools. This allows separation of hosts with different purpose and configuration. Virtual Machines designated to a particular pool will stay in the pool throughout its lifetime. Only admin users have the capability to move Virtual Machines between pools. Host pools are grouped by their storage cluster. Virtual Machines can only be moved between pools that are using the same storage cluster.

Host pools are designed to separate physical hosts that still share common storage and network.

Possible Use Cases

  • Selling different CPU types for different prices, user can choose between standard Intel (cheaper) or performance AMD (more expensive) CPU when creating a Virtual Machine.

  • Selling hosts with different resource overcommit with different prices, user can choose between standard cluster with CPU overcommit or “dedicated” cluster where the number of vCPUs running on a host never exceeds the actual number of CPU threads the host has.

  • Easier management of hosts with different CPU features.

  • Selling block storage from clusters with different performance for different prices.

  • Keeping good players in a hidden pool on hosts where no other user can create resources.

  • Keeping bad players in a hidden pool on hosts where they don’t bother other users.

Host Pool Concepts

Storage pool corresponds to a Ceph cluster. There can be multiple Ceph clusters in one location. A compute host can only be configured to one storage pool/Ceph cluster.

Host pool is a group of similar hosts (hypervisors). When starting a Virtual Machine, a host is chosen from the VM’s designated host pool. CPU type, CPU and RAM allocation coefficients and the storage pool are defined on host pool level. To end-user, host pool is shown as server class when creating a new VM.


Pool Management

Every location has at least 1 host pool and storage pool defined by default. Host pools are local to a location, they cannot span across multiple locations. All hypervisors must be assigned to some host pool.


  1. Name of the host pool and UUID for filtering in hosts table

    • Name can be seen by end-user

  2. Description about host pool purpose

    • Can be seen by end-user

  3. CPU model - this is QEMU / KVM CPU model configuration that applies to all hosts in that pool.
    The CPU model configuration in QEMU/KVM refers to the settings that define the virtual CPU that is presented to the guest operating system running inside a virtual machine. Selecting a CPU model that closely matches the hardware of the physical host machine can help ensure compatibility with device drivers and system libraries.
    It is vital to configure a CPU model that is supported by all hosts in that pool. The platform expects virtual machine live migrate to be possible between all hosts in a particular pool. A common baseline between host CPUs must be configured if hosts with different CPUs are present in one pool.

  4. Virtual CPU coefficient - CPU overcommit factor for virtual CPUs. The number of available vCPUs on a host is calculated by the number of physical threads on that host times the host pool CPU overcommit factor. E.g., for a host that has 24 physical threads in a host pool that has 2.5 CPU coef., the number of vCPUs available for virtual machines will be
    24 physical threads * 2.5 = 60 virtual CPUs

  5. Virtual Memory coefficient - Defines how much physical memory is reserved for allocation to virtual machines. The recommended value 0.8 means that 80% is reserved for VMs and the other 20% is reserved for management overhead. E.g., for a host that has 140 GB of RAM in a host pool that has 0.8 Mem coef., the amount of RAM available for virtual machines will be
    140 GB * 0.8 = 112

  6. Default Pool for VMs - new VMs that are created will have this as their designated pool by default. The default applies to both API and, if pool (server class) selection is visible to the user, also to the default selection in Create VM view.

  7. Pool is visible - A visible pool is presented to the end user in Create VM view as a selectable Server class option. The Default Pool for VMs will be auto-selected. By default host pools are not visible.

  8. Hosts - shows number of hosts assigned to that host pool. Clicking on the number will open Hosts table view, showing only hosts from that pool.

  9. Default pool for hosts - useful when adding new hosts to a location, new hosts will self-register to the selected pool.

  10. Storage pool name and UUID - all hosts in this pool must all have this storage cluster configured in their OS configuration. Different host pools can share a storage pool. Storage pool name is not visible to end-user.

  11. Action buttons for host pools -

    1. Edit (similar to Create view) -

      Image Removed

      Storage pool can only be changed if there are no hosts in that host pool currently. When a storage pool is selected for a host pool, only hosts with the same storage pool can be added to the host pool.

      Image Added
    2. Delete -

      • Host pool must not contain any hosts

      • No Virtual Machine must have this pool as its designated pool


Admins can change VM’s designated pool in VM details view. Do note that for a running VM, changing the designated pool does not cause the VM to switch hosts automatically.

VM disks are bound to the storage cluster that they were created in. This means that new designated pool selection is limited to host pools that have the same storage pool configured as the current designated pool. VMs cannot be migrated to another storage cluster.


After changing the designated pool, one of two actions should follow:


It is possible to set different prices for CPU and RAM , RAM and disk/block storage depending on the Server class (host pool). In the Prices configuration view, clicking on Add button (1) will open a dialog with dropdown (2) from where either a location or a host pool in that location can be chosen. Locations or host pools that already have a price list are not selectable in the dropdown.


Although the host pool specific price list will only apply to CPU, RAM and RAMdisk, it is advisable to define prices for all resources, copying them from the location specific or the global default price list. This will make it easier for users to read and understand price lists.