Statistics
| Branch: | Tag: | Revision:

root / src / Ganeti / HTools @ 268fb0bd

# Date Author Comment
268fb0bd 11/15/2013 05:40 pm Klaus Aehlig

hsqueeze: add option to show or save commands

Add an option to hsqueeze to show, or save in a file, the commands
that have to be carried out.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Hrvoje Ribicic <>

bbc6620d 11/15/2013 05:40 pm Klaus Aehlig

hsqueeze: when balancing also keep the move sequence

In hsqueeze, when computing the balancing sequence, also
remember the sequence of moves that lead there.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Hrvoje Ribicic <>

94a420ed 11/15/2013 05:39 pm Klaus Aehlig

Add function to get the moves between two configurations

Add a function that, given two adjacent cluster configurations of
a balancing sequence, computes the moves that led from the first
to the second configuration.

Signed-off-by: Klaus Aehlig <>...

b12a6a00 11/15/2013 05:39 pm Klaus Aehlig

In the list of involved nodes, drop "no secondary"

When grouping moves into jobs, a new job set is started, if the new
move involves a node also touched by a previous move. When computing
the list of involved nodes, the new primary and secondary nodes of the...

7c3a6391 11/15/2013 05:39 pm Klaus Aehlig

Move saving of a command list to CLI

Move the function that saves a list of a command in a file
to CLI.hs. In this way, it is reusable by other htools.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Hrvoje Ribicic <>

c407510c 10/31/2013 06:00 pm Klaus Aehlig

hsqueeze: support planing for onlining nodes

If the amount of free resources falls below a given threshold,
hsqueeze will suggest putting standby nodes back online until
the minimum of free resources is reached, or all standby nodes
are online.

Signed-off-by: Klaus Aehlig <>...

9c53f891 10/31/2013 06:00 pm Klaus Aehlig

Add an --minimal-resources option

Add a new option, to be used by hsqueeze, to specify
the amount of free resources that has to be on each
node, in order not to start onlining standby nodes.
It is given as a multiple of the standard allocation,
as specified by the instance policy....

b679628f 10/31/2013 05:59 pm Klaus Aehlig

Text Backend: correctly read data for offline nodes

With standby nodes, simply ignoring the specification of
an offline node is not sufficient any more.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Helga Velroyen <>

7839bb67 10/31/2013 05:59 pm Klaus Aehlig

Change default for target resource to 2.0

The target resources, as used by hsqueeze, are supposed to
be strictly higher than the minimal resources. However,
keeping minimal resources of less than a single instance
is not a useful reserve.

Signed-off-by: Klaus Aehlig <>...

5f6e9cb9 10/29/2013 02:26 pm Klaus Aehlig

Add hsqueeze planning for compression

Add a new htool, hsqueeze, for dynamic power management. This
commit only implements the first useful part: plan (but not
executing) taking nodes offline nodes still keeping within the
resource limit.

Signed-off-by: Klaus Aehlig <>...

d2fd234c 10/29/2013 02:26 pm Klaus Aehlig

Provide --target-resources option

Add a new option, to be used by hsqueeze, to specify the
target free resources on each node. It is given as a multiple
of the standard allocation, as specified in the instance policy.

Signed-off-by: Klaus Aehlig <>...

8397ffde 10/08/2013 03:57 pm Jose A. Lopes

Hs2Py constants: constants related to 'Ganeti.Htools.Types'

Add constants related to the Haskell types defined in
'Ganeti.Htools.Types' to the Haskell to Python constant generation.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Thomas Thrainer <>

d067f40b 10/02/2013 03:50 pm Jose A. Lopes

Merge 'EvacNode' and 'NodeEvacMode'

Merge 'EvacMode' and 'NodeEvacMode' which are associated with the
duplicated constants 'IALLOCATOR_NEVAC_*' and 'NODE_EVAC_*'. This
merge moves the type 'EvacMode' to 'Ganeti.Types' in order to avoid a
circular dependency between 'Ganeti.HsConstants' and...

33ce4d2d 09/30/2013 03:20 pm Spyros Trigazis

Add test for mond-data mock file

Test if the input file imported with the --mond-data option is
parsed properly.

Signed-off-by: Spyros Trigazis <>
Signed-off-by: Michele Tartara <>
Reviewed-by: Michele Tartara <>

c62bec27 09/30/2013 03:20 pm Spyros Trigazis

Import MonD data from file

Implement functionality to import MonD data from a mock file to
HTools (mainly for testing purposes) with the --mond-data
option.

Signed-off-by: Spyros Trigazis <>
Signed-off-by: Michele Tartara <>...

c32c4e4d 09/30/2013 03:20 pm Spyros Trigazis

Fetch data from MonD to HTools

Contact all MonDs from HTools to fetch data from its Data
Collectors (only CPUload Data Collector is queried at the
moment). This information is available to all HTools with the
--mond option and can be ignored if the --ignore-dynu option is...

14b4e045 09/12/2013 06:26 pm Klaus Aehlig

Make hbal support the option --ignore-dynu

This will allow to do balancing based only on static information.
In particular, the effect of balancing towards same number of
instances per node that the dynamic usage consideration has
if no usage file is provided, can be turned off, if this is...

81b6fa23 09/12/2013 06:25 pm Klaus Aehlig

Make ExtLoader honor the --ignore-dynu option

Make the external data loader correctly honor the --ignore-dynu option
by clearing the dynamic utilisation data from all instances if the option
is given.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Michele Tartara <>

a06a4dac 09/12/2013 06:25 pm Klaus Aehlig

Provide utility function to clear utilisation data

Using this utility function, the dynamic utilisation of all instances
can be set to 0. This will have the effect of all utilisation being ignored.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Michele Tartara <>

61f96e6f 09/12/2013 06:25 pm Klaus Aehlig

Define a new option --ignore-dynu

This option, if set, will tell htools to ignore any dynamic
use data.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Michele Tartara <>

5cbf7832 08/08/2013 10:31 am Jose A. Lopes

Fix opcodes and parameters

  • fix some return types in opcodes and some types and documentation in
    parameters.
  • fix serialization of the default value of the 'name' parameter in
    the opcodes related to tags when tag kind is 'cluster'
  • revert changes to 'pShutdownTimeout'' and its references because the...
1ca326c8 08/07/2013 06:46 pm Thomas Thrainer

Merge branch 'stable-2.9'

  • stable-2.9
    Fix batch creation of instances
    Fix documentation of gnt-instance batch-create
    Support multi instance allocs without iallocator
    Support DSA SSH keys in bootstrap
    Include VCS version in `gnt-cluster version`...
804d72eb 08/07/2013 05:41 pm Thomas Thrainer

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Fix batch creation of instances
    Fix documentation of gnt-instance batch-create
    Support multi instance allocs without iallocator
    Support DSA SSH keys in bootstrap
    Include VCS version in `gnt-cluster version`...
6e94b75c 08/07/2013 10:41 am Jose A. Lopes

Update Harep, Query server, and tests

Update Harep, Haskell query server, and tests concerning Luxi and
opcodes to reflect the changes to Haskell to Python opcode
generation. This change is necessary because TagObject is replaced by
TagKind and some types in opcodes and parameters changed to be...

aa7a5c90 07/30/2013 04:12 pm Michele Tartara

Add cleanup parameter to instance failover

Most of the code is shared with instance migrate, so we actually only need
to add the parameter and pass its value along the the common code.

Also, tests and harep are updated to support the right set of options to...

76825515 07/05/2013 03:12 pm Klaus Aehlig

Merge branch 'stable-2.8' into master

  • stable-2.8:
    Also remove prop_IterateAlloc_sane from test list
    Fix documentation for prop_Alloc_sane
    Remove IterateAllocSane test
    Clean up work around for host name filtering
    Do not handle host queries special...
c8c071cb 07/01/2013 02:40 pm Bernardo Dal Seno

Load CPUs used by the node OS in htools

A new field is added to the Node type, and it's used to initialize the used
CPUs field.

The signature of Node.create has been split among lines to match the
parameter list.

Signed-off-by: Bernardo Dal Seno <>...

a12b230c 07/01/2013 10:53 am Klaus Aehlig

hroller: option --full-evacuation

Add an option to hroller, to plan for full evacuation of the
nodes to be rebooted, i.e., also plan for replacement secondary
nodes for all instances on the node after migrating out instances
with this node as primary.

Signed-off-by: Klaus Aehlig <>...

fdbdeaa3 07/01/2013 10:53 am Klaus Aehlig

Extract a partition functional

Separate the partitionNonRedundant function in hroller into a
general functional that partitions a list of nodes according
to some clearing strategy and the specialization of moving
non-redundant instances out. In this way, we don't have to...

a947a583 07/01/2013 10:53 am Klaus Aehlig

Extract functional for greedily clearing nodes

The method clearNodes in hroller greedily clears nodes of
non-redundant instances by moving them to a different node. This patch
separates the greedy clearing algorithm from the specialization to
non-redundant instances; in this way, we don't have to duplicate code...

634a1460 07/01/2013 10:52 am Klaus Aehlig

Make hroller not consider offline nodes for evacuation

When planing on where to evacuate the non-redundant instances
of the nodes to be rebooted, it doesn't make sense to consider
offline nodes. So add this restriction to hroller.

Signed-off-by: Klaus Aehlig <>...

a8cbe1d7 07/01/2013 10:52 am Klaus Aehlig

Update comments in hroller code

hroller schedules moves of instances to have rebooted nodes
free of instances with this node as primary. Update the comments
to reflect that this move planning is for non-redundant instances
only.

Signed-off-by: Klaus Aehlig <>...

34ad1d7c 07/01/2013 10:52 am Klaus Aehlig

Remove obsolete TODO

Originally, hroller started as a tool for offline maintenance only.
There it made sense to warn about instances still running. By now,
default planning is to migrate instance off the nodes to be rebooted,
with options for other behavior (like pretending that all instances...

418a9d72 06/26/2013 02:42 pm Klaus Aehlig

Support big-step shrinking in tiered allocation

In tiered allocation, if by shrinking only a single resource a valid
allocation can be found, shrinking is bound to shrink on this resource.
Of course, after shrinking that resource a little bit without finding...

da4a52a3 06/20/2013 05:04 pm Thomas Thrainer

Index instances by their UUID

No longer index instances by their name but by their UUID in the cluster
config. This change changes large parts of the code, as the following
adjustments were necessary: * Change the index key to UUID in the configuration and the...

0cac64ac 06/20/2013 02:46 pm Klaus Aehlig

Merge branch 'stable-2.8' into master

  • stable-2.8
    In tiered allocation, cut non-promising shrinking tries
    Add confd user to masterd group

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Thomas Thrainer <>

f9e7e331 06/20/2013 08:12 am Klaus Aehlig

In tiered allocation, cut non-promising shrinking tries

The heuristics for tiered allocation has been improved in that it
chooses to shrink such a resource next where by shrinking only this
resource a valid allocation can be made, if such a resource exists....

f5c4553b 06/18/2013 06:24 pm Michele Tartara

Merge branch 'stable-2.8' into 'master'

  • stable-2.8
    Version bump to 2.8.0~alpha1
    Make cfgupgrade idempotent
    Update config version number when downgrading
    Add test for shrink heuristics over different resources
    Improve hspace shrinking strategy...
20d2476e 06/17/2013 05:36 pm Klaus Aehlig

Improve hspace shrinking strategy

In tired allocation, hspace shrinks that resource of the instance
next, that causes failure on most nodes. While, this is not a bad
strategy in general, it can lead hspace into a dead end if for a large
number of nodes a particular resource blocks any further allocation of...

d6cc980d 06/14/2013 12:16 pm Klaus Aehlig

Merge branch 'stable-2.7' into stable-2.8

  • stable-2.7
    Make shrinkByType aware of individual disks
    Add a test for hspace to respect instance policy

Conflicts: (trival, take union of added files/tests)
Makefile.am
test/hs/shelltests/htools-hspace.test...

bfa9a5d1 06/14/2013 11:15 am Klaus Aehlig

Make shrinkByType aware of individual disks

When shrinking an instances, you can't just get smaller disk footprint
while leaving the individual disks as they are. Make the shrink
heuristic aware of that fact, and decrease all individual disks as
well. Fixes issue 484....

1c3231aa 06/13/2013 12:32 pm Thomas Thrainer

Index nodes by their UUID

No longer index nodes by their name but by their UUID in the cluster
config. This change changes large parts of the code, as the following
adjustments were necessary: * Change the index key to UUID in the configuration and the
ConfigWriter, including all methods....

c472667f 06/12/2013 03:03 pm Klaus Aehlig

Add missing parenthesis to description of --machine-readable

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Helga Velroyen <>

e7aa0b03 06/10/2013 06:04 pm Klaus Aehlig

Add type annotation to avoid monomorphism restriction

Even though we need the let-bound variable showMoves only
at type [(String, String)] -> IO (), it's most general type
would be (PrintfArg a, PrintfArg b) => [(a, b)] -> IO ().
This causes the monomorphism restriction apply to that binding,...

30ce253e 06/10/2013 04:57 pm Klaus Aehlig

add option --print-moves to hroller

If non-redundant instances are present in the cluster, hroller will
plan for them to move to other nodes while the group is rebooted.
This adds an option to also show this plan.

Signed-off-by: Klaus Aehlig <>...

0cc3d742 06/07/2013 04:11 pm Bernardo Dal Seno

hspace prints info about spindles

Statistics about spindles are tracked. In human-readable output, spindles
are printed only when used (i.e., exclusive storage is enabled). For
machine-oriented output, they are always there.

Signed-off-by: Bernardo Dal Seno <>...

773bc9e3 06/07/2013 04:11 pm Bernardo Dal Seno

Add support for shrinking an instance spindles-wise

This makes tiered allocation in hspace work also with respect to spindles.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Klaus Aehlig <>

914c6df4 06/07/2013 04:11 pm Bernardo Dal Seno

Spindles become part of htools resource spec

Spindles are now part of resource spec. Instances get created with spindles
specified (which are just ignored when exclusive storage is disabled).

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Klaus Aehlig <>

825f8cee 06/07/2013 04:11 pm Bernardo Dal Seno

htools cluster score takes spindles into account

When exclusive storage is enabled, spindles are used instead of disk space
to compute the cluster score.

Comments and variable names in computePDsk has been changed to match the
actual code.

Signed-off-by: Bernardo Dal Seno <>...

74ff6aed 06/07/2013 04:11 pm Bernardo Dal Seno

Update spindles when moving instances in htools

Spindles get updated, and errors raised when not enough free spindles
exist. No new error is raised when exclusive storage is disabled.

Unit tests included.

Signed-off-by: Bernardo Dal Seno <>...

fcfc0c2d 06/07/2013 04:11 pm Bernardo Dal Seno

Unit tests for htools and exclusive storage

The existing tests are run also on nodes with exclusive storage enabled. The
values for spindles and exclusive storage are set in a consistent way, for
both nodes and instances.

Signed-off-by: Bernardo Dal Seno <>...

0ec8cce2 06/07/2013 04:11 pm Bernardo Dal Seno

Load complete instance disk information through LUXI

Information about size and spindles of all the disks of an instance is loaded
by the LUXI backend, instead of faking one equivalent big disk. In this way
instance policy checks are more accurate.

Signed-off-by: Bernardo Dal Seno <>...

96f9b0a6 06/07/2013 04:11 pm Bernardo Dal Seno

Load node spindles data in htools

The data structure for nodes gets a new field for free spindles, and the
existing field for total spindles gets renamed to avoid identifying it with
the node parameter that had the same name. These fields get filled with...

8c72f711 06/07/2013 04:11 pm Bernardo Dal Seno

Refactor reading live data in htools

This simplifies different handling of individual items.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Klaus Aehlig <>

5a13489b 06/03/2013 04:15 pm Bernardo Dal Seno

Check real spindles in ipolicies

When exclusive storage is enabled, the spindles in instance disks are used
to check the instance policies (as outlined in design-partitioned.rst).

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Klaus Aehlig <>

6ef49eef 06/03/2013 04:15 pm Bernardo Dal Seno

Check the full instance specs in htools

Spindles and disk count are checked too. Existing functions have been
refactored, so common parts are not duplicated.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Klaus Aehlig <>

2724417c 06/03/2013 04:15 pm Bernardo Dal Seno

Add spindles to instance disks in htools

A new data type is introduced for disks to store both size and spindles.
When available, spindles are filled with input data. Except for loading and
storing, spindles are ignored.

Signed-off-by: Bernardo Dal Seno <>...

c324da14 06/03/2013 04:15 pm Bernardo Dal Seno

Load exclusive_storage in htools

The node parameter is loaded into the data structures. No behavior is yet
modified.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Klaus Aehlig <>

c09359ee 06/03/2013 04:14 pm Bernardo Dal Seno

Add unit test for text backend + fix bug

Test serialization and deserialization of instances. Fix check of secondary
node.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Klaus Aehlig <>

f2e50930 06/03/2013 11:25 am Klaus Aehlig

Restrict instance moves in hroller to the same node group

When scheduling rolling reboots, hroller looks for nodes to evacuate
the non-redundant instances to. This is done by greedily moving
instances to other nodes that can take them, policy wise and capacity...

342a9b3b 05/31/2013 04:36 pm Bernardo Dal Seno

Merge branch 'stable-2.8' into master

  • stable-2.8:
    Document users-setup tool
    Adjusting permissions after confd start
    Ensure the queue socket has the right permissions
    Update IAllocator interface documentation
    Add NEWS entry for hail honoring networks...
017160ed 05/29/2013 10:53 am Thomas Thrainer

Add tests for network-aware allocation

hail-alloc-invalid-network defines a cluster with two nodegroups and an
allocation request which does not fit on any of the groups. Group 1 has
invalid disk-templates while Group 2 is not connected to the right
networks....

b1142361 05/29/2013 10:52 am Thomas Thrainer

Honor network connections in hail

Before trying to allocate nodes in node groups, node groups are now
filtered based on the networks they are connected to an the networks
which are required by the new instance.

Signed-off-by: Thomas Thrainer <>...

908c2f67 05/29/2013 10:52 am Thomas Thrainer

Parse NIC data from allocation request in hail

Add a NIC type and extend the Instance type by a list of NIC's. Parse
the NIC's in allocation requests and store them for now. Later patches
will make use of this field in order to ensure that the requested
instance is only placed in node groups wich are connected to those...

a0be8f1a 05/29/2013 10:52 am Thomas Thrainer

Support group networks in Text backend

The Text backend now parses network UUID (comma separated) and
serializes them in the same form.
The test data is adapted to the new format.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Guido Trotter <>

c8b199db 05/29/2013 10:52 am Thomas Thrainer

Parse node group networks

Extend the Group by the network ids it is connected to. Adapt
the IAlloc backend such that the networks are parsed correctly.
This also required the adaption of test data.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Guido Trotter <>

23247a73 05/22/2013 12:08 pm Klaus Aehlig

hroller: option to ignore non-redundant instances

Add an option to hroller restoring the old behavior on not taking
any non-redundant instances into account when forming reboot
groups.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Guido Trotter <>

86c346db 05/22/2013 12:08 pm Klaus Aehlig

Make hroller also plan for non-redundant instances

Non-redundant instances need to be moved to a different node
before maintenance of the node. Even though they can be moved to
any node, there must be enough capacity to host the instances of the
reboot group to be evacuated....

89363f98 05/22/2013 12:07 pm Klaus Aehlig

hroller: option to skip nodes with non-redundant instances

So far, hroller ignores the fact, that non-redundant instances exist.
One option to deal is non-redundant instances is to not schedule those
nodes for reboot. This is supported by adding the option --skip-non-redundant....

3409c0af 05/22/2013 12:07 pm Klaus Aehlig

Remove trailing whitespace

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Guido Trotter <>

8d38fb72 05/10/2013 01:55 pm Klaus Aehlig

Support online-maintenance in hroller

Make hroller take into account the nodes (redundant) instances
will be migrated to. This be behavior can be overridden by the
--offline-maintenance option which will make hroller plan under
the assumption that all instances will be shutdown before starting...

30fded87 05/10/2013 01:55 pm Klaus Aehlig

Support construction of the graph of all reboot constraints

For online rolling reboots, there are two kind of restrictions. First,
we cannot reboot the primary and secondary nodes of an instance
together. Secondly, two nodes cannot be rebooted simultaneously, if...

2207220d 05/10/2013 01:55 pm Klaus Aehlig

Add option --one-step-only to hroller

Add a new option to hroller to only output information about the first
reboot group. Together with the option --node-tags this allows for the
following work flow. First tag all nodes; then repeatedly compute the
first node group, handle these nodes and remove the tags. In between...

a39779f6 05/10/2013 01:54 pm Klaus Aehlig

Sort reboot groups by size

Make hroller output the node groups not containing the master node
sorted by size, largest group first. The master node still remains
the last node of the last reboot group. In this way, most progress
is made when switching back to normal cluster operations after the...

004398d0 05/07/2013 07:40 pm Klaus Aehlig

Fix lint errors (redundant bracket)

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Guido Trotter <>

313fdabc 05/07/2013 06:59 pm Klaus Aehlig

Add option to hroller to select nodes based on tags

Add option --node-tags to tell hroller to consider only nodes
with these tags. A use case would be a tag tracking on which
nodes the maintenance has not yet been carried out, e.g., if
rolling reboots are interleaved with other cluster operations....

267bc1f4 05/07/2013 06:59 pm Klaus Aehlig

Make Rapi backed set node tags correctly

Since the htools representation of a node now allows adding
the node tags, populate this field correctly in the Rapi
backend.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Guido Trotter <>

f33c06b8 05/07/2013 06:59 pm Klaus Aehlig

Make LUXI backed set node tags correctly

Since the htools representation of a node now allows adding
the node tags, populate this field correctly in the LUXI
backend.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Guido Trotter <>

4b542ebc 05/07/2013 06:58 pm Klaus Aehlig

Extend the text format to contain node tags

In order to allow htools to make use of node tags, add them to the
text format. This is done by adding a new column at the end of the
node lines. If this column is missing, the default value (which
is the empty list) is left unchanged, thus yielding the current...

07ea9bf5 05/07/2013 06:58 pm Klaus Aehlig

Extend the Node in the htools to allow adding node tags

Since hroller (and probably other tools in the future) will support
node selection based on node tags, extend the node data structure to
allow adding this information.

Signed-off-by: Klaus Aehlig <>...

442d5aae 05/07/2013 06:58 pm Klaus Aehlig

Make hroller filter the nodes before coloring the graph

Hroller used to first compute a coloring of the node graph and then
filter out the nodes that it had to work on. While the only filtering
was according to node groups this did not make a difference, as there...

318c0a6c 05/07/2013 06:58 pm Klaus Aehlig

Make mkNodeGraph ignore edges to non-present nodes

Change the behavior of mkNodeGraph to tacitly ignore all instances
where one of the nodes is not in the list of nodes. In this way, we
can construct sub-graphs by filtering the nodes and ignoring any
possibly added isolated nodes for the missing indexes....

53822ec4 04/29/2013 06:54 pm Bernardo Dal Seno

hspace: Handle multiple ipolicy specs

With tiered allocation, hspace uses all the max specs in turn as the
initial instance spec.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Helga Velroyen <>

41044e04 04/29/2013 06:53 pm Bernardo Dal Seno

Add multiple min/max specs in instance policy

Now instance policies can contain more than one min/max specs. This is the
main element of the "Constrained instance sizes" section in the
"Partitioned Ganeti" design doc.

This is a big patch, but changing the type of a configuration item requires...

30dd3377 04/22/2013 07:43 pm Klaus Aehlig

Extend the simulation backend to also simulate a master node

In a simulated cluster as created by the simulation backend to
the htools, make the first node of the first node group the master
node. In this way, hools (like hroller) that require a master node...

000ca91a 04/22/2013 07:43 pm Klaus Aehlig

Extend Text format by marking the master node

Sometimes, e.g., for hroller, it is necessary to know which node
is the master node. Therefore this information has to be included
in the text format as well. Since we never use an offline node as
master node, we can put this information can be put in the "is...

7dbe4c72 04/19/2013 02:54 pm Klaus Aehlig

Make hroller insist on finding precisely one master node

As people rely on the master node being the last node of the last
group, make hroller fail, if no master node could be found in the
cluster. This happens, e.g., if a backend format is used that does not...

bf028b21 04/19/2013 02:54 pm Klaus Aehlig

In Rapi, set master correctly

The cluster data contains the information about the master
node. Use this information to set the isMaster bit correctly.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Guido Trotter <>

f40fe08c 04/19/2013 02:54 pm Klaus Aehlig

In Luxi, set the master correctly

The cluster data contains the information about the master
node. Use this information to set the isMaster bit correctly.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Guido Trotter <>

09ab9fb2 04/19/2013 02:54 pm Klaus Aehlig

Utility function to set the master node in a node list

The information about which node is the master node is a cluster-wide
setting, in most formats provided independently of the node information.
Most backends therefore have to set the isMaster bit indepently in the...

5b658b83 04/19/2013 02:54 pm Klaus Aehlig

Make Hroller present master node last

If in the list of nodes to be scheduled for maintaince,
one is marked as being the master node, schedule it
as the last node in the last group.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Guido Trotter <>

6c332a37 04/19/2013 02:53 pm Klaus Aehlig

Extend the node description by isMaster

Extend the description of the node by the property
of being the master node; also provide and appropriate
setter function. This property will be used, e.g., by
hroller to schedule reboot of the master last.

Signed-off-by: Klaus Aehlig <>...

ffc18bb2 04/17/2013 10:29 pm Thomas Thrainer

Fix warnings hlint 1.8.43 complained about

These lines are ok according to previous versions of hlint but trigger
an error with version 1.8.43.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Helga Velroyen <>

723ec678 04/12/2013 12:31 am Guido Trotter

Merge branch 'devel-2.7'

  • devel-2.7: (26 commits)
    Fix burnin install path
    Fix format of the NEWS file
    NEWS: Add news entry for the hail disk policy fix
    Add shelltests verifying hail applies disk ipolicy per disk
    Make the disks parameter available to the constructor...
241cea1e 04/11/2013 05:10 pm Klaus Aehlig

Make the disks parameter available to the constructor

In that way, tools building on Instance will benefit from the corrected
verification semantics of the instance policy on disk space.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Guido Trotter <>

e51e0f88 04/11/2013 05:09 pm Klaus Aehlig

Verify individual disks in Instance

Instance policy on disks is specified on a per-disk basis. So extend
the instance description by the sizes of the individual disks and modify
the instance policy verification to correctly check individual disks.

Signed-off-by: Klaus Aehlig <>...

da5f09ef 03/27/2013 12:46 pm Bernardo Dal Seno

Refactor ispecs in ipolicy structures

Minimum and maximum instance specs are put together into a single element
of the instance policy. This is in preparation for introducing multiple
min/max specs.

Signed-off-by: Bernardo Dal Seno <>...

4f73cfc9 03/08/2013 05:46 pm Iustin Pop

Merge branch 'devel-2.7'

  • devel-2.7:
    Change hbal behaviour in case of early exit
    Fix build/sphinx_ext.py with tuple defaults for op params
    Fix bug in man build rule
    Fix hscolour style sheet building

Signed-off-by: Iustin Pop <>...

2d6bdcc5 03/08/2013 02:50 pm Iustin Pop

Change hbal behaviour in case of early exit

Currently, hbal exits with status 1 if early exit is requested, even
when all jobs are successful. This is counter-intuitive behaviour, so
let's fix it (Issue 386).

Note that the man page had conflicting information already, so it's a...

491d02ca 03/05/2013 01:56 pm Iustin Pop

Merge branch 'devel-2.7'

  • devel-2.7: (23 commits)
    Add export lists for files which didn't have them
    Fix Haskell compatibility tests with disabled file storage
    Fix QA with disabled file storage
    Fix convert-constants handling of booleans
    Fix handling of disabled (shared) file storage...