Abiquo 2.6

Skip to end of metadata
Go to start of metadata

API Documentation

For the Abiquo API documentation of this feature, see Abiquo API Resources and the page for this resource AllocationRulesResource.

To manage datacenters' allocation rules, click the Infrastructure button at the top of the main screen, select a datacenter in the list, and click the button to see the datacenter detail. Inside the datacenter window, click the Allocation Rules tab.

If you have permission to modify allocation rules, you can click the allocation rules tab to manage the rules that will define the virtual machine allocation policies. From this tab, the cloud administrator can configure rules for load balance, enterprise exclusion and fit policies, to ensure that virtual machines will be allocated in the desired physical machines. For details of the allocation algorithm, see the Virtual Machine Allocation page.

The allocation rule screen is divided into two sections:

  • Global rules: Rules that apply to all datacenters.
  • Datacenter rules: Rules that apply to a single datacenter.

Rules can be added and removed by clicking the and buttons. When you have entered all the rules, click the Save button to apply the changes.

Global Rules Management

Global rules affect the allocation in all datacenters. There are two kinds of global rules: load balance, and shared server restriction. The following sections explain these rules.

Load Balance Rules

Load balance rules can be used to customize which physical machine a virtual machine will be allocated to. The allocation algorithm consists of two steps:

  1. Find a group of candidate machines where the virtual machine can be deployed.
  2. Select a single machine in that group to hold the virtual machine.

Load balance rules apply to the second step. Once a subset of candidate physical machines have been chosen, the load balance rules are applied to decide which machine in that group will be selected to hold the virtual machine.

There are two types of load balance rules:

  • PERFORMANCE: This rule makes the allocator choose a different physical machine for each virtual machine to allocate. It uses the machine with the most available resources. If more than one machine has the same resources available, it uses a round-robin algorithm that allocates each virtual machine to a different physical machine.
  • PROGRESSIVE: This rule means that all virtual machines will be allocated in the same physical machine, until it is full. This rule makes the allocator fill a physical machine, then change to another one. The allocator begins with the machine with the most available resources.

Number of load balance rules

Only one load balance rule can be defined in the global rule set.

Restrict Shared Server Rules

These rules allow you to customize enterprise exclusion rules because enterprises may want to ensure that their appliances will not be deployed on the same physical machine as the appliances of another enterprise. The Restrict shared server rules allow you to configure these enterprise exclusion rules, to guarantee that all appliances of each of the enterprises will be properly isolated.

To add a new Restrict shared server rule, select the two enterprises that must not share a physical server and add the rule.
Note that you can also restrict servers by editing an enterprise in Users view.

Number of restrict shared server rules

There is no limit on the amount of rules that can be created. The cloud admin must configure the rules properly to customize virtual machine deployments.

Datacenter Rules Management

Datacenter rules affect only the datacenter being edited. Rules are applied from more restrictive to more general, so if the same kind of rule is present in the global rule set and in the datacenter rule set, the datacenter rule will take priority.

Load Balance Rules

Load balance rules for specific datacenters are defined in the same way as global load balance rules, but will apply only to the current datacenter.
If no load balance rule is defined for the datacenter, the global load balance rule will be applied; otherwise, the load balance rule for the current datacenter will be used.

Number of load balance rules

Only one load balance rule can be defined in the datacenter rule set.

Load Level Rules

Load level rules allow you to configure allocation parameters based on machine load. The amount of CPU and RAM used is taken into account to decide if the physical machine is a candidate to hold the virtual machine being allocated.

There are three levels where load level rules apply. From most general to most specific, these are:

  • All racks: If selected, the load level rule will apply to all machines from all racks of the selected datacenter.
  • All servers: The rule will apply to all machines from the selected rack of the datacenter.
  • Specific server: The rule will only apply to the selected machine.

The example above shows a load level rule that applies only to a specific server, and defines that a virtual machine may be allocated to that server only if the RAM load is less than 90% and the CPU load of the server is less than 85%.

If there is more than one rule for a server, the most specific rule takes precedence over other more general rules. For example, consider the scenario where there is an "all servers" rule, a "rack" rule and a "server" rule, all of which apply to the same server. In this case, the server rule will be applied because it is the most specific.

Number of load level rules

There is no limit to the amount of load level rules that can be created. It is up to the cloud administrator to configure the rules properly to customize virtual machine deployments but only one rule for each level (datacenter/rack/machine) can be added.

If you create more than one load level rule per parameter on a machine, rack or datacenter, then the most restrictive rule will be applied. For example, if you create a rule for CPU of 200% and another one for CPU of 400%, then the rule for CPU of 200% will be active.

Use Allocation Rules to Redirect Deployments

You can use allocation rules to redirect deployments. For example, if you wish to gradually migrate users to a new empty hypervisor, you can set load balance rules to performance. This will ensure that new deployments will go to the new machine. 

Later, if you need to stop virtual machines from deploying to a certain physical machine, you can set load level rules to 1% for RAM and CPU. This will ensure that users cannot deploy more virtual machines to this physical machine. However, it is also important to consider that users will not be able to reconfigure the virtual machines that were already deployed there.