Skip to content
Snippets Groups Projects
Commit a6321765 authored by Bernardo Dal Seno's avatar Bernardo Dal Seno
Browse files

Amend partitioned design doc for multiple ispecs


There will be only one standard specification in instance policies.

Signed-off-by: default avatarBernardo Dal Seno <bdalseno@google.com>
Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
parent e118deb1
No related branches found
No related tags found
No related merge requests found
...@@ -163,10 +163,12 @@ defined at node-group level. ...@@ -163,10 +163,12 @@ defined at node-group level.
Currently it's possible to define an instance policy that limits the Currently it's possible to define an instance policy that limits the
minimum and maximum value for CPU, memory, and disk usage (and spindles minimum and maximum value for CPU, memory, and disk usage (and spindles
and any other resource, when implemented), independently from each other. We and any other resource, when implemented), independently from each other. We
extend the policy by allowing it to specify more specifications, where extend the policy by allowing it to contain more occurrences of the
each specification contains the limits (minimum, maximum, and standard) specifications for both the limits for the instance resources. Each
for all the resources. Each specification has a unique priority (an specification pair (minimum and maximum) has a unique priority
integer) associated to it, which is used by ``hspace`` (see below). associated to it (or in other words, specifications are ordered), which
is used by ``hspace`` (see below). The standard specification doesn't
change: there is one for the whole cluster.
For example, a policy could be set up to allow instances with this For example, a policy could be set up to allow instances with this
constraints: constraints:
...@@ -183,12 +185,11 @@ Ganeti will refuse to create (or modify) instances that violate instance ...@@ -183,12 +185,11 @@ Ganeti will refuse to create (or modify) instances that violate instance
policy constraints, unless the flag ``--ignore-ipolicy`` is passed. policy constraints, unless the flag ``--ignore-ipolicy`` is passed.
While the changes needed to check constraint violations are While the changes needed to check constraint violations are
straightforward, ``hspace`` behavior needs some adjustments. For both straightforward, ``hspace`` behavior needs some adjustments for tiered
standard and tiered allocation, ``hspace`` will start to allocate allocation. ``hspace`` will start to allocate instances using the
instances using the specification with the highest priority, then it maximum specification with the highest priority, then it will try to
will fall back to second highest priority, and so on. For tiered lower the most constrained resources (without breaking the policy)
allocation, it will try to lower the most constrained resources (without before moving to the second highest priority, and so on.
breaking the policy) before going to the next specification.
For consistent results in capacity calculation, the specifications For consistent results in capacity calculation, the specifications
inside a policy should be ordered so that the biggest specifications inside a policy should be ordered so that the biggest specifications
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment