Statistics
| Branch: | Tag: | Revision:

root / src / Ganeti @ a1f35d0a

# Date Author Comment
a1f35d0a 03/07/2014 05:22 pm Petr Pudlak

Add a function for listing online nodes to Haskell

.. and also simplify 'getMasterCandidates'.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Klaus Aehlig <>

b6eee126 03/07/2014 05:22 pm Petr Pudlak

Add the RPC call for uploading a file to Haskell

.. and also add a function that prepares the call from a given file.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Klaus Aehlig <>

2f254850 03/07/2014 05:22 pm Petr Pudlak

Functions for conversions between POSIX time and ClockTime

This will be needed by the RPC calls to convert Haskell native
representation to the one used in RPC.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Klaus Aehlig <>

129bde01 03/07/2014 05:22 pm Petr Pudlak

Add reverse mappings to RuntimeEnts from UIDs to names

.. and GIDs to names. Also create a proper data type for it.

The reverse mapping to names is needed for properly translating local
IDs to names for RPC calls.

Use 'ResultT' for 'getEnts' and handle all exceptions, not just when a...

d6f05205 03/07/2014 05:22 pm Petr Pudlak

Create a data type for representing RPC compressed data

It is serialized as a JSON pair. The first element is a number
describing the compression type, the second element the actual data
(in this case Base64+Zlib encoded).

On the Python side it is decompressed by backend._Decompress....

8c337f87 03/07/2014 05:22 pm Petr Pudlak

Add a module for handling compression

Since the Haskell 'zlib' library by default uses exceptions for
signalling errors, we need to use its internals to implement a proper,
pure decompressing function.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Klaus Aehlig <>

8e527d04 03/07/2014 05:22 pm Petr Pudlak

Enhance logRpcResults to also return the list of errors

It is common to log all RPC errors and then check if there were any.
Since 'logRpcResults' needs to filter the errors anyway, let it return
it.

Factor out the part that filters out errors into a separate function....

e45eeb79 03/07/2014 05:22 pm Petr Pudlak

Use lenses for modifying DaemonState in WConfd

This removes the verbose code for record updating and leads to more
point-free code.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Klaus Aehlig <>

0d1d2d22 03/07/2014 05:22 pm Petr Pudlak

Write the configuration only if it changed

.. to avoid expensive operation when they're not actually needed.
Comparing the two objects in memory is much less costly that
distributing the configuration.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Klaus Aehlig <>

227c0ef3 03/07/2014 05:22 pm Petr Pudlak

Add a module for generated lenses for Ganeti.Objects

The module also adds type classes for lenses for common fields (serial,
mTime, uuid and tags).

Splitting the lenses into a separate module avoids problems with unused
functions.

Signed-off-by: Petr Pudlak <>...

ba40281b 03/07/2014 05:22 pm Petr Pudlak

Add a module for custom generic Lens functions

The module currently re-exports Control.Lens and adds a function that
creates lenses from data types by appending 'L' to its field names.

All Ganeti modules should import this module instead of Control.Lens...

6696f1f9 03/07/2014 05:22 pm Petr Pudlak

Add a helper for creating 'FileMode' fields

.. which will be used for RPC objects.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Klaus Aehlig <>

72375ff8 03/07/2014 05:22 pm Petr Pudlak

Move helpers for specific fields into a separate module

These helpers aren't needed by other code in Ganeti.THH and since the
module is already large, it'll be better to separate them into their
own.

No functionality is changed by this patch, just functions moved....

1e0d1a19 03/07/2014 05:22 pm Petr Pudlak

Add a helper to ConfigWriter for creating async. workers

In particular, stateful workers that can fail with an error, in which
case the error is logged and the state remains unchanged.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Klaus Aehlig <>

9faf1c01 03/07/2014 05:22 pm Petr Pudlak

Add Foldable/Traversable instances for GenericContainer

This makes working with it easier as it allows use of many standard
functions.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Klaus Aehlig <>

f3010b75 03/07/2014 10:57 am Klaus Aehlig

Also clean up stale livelock files

Upon detection of a stale livelock, make WConfD also
try to clean it up. We can safely ignore any failures,
as the Ganeti resources are already freed, and the worst
thing that can happen is an empty file left over in the...

885759da 03/07/2014 09:35 am Petr Pudlak

Refactor warnings issued by the latest 'hlint'

.. as the newest version of hlint adds additional checks

Signed-off-by: Petr Pudlak <>
Reviewed-by: Klaus Aehlig <>

db0d2ee9 03/06/2014 05:35 pm Klaus Aehlig

In WConfD run a cleanup task

Add the cleanup task for locks of died owners to WConfD,
as a separate thread.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

b57c50de 03/06/2014 05:35 pm Klaus Aehlig

Provide a periodic lock cleanup task

Provide a task that periodically checks for all locks
owners whether they are still alive. If not, it cleans
up their locks.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

a15072d7 03/06/2014 05:35 pm Klaus Aehlig

Add a constant for the polling of jobs death

Add a constant for the time interval at which WConfD checks for
resource owners that have died and cleans up their resources.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

26436ab5 03/06/2014 05:35 pm Klaus Aehlig

Add a function to determine the lock owners

To allow for clean up, add a function that provides the list
of all the owners holding at least one lock.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

bacb44fe 03/06/2014 05:35 pm Klaus Aehlig

Add a function to detect death of a job

With jobs running in processes different from the lock management soon,
we need to detect if a job holding locks dies, in order to release the
resources.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

22c828a9 03/05/2014 11:21 am Hrvoje Ribicic

Add new log type

Following the example of the job-queue test, the delay also defines a
log message type of its own.

Signed-off-by: Hrvoje Ribicic <>
Reviewed-by: Petr Pudlak <>

2868f3f7 03/05/2014 11:21 am Hrvoje Ribicic

Add the interruptible option to the delay opcode

To prepare for the use of sockets to interrupt a running delay opcode,
this patch adds an option to the opcode for doing so.

Signed-off-by: Hrvoje Ribicic <>
Reviewed-by: Petr Pudlak <>

2c4ec08e 03/05/2014 11:20 am Hrvoje Ribicic

Add options for opportunistic creation during moves

To start off the introduction of oppportunistic locking during instance
creation, this patch adds the options allowing the locking to be
invoked.

Signed-off-by: Hrvoje Ribicic <>
Reviewed-by: Petr Pudlak <>

35cded14 03/04/2014 05:19 pm Petr Pudlak

Use 'ArrayObject' in Ganeti.RPC instead of manual encoding

Before most of the calls were implemented manually, ignoring any
generated code for maniupulating JSON. Using 'ArrayObject' we can
automate the process.

Signed-off-by: Petr Pudlak <>...

26e32dee 03/04/2014 05:19 pm Petr Pudlak

Move 'DictObject' and 'ArrayObject' to Ganeti.JSON

The type classes are more closely related to JSON and for using them
it should not be necessary to import Ganeti.THH.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Klaus Aehlig <>

948f6540 03/04/2014 05:19 pm Petr Pudlak

Add a typeclass for type serializable as a JSON array

This is in particular needed for RPC requests which are serialized this
way and therefore using `showJSON` on the generated objects doesn't
work.

The fiels are serialized in the order they're declared, together with...

0df2d967 03/04/2014 05:19 pm Petr Pudlak

Document 'fieldExtraKeys' in 'Field'

Signed-off-by: Petr Pudlak <>
Reviewed-by: Klaus Aehlig <>

58b37916 03/04/2014 05:19 pm Petr Pudlak

Remove toDist... functions completely

Since thre already is `DictObject` class with `toDict`, there is no need
for them, just polluting the name space.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Klaus Aehlig <>

c2e136e2 03/04/2014 05:19 pm Petr Pudlak

Enhance DictObject and refactor loading/saving TH functions

Since there is already `DictObject` type class which could share code
with generated instances of `showJSON`, the generated code is split into
two parts: One that converts between `[(String, JSValue)]` and the data...

1d4febbd 03/04/2014 05:03 pm Klaus Aehlig

Write lock state to disk after updates

Make use of asynchronous worker to save to log status after every
update. The answer to the query is only returned, once the state
is saved on disk. Note that replication of the lock status is not
necessary, as all jobs will be gone if the master node goes away....

61fd6337 03/04/2014 05:03 pm Klaus Aehlig

Provide an asynchronous task for writing lock status

It will be used to persist the state of the lock allocation on
disk, allowing locks to survive reboots of WConfD.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

ec2355ad 03/04/2014 02:27 pm Klaus Aehlig

Add Ganeti Lock Hierarchy

Make Ganeti.Locking.Locks.GanetiLocks present the full Ganeti
lock hierarchy. This is in accordance with the current Python
implementation.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>...

79786c6b 03/04/2014 02:26 pm Klaus Aehlig

Serialize locks as JSON strings

...as the current Python implementation does as well.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

5d7ac40f 03/03/2014 06:05 pm Klaus Aehlig

Export opportunistic lock union through WConfd

Make WConfD provide a function to opportunistically allocate
locks.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

dee434c2 03/03/2014 06:05 pm Klaus Aehlig

Support name generation for pairs

Add support for naming of python variables if the type
is a pair.

Note: on older versions of haskell, Q is not an instance of
Applicative, hence we use the do-syntax here.

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

66927d09 03/03/2014 06:05 pm Klaus Aehlig

Export lock intersection through WConfD

Export the functionality to restrict the owned locks to a given set.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

b4d1b49f 03/03/2014 06:05 pm Klaus Aehlig

Export freeLocks through WConfD

Export the functionality to free all locks of a given
owner.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

032befbd 03/03/2014 06:05 pm Klaus Aehlig

Add lock modification without result to WConfdMonad

Enrich the structure of WConfdMonad by a convenience
wrapper around modifyLockAllocation for the case that
the modification always succeeds and does not produce
any result.

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

f919184d 03/03/2014 06:05 pm Klaus Aehlig

Export updateLocks through WConfD

Export the functionality to update the locks of a given
owner through WConfD.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

62f1e053 03/03/2014 06:05 pm Klaus Aehlig

Add serialization for LockRequest GanetiLocks

Add a module describing how abstract requests, like lock requests are
passed over the wire to WConfD.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

84640a93 03/03/2014 06:05 pm Klaus Aehlig

Export listing of locks

Make WconfD answer requests about the locks of a specific
owner.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

3e80d1b7 03/03/2014 06:05 pm Klaus Aehlig

Support reading the lock allocation in WConfdMonad

As opposed to the atomic modify-and-read provided my modifyLockAllocation,
no storing is necessary here.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

71b770a9 02/28/2014 03:39 pm Klaus Aehlig

Merge branch 'stable-2.11' into master

  • stable-2.11
    Setting correct permissions of client cert (split-user)
    Add luxid group to 'users-setup'
    Add some whitespace to fix formatting
    Consider old client cert only when available
    Fix return of 'Validate'...
2992f2f7 02/28/2014 02:31 pm Klaus Aehlig

Fix generic uncurrying

in the case of n>1, the n-ary uncurry function is of the form
\f (x_1, ..., x_n) -> ... rather than \f x_1 ... x_n -> ...

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

0cffcdb1 02/28/2014 02:08 pm Dimitris Bliablias

Allow cluster mac prefix modification

Extend LUClusterSetParams to allow the modification of the cluster
mac-prefix setting in 'gnt-cluster modify' command.

This fixes part of issue 239.

Signed-off-by: Dimitris Bliablias <>
Reviewed-by: Jose A. Lopes <>

353bd75b 02/28/2014 02:08 pm Dimitris Bliablias

Show mac prefix setting in gnt-cluster info

Include mac-prefix setting in the output of 'gnt-cluster info'
command.

This fixes part of issue 239.

Signed-off-by: Dimitris Bliablias <>
Reviewed-by: Jose A. Lopes <>

e1e36b88 02/27/2014 04:33 pm Klaus Aehlig

Locks are owned by job id file path pairs

...according to our updated design.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

b28f715a 02/27/2014 04:33 pm Klaus Aehlig

Remove the client state from WConfD monad

As we decided to keep our protocols stateless, the client
state is no longer needed.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

ef89d9d5 02/27/2014 04:04 pm Michele Tartara

Have SubmitManyJobs add entries to the reason trail

Not only SubmitJobToDrainedQueue (and therefore SubmitJob) but also
SubmitManyJobs has to add "gnt:opcode:*" entries to the reason trail.

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

830b09dd 02/27/2014 03:17 pm Michele Tartara

Add reason trail pickup constant

Add a constant for the reason trail, representing the pickup of a job from the
disk.

Also, refactor a bit the other constants so that part of the definition can be
shared in a hierarichical fashion.

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

0c779689 02/27/2014 03:17 pm Michele Tartara

Have LuxiD add the "gnt:opcode" reason trail entry

The entry used to be added in jqueue.py, but after switching the queue
management from masterd to luxyd it had been lost. Now, make LuxiD responsible
for adding it.

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

65a3ff88 02/27/2014 03:17 pm Michele Tartara

Add function for extending the reason trail in Luxid

The function will be used by the next commit.

Also, remove a few trailing whitespaces lying around the file.

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

08fcaf55 02/27/2014 12:27 pm Petr Pudlak

Add missing constant for the name of WConfd

The constant is used when calling the daemon startup/shutdown scripts.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Klaus Aehlig <>

bc820a01 02/27/2014 12:27 pm Petr Pudlak

Add the --force-node option to WConfd

.. and fix the superfluous options list in ganeti-wconfd.hs

Signed-off-by: Petr Pudlak <>
Reviewed-by: Klaus Aehlig <>

9a0b8258 02/27/2014 12:27 pm Petr Pudlak

Add an option for disabling node checks at daemon startup

This is needed for WConfd, because during failover it needs to be
temporarily started in order to update the configuration on the selected
master candidate.

Signed-off-by: Petr Pudlak <>...

803dafcd 02/27/2014 12:18 pm Petr Pudlak

While at it, fix the order of imports in OpCodes.hs

.. so that Ganeti imports are below library imports and ordered
alphabetically.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Michele Tartara <>
Reviewed-by: Jose A. Lopes <>

e713a686 02/27/2014 12:18 pm Petr Pudlak

Add a function for generating OpCode reason src. names

The function convert the opcode name to lowercase with underscores,
strips the 'Op' prefix and prepends Constants.opcodeReasonSrcOpcode.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Michele Tartara <>...

ffdcc263 02/27/2014 12:18 pm Petr Pudlak

Add a TH function for lower-cased stripped opcode names

The function strips the 'Op' prefix from a constructor name and converts
it to lower-case with underscores.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Michele Tartara <>...

8aab74e9 02/27/2014 12:18 pm Petr Pudlak

Generalize genConstrToStr to custom monadic functions

This will allow compile-time checks for constructor names.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Michele Tartara <>
Reviewed-by: Jose A. Lopes <>

5ca6adf5 02/26/2014 07:17 pm Klaus Aehlig

Prefer unless over when (not...)

...and by doing so, please lint.

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

5e26a86e 02/26/2014 06:23 pm Klaus Aehlig

At startup, make WConfD read the lock allocation from disk

On startup, make wconfd read a the state of the lock allocation from disk,
instead of starting from an empty allocation.

Note that, as opposed to the configuration, no finding a saved
log configuration is not an error; e.g., the node might be master...

f3eb4bfd 02/26/2014 06:23 pm Klaus Aehlig

Provide path to persist locks

As we aim to handle jobs as separate processes with locks
handled by WConfD, we need to persist the locks to ensure
they survive a restart of that deamon. Saving only on master
daemon is enough, however.

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

c8751a72 02/26/2014 06:23 pm Klaus Aehlig

Add a function to load lock allocation from disk

Lock allocation are stored on disk as their JSON representation.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

15a53b1e 02/26/2014 06:23 pm Klaus Aehlig

Make Locks a JSON instance

As requests to acquire or release locks come via
inter-process communication, we need a serialization
of the locks data type.

All locks are serialised as JSON objects, where the
key "type" describes the type of lock, and the remaining...

71dc39a1 02/26/2014 06:23 pm Klaus Aehlig

Make LockAllocation an instance of JSON

In this way, we can serialize a lock state to disk, so that
locks can survive a restart of WConfD.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

508c7d70 02/26/2014 03:04 pm Klaus Aehlig

Add query support for locks to luxid

While requests only get forwarded, it still helps to
get luxid feature-complete with respect to master.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>
Cherry-picked from commit a6e406ce376453e90e598c7be68809d6a7bd7d41...

014eaaa0 02/26/2014 03:04 pm Klaus Aehlig

Provide fields for lock queries

For luxid to be feature-complete with respect to masterd, it
also needs to answer requests about locks. This includes knowing
the fields available for locks.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>...

59651d52 02/26/2014 02:07 pm Petr Pudlak

Export reading and writing the configuration using RPC

Note that currently these functions lack any kind of locking and
concurrent calls to 'writeConfig' will result in lost changes in the
configuration.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Klaus Aehlig <>

833c32b3 02/26/2014 02:07 pm Petr Pudlak

Add a module for functions specific to config. management

.. and include ConfigData in WConfd's ConfigState.

Currently it includes functions for asynchronous saving the
configuration and reading and (over)writing it in the daemon state.

Load the configuration from the file at daemon startup and configure an...

13d26b66 02/26/2014 02:06 pm Petr Pudlak

Add more general conf. handling functions to WConfd's Monad

Add functions for reading and writing the configuration. Writing
triggers the asynchronous worker which saves the configuration into the
master file. The actual action that saves the configuration is passed as...

a6a6a1b5 02/26/2014 02:06 pm Petr Pudlak

Add functions for saving the configuration to Ganeti.Config

.. so that it can be not only read, but also written to the master
configuration file.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Klaus Aehlig <>

c5f6dcdf 02/26/2014 02:06 pm Petr Pudlak

Add a module for creating and using asynchronous workers

Each such worker has its own background thread and performs a given
task when triggered. Triggers arriving when the worker is processing are
accumulated and processed together in a subsequent worker action....

5f6515b6 02/26/2014 02:06 pm Petr Pudlak

A separate module for functions for atomic file operations

Utils is getting too big, so better split this new set of functions into
a separate sub-module. This also allows us to use ResultG there.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Klaus Aehlig <>

0efada2a 02/26/2014 02:06 pm Petr Pudlak

Add a function for lifting ResultT from a MonadBase

Often we have `ResultT e IO a` as the return type of our primitive
functions and we need to lift them into a monad stack that is also based
on IO. This function accomplishes this by lifting a ResultT in a base...

32be18fc 02/26/2014 02:06 pm Petr Pudlak

Add a type alias for "ResultT GanetiException IO"

This type occurs often in the upcoming code so it's worth having an
alias for it.

It's included in Errors instead of Utils, because it depends on
GanetiException, and importing Errors from Utils causes a cyclic...

015278eb 02/26/2014 02:06 pm Petr Pudlak

Add logging functions lifted into MonadBase

Calling logging functions in a monad transformer stack requires
instances for all the transformers.
This patch adds a module with functions named just as in Ganeti.Logging,
but lifted into MonadBase. This allows using them in any transformer...

78e0f701 02/26/2014 02:06 pm Petr Pudlak

Add a MonadLog instance for strict StateT and IdentityT

This will be used for asynchronous workers, for which it's convenient to
use StateT to keep their internal state.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Klaus Aehlig <>

5fd32824 02/24/2014 05:44 pm Klaus Aehlig

Merge branch 'stable-2.11' into master

  • stable-2.10
    Let the instance's tuple of nodes start with the primary
    Fix the test that checks for the order of instance's nodes
    Revision bump for the 2.10.0 release
    Update NEWS file for 2.10.0
    Revision bump for 2.10.0~rc3...
ead368bb 02/24/2014 04:42 pm Klaus Aehlig

Merge branch 'stable-2.10' into stable-2.11

  • stable-2.10
    Let the instance's tuple of nodes start with the primary
    Fix the test that checks for the order of instance's nodes
    Revision bump for the 2.10.0 release
    Update NEWS file for 2.10.0
  • stable-2.9...
2977b72c 02/24/2014 01:53 pm Klaus Aehlig

Merge branch 'stable-2.9' into stable-2.10

  • stable-2.9
    Fix net-common script in case of routed mode
    Document hspace's SPN parameters
    Document spindles in TSPEC
    man: Update the manual page of gnt-node FAILOVER
    Make hbal deal with no-LVM storage space properly...
4b217f68 02/21/2014 02:14 pm Klaus Aehlig

Support opportunistic lock allocation

Add a function to opportunistically allocate as many locks of a given
set as possible. This is equivalent to sequentially try the locks in
increasing lock order after restricting to those locks where the
required owner state is higher than the currently held one....

d8216f2d 02/21/2014 02:14 pm Klaus Aehlig

Add a convenience function to restrict locks to a given set

As it is an operation the locking daemon is supposed to provide,
add a function restricting the locks of a user to a given list
and release all other locks.

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

956b83d6 02/20/2014 10:12 am Klaus Aehlig

Enforce the order restrictions on group locks

Disallow requests for an exclusive lock, if the owner already
holds a shared (and only shared) lock on a group lock that lock
belongs to.

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

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

1ca6b451 02/19/2014 03:45 pm Klaus Aehlig

Efficiently verify consistent lock requests

Most requests for lock updates are consistent and mention
every lock only once. So verify this property efficiently
by comparing lengths. Only if the length do not coincide
go through the actual (quadratic) comparison to find a...

381889dc 02/19/2014 03:45 pm Klaus Aehlig

Support lock implication in allocation

Make the module abstractly handling lock allocation
honor the additional restrictions caused by lock
implications.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

80004e70 02/19/2014 03:45 pm Klaus Aehlig

Add a convenience function to free all locks of an owner

While freeing all locks of a single owner can easily be defined
out of listLocks and updateLocks, it is worth having this function
in its own right. For example, it will be needed when the death of...

75033afd 02/19/2014 03:45 pm Klaus Aehlig

Make GanetiLocks an instance of Lock

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

91e5d533 02/19/2014 03:45 pm Klaus Aehlig

Add a type class describing types that can serve as locks

Besides the lock order and Show, an additional datum is needed in order
to describe lock inclusion, used, e.g., for group locks. So add a type
class describing this property.

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

c6d48e16 02/19/2014 03:45 pm Klaus Aehlig

Add missing documentation to exported function listLocks

The module Ganeti.Locking.Allocation exports the function listLocks,
hence a documentation string is required. Add it.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

336b1c88 02/19/2014 11:23 am Klaus Aehlig

Merge branch 'stable-2.10' into stable-2.11

  • stable-2.10
    Revision bump for 2.10.0~rc3
    Update NEWS file for 2.10.0~rc3
  • stable-2.8
    Fix integer overflow problem in hba
    Add missing space

Conflicts:
NEWS: take both additions
configure.ac: ignore suffix bump...

c715d059 02/19/2014 10:58 am Thomas Thrainer

Merge branch 'stable-2.9' into stable-2.10

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

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

e04860cc 02/19/2014 10:39 am Jose A. Lopes

Constant for instance communication network mode

Create a new constant to hold the instance communication network mode
as this constant will be necessary during the QA, and update the
general documentation about the constants related to the instance
communication mechanism....

93f1e606 02/19/2014 10:39 am Jose A. Lopes

Add '-c | --instance-communication' flag to instance modify

  • Add the instance communication flag to the 'OpInstanceSetParams'
    opcode. This flag allows the user to enable/disable instance
    communication in a running instance. This patch adds this flag but...
fc963293 02/19/2014 10:39 am Jose A. Lopes

Fix param name to conform to convention of optional params

The opcode parameters can be optional and parameters that are optional
have their names prefixed by 'pOpt'. This patch fixes with parameter
to conform to this convention.

Signed-off-by: Jose A. Lopes <>...

7a51281a 02/18/2014 04:39 pm Jose A. Lopes

Fix whitespace and typos in comments

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Hrvoje Ribicic <>

857a05fe 02/18/2014 12:30 pm Petr Pudlak

Disable deprecation warnings in PyRPC

Since on Debian Squeeze we have TH version 2.4, we need to use 'report'
instead of 'reportWarning/reportError'. However, 'report' is deprecated
in later versions, therefore we need to disable the warning.

The warning doesn't manifest on Debian Squeeze or Wheezy, but causes...

a317d77a 02/17/2014 03:40 pm Klaus Aehlig

Make the lock allocation part of WConfD's state

As WConfD is supposed to be the authoritative source for
configuration and locks, it needs to have access to the lock
state as well.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>