Statistics
| Branch: | Tag: | Revision:

root / src @ 3daaab6c

# Date Author Comment
3daaab6c 02/19/2014 04:31 pm Helga Velroyen

Make hbal deal with no-LVM storage space properly

Since 2.6, hbal crashes when used on a cluster where no
LVM storage is enabled at all. The problem is that it
always queries for fields that only sometimes make
sense for certain types of storage. This patch will...

81869422 02/13/2014 06:09 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Fix integer overflow problem in hbal
    Add missing space

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

95ee8abb 02/13/2014 03:52 pm Michele Tartara

Fix integer overflow problem in hbal

waitForJobs in src/Ganeti/Jobs.hs has an integer overflow that (at least on
amd64) causes it to break after waiting for ~10 minutes. This results in hbal
sleeping forever (when compiled with squeeze's ghc 6.12.1) or crashing (when...

0e2a45dd 02/13/2014 03:52 pm Michele Tartara

Add missing space

Also, refactor the line to keep it under 80 chars.

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

13ef1fa5 02/07/2014 03:42 pm Hrvoje Ribicic

Allow classic queries to use either names or UUIDs

When UUIDs are used in CLI commands, such addressing of objects fails
or succeeds inconsistently across object types. Worse yet, some calls
do not fail, but simply return no result. This is due to the way the...

368e95fd 01/20/2014 03:05 pm Apollon Oikonomopoulos

luxid: fix detection of master node in node query

Ganeti.Config.getNodeRole would rely on clusterMasterNode returning the
master node name, however clusterMasterNode returns the master node's
UUID. We fix this and a similar issue in Ganeti.Query.Node.nodeFields....

3eaa6e1d 12/16/2013 06:55 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Add support for blktap2 file-driver
    Update opcodes test to include network tags
    Make network tags searchable
    Add network tag tests to QA
    Fix RAPI network tag handling
    Fix gnt-network list-tags...
9d0b521e 12/16/2013 05:31 pm Dimitris Aragiorgis

Fix gnt-network list-tags

Define network tags in haskell part.

This fixes issue 641.

Signed-off-by: Dimitris Aragiorgis <>
Reviewed-by: Hrvoje Ribicic <>

791e87b8 12/12/2013 11:17 am Klaus Aehlig

Avoid lines longer than 80 chars

...as they're a lint error.

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

affe1792 12/11/2013 07:43 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Version bump for 2.8.3
    Update NEWS for 2.8.3 release
    Support reseting arbitrary params of ext disks
    Allow modification of arbitrary params for ext
    Do not clear disk.params in UpgradeConfig()...
67ec18c0 12/04/2013 04:51 pm Jose A. Lopes

Fix evacuation out of drained node

  • fix node daemon not to skip data, such as, memory and disk size,
    when building the node list to send to HBal, given that these data
    are important for HBal to determine whether an evacuation is
    possible
  • fix iallocator to properly load drained nodes from the list passed...
0eb83d70 12/04/2013 04:51 pm Bernardo Dal Seno

Refactor reading live data in htools

This simplifies different handling of individual items.

Cherry-picked from 8c72f7119f50a11661aacba2a1abffdfdc6f7cfa.

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

289e7fcc 11/27/2013 09:40 am Klaus Aehlig

eta-reduce isIpV6

This is not only better style, but also fixes a lint error.
Also use the infix form of `elem` to increase readability.

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

b5c3a4f2 11/26/2013 06:55 pm Guido Trotter

Ganeti.Rpc: use brackets for ipv6 addresses

We detect an IPv6 vs V4 address based on columns, rather than passing
the family from the cluster object to be more future proof (in case
we'll ever support mixed clusters).

Unfortunately quite a bit more code is required to test this: we need an...

5f5aa745 11/18/2013 10:59 am Hrvoje Ribicic

Fix socket permissions after master-failover

When using gnt-cluster master-failover, on the soon-to-be-master the
luxi daemon is started by the node daemon. This makes the luxi
daemon inherit the node daemon's umask 077, making the communication
socket unreadable to group members. When using Ganeti with non-root...

eac094c8 10/17/2013 04:07 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Version bump for 2.8.1
    Verify that ConfD is running after master-failover
    daemon-util: handle luxid in {start,stop}_master()
    Fix typo in storage.FileStorage docstring
    Fix path for serial file...
6fe0f9a6 10/16/2013 10:41 am Klaus Aehlig

Fix path for serial file

It is actually located inside the queue directory.

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

eebc8ab2 09/27/2013 01:47 pm Michele Tartara

Make the inst-status-xen collector more resilient

The data collectors should be able to provide as much information as possible
even when the system is badly degraded. This patch modifies the instance status
collector for xen so that it can keep providing as much data as possible, even...

08d58f4c 09/25/2013 03:07 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Add additional tests for utils.Retry
    Make retry tests independent of actual time
    Fix corner-case in handling of remaining retry time
    Perform proper cleanup on termination of Haskell daemons

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

80adbbe1 09/18/2013 07:23 pm Michele Tartara

Perform proper cleanup on termination of Haskell daemons

Haskell deamons did not perform proper cleanup at termination. There was no code
for removing the pid file, and the code in LuxiD for removing the unix socket
file was not working, because it is implemented with a "finally" statement,...

b2e7599d 09/12/2013 12:24 pm Thomas Thrainer

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Make tools/users-setup explain its actions first
    Generate tools/users-setup from descriptions
    Provide ganeti user and group data in easy-to-parse form
    Remove dsahostkeypub during config downgrade...
3022ea9f 09/09/2013 12:22 pm Apollon Oikonomopoulos

Mark the DSA host pubkey as optional

Commit a9542a4 introduced support for DSA SSH keys. However, the dsahostkeypub
field added to the config is not marked as optional in the Haskell components.
As a result, luxid thinks the config file is corrupt and refuses to start. We...

cd3b4ff4 08/28/2013 06:19 pm Helga Velroyen

Replace LD_* constants with DT_* constants

LD_* constants are basically like DT_* constants, except
for that both file and shared file were mapped to file.
In order to not having to maintain three slightly different
sets of disk-related constants (DT, LD and ST), we merge...

f148fe23 08/27/2013 03:04 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Add function to unwrap Results logging failures
    Make the DRBD collector more failure-resilient
    Prepare GetLinuxNodeInfo for testing
    Add unit test for GetLinuxNodeInfo
    NEWS update and version bump for 2.8 rc2...
b1633ed9 08/21/2013 06:19 pm Michele Tartara

Make the DRBD collector more failure-resilient

If information about instances is not available, just log the error and
continue without it.

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

838393d1 08/21/2013 06:18 pm Michele Tartara

Add function to unwrap Results logging failures

Add logWarningIfBad, a utility function similar to exitIfBad, that logs a
warning and returns a default value instead of just crashing the program if
the unpacked value is Bad.

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

dd84e715 08/20/2013 03:48 pm Thomas Thrainer

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Allow instance mods if only osparams are given
    Fix harep manpage title
    Use FQDN to check master node status

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

ecff332f 08/13/2013 12:04 pm Thomas Thrainer

Use FQDN to check master node status

The master node name in SS conf is stored as FQDN, so also use the FQDN
on each node to check if it is the master node.

This fixes issue 551.

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

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`...
a9542a4f 08/07/2013 10:38 am Thomas Thrainer

Support DSA SSH keys in bootstrap

As outlined in issue 338, Ganeti failed to initialize a cluster if no
RSA SSH key is present on the master node. This patch extends Ganetis
support to DSA keys, so clusters with only DSA keys are possible now.

This fixes issue 338....

026f444f 08/06/2013 04:32 pm Thomas Thrainer

Include VCS version in `gnt-cluster version`

Also print the VCS version in the output of `gnt-cluster version`. This
makes the VCS version also available over RAPI, etc.

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

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

4b322a76 07/29/2013 03:27 pm Helga Velroyen

gnt-cluster verify: consider shared file storage

This patch enhances 'gnt-cluster verify' in a way that it
now validates the acceptance and existance of the shared
storage directory.

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

4e6cfd11 07/29/2013 03:27 pm Helga Velroyen

gnt-cluster modify --shared-file-storage-dir

This patch introduces to 'gnt-cluster modify' the option
'--shared-file-storage-dir' to change the default directory
for instances using shared file storage at cluster runtime.

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

17cda747 07/25/2013 05:27 pm Guido Trotter

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8:
    Update NEWS and version for Ganeti 2.7.1
    Add hvparam to disable VNET_HDR on tap devices
    daemon-util: pass --oknodo at rotate_logs
    Add logrotate example
    daemon-util: provide rotate_logs and rotate_all_logs actions...
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...

d08a8359 07/22/2013 01:47 pm Thomas Thrainer

Fix permission errors for split users

Correctly set ownership and permissions for daemon log files, correct
the name of the luxid logfile and set the ownership of the query socket
correctly.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Michele Tartara <>

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

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

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

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