Statistics
| Branch: | Tag: | Revision:

root / src / Ganeti @ 3039e2dc

# Date Author Comment
3039e2dc 07/23/2013 03:29 pm Helga Velroyen

gnt-cluster {init, modify} --file-storage-dir

This patch implements consistent usage and behavior of
the --file-storage-dir option in 'gnt-cluster init'
and 'gnt-cluster modify'. It includes a bunch of unit
tests as well.

Additionally, it enables the previously written unit...

858ecf2b 07/18/2013 06:32 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Fix permission problem related to Issue 477
    Add hs function to easily change file ownership

Conflicts:
src/Ganeti/Utils.hs (trivial)
trivial

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

1f005f16 07/18/2013 05:24 pm Michele Tartara

Let ReqNodeInstances work with node UUIDs

The "primaryNode" and "secondaryNode" fields of "Instance" entities in the
cluster configuration where changed to use UUIDs instead of names. The
ReqNodeInstances query inside Confd was not upgraded yet, and was thus...

1a4f3b38 07/18/2013 05:24 pm Michele Tartara

Add documentation line to getNodeInstances

Signed-off-by: Michele Tartara <>
Reviewed-by: Helga Velroyen <>

e2625797 07/18/2013 05:24 pm Michele Tartara

Add debug logging to Confd

Knowing the replies actually sent helps tracking down problems much more
efficiently.

Signed-off-by: Michele Tartara <>
Reviewed-by: Helga Velroyen <>

e455a3e8 07/18/2013 11:35 am Michele Tartara

Fix permission problem related to Issue 477

Commit 91525dee856951ace940c78b6254a1c7344b4803 fixed Issue 477 but broke
"gnt-cluster info".

This commit offers a solution to both problems, by changing the permission
of the socket instead of changing the permission the confd process is run...

a39cd547 07/18/2013 11:34 am Michele Tartara

Add hs function to easily change file ownership

The Haskell library functions only allow to change file ownership using
uid/gid. A function for doing that with explicit names is added by this
commit.

Signed-off-by: Michele Tartara <>
Reviewed-by: Iustin Pop <>

489c9037 07/17/2013 07:55 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Rename queryd to luxid
    Document the rapi client not to have a QueryNetworks method
    Enable unit tests again
    Document ganeti-queryd
    Add ganeti-queryd to QA env test
    Add queryd daemon (split from confd)...
3695a4e0 07/17/2013 06:04 pm Thomas Thrainer

Rename queryd to luxid

As queryd will, in the future, handle all LUXI request, queue jobs and
most likely perform various other tasks, it is renamed to luxid already.
This will safe some headache when upgrading Ganeti installations, as we
don't have to deal with a daemon rename....

670e954a 07/17/2013 12:33 pm Thomas Thrainer

Add queryd daemon (split from confd)

queryd is added as a new daemon which handles configuration queries over
LUXI. This functionality was removed from confd, which now only queries
over the network.

The queryd user is added to the master group such that it can access...

218e3b0f 07/17/2013 12:33 pm Thomas Thrainer

Extract ConfigReader from Confd/Server.hs

Confd's functionality to watch the Ganeti configuration file is
extracted to the ConfigReader module. No functional changes are
introduced.

This extraction makes will enable us to split queryd from confd, as
queryd will have to use the same functionality....

beb9c009 07/16/2013 12:09 pm Christos Stavrakakis

Add timestamps to haskell network query fields

Add timestamp fields to the list of available network query fields in
the Haskell code.

Signed-off-by: Christos Stavrakakis <>
Reviewed-by: Helga Velroyen <>

c832f7e9 07/16/2013 10:29 am Klaus Aehlig

Merge branch 'stable-2.8' into master

  • stable-2.8
    Change method dispatch in ClientOps to enforce luxi.REQ_ALL
    Allow modify_etc_hosts to be changed
    Add --modify-etc-hosts option for CLI tools
    Add luxiReqQueryNetworks to LuxiOp
    Log received message at debug level...
4eb06290 07/15/2013 05:24 pm Klaus Aehlig

Merge branch 'stable-2.7' into stable-2.8

  • stable-2.7
    Fix RAPI to include missing network fields
    Add support for querying network timestamps
    In the crontab example, look for the correct binary
    Fix wrong numbering in UPGRADE documentation

Conflicts:...

9c1c3c19 07/15/2013 12:34 pm Helga Velroyen

Verify file storage path

This patch adds two verification steps to 'gnt-cluster
verify':
- The configured file storage directory is checked against
the allowed file storage directories file.
- We check whether the configured file storage directory
is existing and writable on each node....

75f2ff7d 07/15/2013 12:10 pm Michele Tartara

Allow modify_etc_hosts to be changed

The modify_etc_hosts options, enabling the cluster to modify the /etc/hosts
files of nodes, and to keep them in sync, could only be set at cluster init
time.

With this commit it can now be changed through modify_etc_hosts as well....

795d035d 07/12/2013 04:42 pm Klaus Aehlig

Add luxiReqQueryNetworks to LuxiOp

When the QueryNetwork was introduced as a method, apparently
it was forgotten in the Haskell world. Add it here as well.

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

385d4574 07/12/2013 04:42 pm Klaus Aehlig

Log received message at debug level

At debug level, we can well afford to have a detailed entry
for each message received by a server.

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

c393abbf 07/11/2013 02:42 pm Michele Tartara

Log RPC errors from inside executeRpcCall

executeRpcCall is the function to be used for executing RPCs, so it makes sense
to use it as the single point for logging all thte RPC call errors.

Fixes Issue 293.

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

a246ce76 07/11/2013 02:41 pm Michele Tartara

Factor out the logRpcErrors function

This function can be useful to multiple RPC calls, therefore it is moved
to the file containing the common RPC functions.

Also, it is made more generic by changing its signature.

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

22ff02a7 07/10/2013 03:45 pm Christos Stavrakakis

Add support for querying network timestamps

Add creation and modified timestamps when creating a new network, and
extend the available query fields for networks with these fields,
namely 'ctime' and 'mtime'.

Signed-off-by: Christos Stavrakakis <>...

b23226d5 07/09/2013 05:22 pm Michele Tartara

Prevent silent failure in case of connection problems

While running "gnt-node list", if a query to ConfD fails (especially
because of permission problems) it used to just fail silently, with gnt-node
showing question marks instead of data.

With this patch, ConfD records the error in its log file, together with a...

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...
820ca72d 07/04/2013 08:04 pm Michele Tartara

Include "instance" information in LV data collector

This commit enables the logical volume data collector to get information about
the instances and to link it to the information about logical volumes.

The list of parameters accepted by the collector is expanded to allow proper...

76968973 07/04/2013 08:04 pm Michele Tartara

Add "includeLogicalId" function for Disks

This function checks whether a disk contains a given Lvm logical ID,
directly or through its children.

Unit tests are added as well.

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

53753d20 07/04/2013 08:03 pm Michele Tartara

Add option for loading serialized instances

Monitoring CLI tools might have to load serialized lists of instances
(mainly for testing reasons). This patch adds an option to allow that.

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

f22b987a 07/04/2013 08:03 pm Michele Tartara

Factor out lv info gathering function

The buildJsonReport function will soon have to perform the coupling of
instance data with LVInfo data. In preparation for that, in order to make
it more readable, the instructions for obtaining LVInfos are factored out...

58458012 07/04/2013 08:03 pm Michele Tartara

Add "instance" field to LVInfo

Extend the LVInfo data structure with the field for storing the name of
the instance it is paired with.

Update the tests accordingly.

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

9611c32e 07/04/2013 08:02 pm Michele Tartara

Factor out the getInstances function

The getInstances function can be useful in general, but is defined inside
the InstStatus data collector. This commit takes it out and adds it to
a proper (newly created) library.

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

e78a8c0b 07/03/2013 02:05 pm Helga Velroyen

Extraction of storage info by type

There was a bug in the node queries. It was assumed that
the returned storage space information was in a particular
order. With the changes in the storage reporting, this
order is not that reliable anymore, in particular, the...

56bbc5b0 07/03/2013 10:16 am Klaus Aehlig

Clean up work around for host name filtering

These functions simply served as a work around to express
host name matching by regular expressions, instead of using
correct equality filter on host names that provides
the correct matching already.

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

c4e0d065 07/03/2013 10:16 am Klaus Aehlig

Do not handle host queries special

As, since 91c1a265, the equality used for host names already
is based on matching, there is no need to use a special function
for this any more.

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

212b66c3 07/02/2013 01:53 pm Helga Velroyen

Turn 'exclusive_storage' into storage parameter (hs)

This is the haskell implementation of my patch "Extend RPC call
'node_info' by storage parameters". It turns the 'exclusive
storage' flag into a storage parameter of the LVM storage types.
Besides that, this patch moves some types into the Types.hs....

f5d84060 07/01/2013 04:42 pm Michele Tartara

Prevent LV parser compile error

The LV parser is not compiled correctly by more recent versions of GHC
because of more strict checks.

lvCommand is a surely non-empty list, but the compiler still refuses it
asking for explicitly management of the empty list case....

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 <>...

f43c898d 07/01/2013 02:40 pm Bernardo Dal Seno

Export CPUs used by the node OS

They are exported through the LUXI, RAPI, and IAllocator interfaces.

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

006d6bc9 07/01/2013 02:36 pm Michele Tartara

Add LV collector to the monitoring daemon

Allow the monitoring daemon to use the LV data collector.

Signed-off-by: Michele Tartara <>
Reviewed-by: Helga Velroyen <>

1a9d864c 07/01/2013 02:35 pm Michele Tartara

Add LV data collector

This commit adds the LV data collector.

Also, the lvCommand function was not providing the correct value as expected by
the readProcess function, so it was fixed.

Signed-off-by: Michele Tartara <>
Reviewed-by: Helga Velroyen <>

bdf51a05 07/01/2013 02:33 pm Michele Tartara

Add LV parser

Add the parser for getting the information about the logical volumes in the
system.

Signed-off-by: Michele Tartara <>
Reviewed-by: Helga Velroyen <>

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...

3dda8127 06/27/2013 12:05 pm Helga Velroyen

Make NodeInfo (hs) accept arbitrary storage types

So far, the Haskell implementation of NodeInfo just
requests storage information about volume groups.
With this patch, storage info for abitrary storage
types can be requested.

Signed-off-by: Helga Velroyen <>...

00839a42 06/27/2013 12:05 pm Helga Velroyen

Storage utility functions for Haskell

In order to extend the Haskell version of the NodeInfo
query, we need some utility functions to deal with
disk templates and storage types.

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

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...

dad226e3 06/26/2013 12:18 pm Thomas Thrainer

Merge branch 'stable-2.8' into master

  • stable-2.8:
    gnt-cluster info (py): add enabled disk templates
    Version bump to 2.8.0~beta1
    Change version numbers in documentation
    Fix issue with python coverage tests
    Merge branch 'stable-2.7' into stable-2.8...
e4b5f955 06/25/2013 10:55 am Guido Trotter

Merge branch 'stable-2.7' into stable-2.8

  • stable-2.7:
    Provide the right fix for the kvm_extra parameter
    NEWS and version updates for 2.7.0~rc3
    kvm: don't pass whole extra as a single argument
    For node queries allow short forms of host names
    Provide a special filter for host names...
85218237 06/24/2013 05:11 pm Klaus Aehlig

For node queries allow short forms of host names

For node queries use the host-name filter instead of the simple
equality-based one.

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

0122b96d 06/24/2013 05:11 pm Klaus Aehlig

Provide a special filter for host names

For host names, usually short forms are used, e.g., node1 or node1.sub
instead of the full qualified node1.sub.example.com. Therefore comparing
node names only by equality is too restrictive. This patch provides an...

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...
9bd2f449 06/18/2013 11:14 am Helga Velroyen

Revert "Storage utility functions for Haskell"

This reverts commit
88d27b8aa8adc2e5ced773909f1d40812c5a6ea7.

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

4b763320 06/18/2013 11:14 am Helga Velroyen

Revert "Make NodeInfo (hs) accept arbitrary storage types"

This reverts commit
e89525a859b2e841c08fce506c0b68b97c7efe61.

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

e89525a8 06/17/2013 08:33 pm Helga Velroyen

Make NodeInfo (hs) accept arbitrary storage types

So far, the Haskell implementation of NodeInfo just
requests storage information about volume groups.
With this patch, storage info for abitrary storage
types can be requested.

Signed-off-by: Helga Velroyen <>...

88d27b8a 06/17/2013 08:33 pm Helga Velroyen

Storage utility functions for Haskell

In order to extend the Haskell version of the NodeInfo
query, we need some utility functions to deal with
disk templates and storage types.

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

c5f6cba2 06/17/2013 08:32 pm Helga Velroyen

Rename directory 'Block' to 'Storage'

This patch renames the 'Block' directory to 'Storage' in
the Haskell code base. The same rename was done in the
python code base earlier this quarter. We generalize the
name, because we needed a place for general storage...

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...

b1c772fd 06/17/2013 05:36 pm Klaus Aehlig

Convenience function for iterating while the result is Ok

For a function f :: a -> GenericResult a, iterate it (in the sense of the
monad), until the result is Bad; return the list of values occurred.

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

b74ebe44 06/17/2013 05:36 pm Klaus Aehlig

Provide witness for the sum-type structure of GenericResult

GenericResult, while rightfully a type of its own, is isomorphic
to Either. So, also provide the case analysis function (i.e., the
universal arrow out of the sum).

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

32389d91 06/14/2013 02:43 pm Helga Velroyen

Refactor NodeInfo RPC regarding storage reporting

The NodeInfo RPC call is refactored to handle now more than
just storage reporting for volume groups.

Since NodeInfo now returns storage space information not
necessarily for volume groups, but also for other storage...

0f0f6d7d 06/14/2013 02:42 pm Helga Velroyen

Add storage type to NodeInfo result

So far, the storage information returned from RPC call
NodeInfo contained only information about volume groups.
In order to extend the storage reporting to other storage
type, we include another field "type" in the result 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....

68af861c 06/13/2013 07:23 pm Helga Velroyen

Fix lookup of xen toolstack in Haskell

There was a bug in the haskell implementation of node
query which made the lookup of the xen toolstack xm/xl
fail.

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

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 <>

030ab01a 06/12/2013 10:18 am Helga Velroyen

Add hvparams to RPC call 'node_info'

This patch adds the hvparams parameter to the RPC call
'node_info'. It also adjusts the related code in noded.py
and Query/Node.hs

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

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 <>

06fb92cf 06/07/2013 04:10 pm Bernardo Dal Seno

Export node spindles

Node spindles (queried live) are exported through the LUXI, RAPI, and
iallocator interfaces.

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

e5c92cfb 06/04/2013 09:06 pm Klaus Aehlig

Add a force option to the ClusterSetParams Opcode

If set, the op code will, in particular, try to set the master IP
on the new netdev, even if shutting down the master IP on the old
netdev failed.

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

92070017 06/04/2013 04:22 pm Michele Tartara

Fix shadowing of library function

The "reads" field shadows a library function from Prelude. This commit
fixes the problem.

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

aab0927c 06/03/2013 06:10 pm Michele Tartara

Let the monitoring daemon provide the diskstats collector

Add the collector to the list of those provided my the monitoring daemon.

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

1a99d6a2 06/03/2013 06:10 pm Michele Tartara

Add diskstats data collector

Add a new data collector responsible for gathering disk performance
statistics.

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

67ebc173 06/03/2013 06:09 pm Michele Tartara

Add a CLI parameter for input files

For many data collectors it is useful (especially for testing) to have to
possibility to specify an input file.

This commit adds a generic option for doing that.

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

c6bca2d1 06/03/2013 06:08 pm Michele Tartara

Add /proc/diskstats parser

Add a parser for interpreting the content of the /proc/diskstats file,
providing information about the state of the disks of the system.

Signed-off-by: Michele Tartara <>
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 <>

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

New function to load JSON arrays of optional values

This will be needed to load spindles in some htools backends. Unit tests
provided.

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 <>...