Statistics
| Branch: | Tag: | Revision:

root @ f3aebf6f

# Date Author Comment
f3aebf6f 02/28/2014 03:00 pm Petr Pudlak

Retry luxi/wconfd RPC calls if the connection is closed

Since the daemon can decide to close a client connection after a
timeout, the client needs to be able to automatically reconnect.

This patch introduces this functionality into the RPC client:
If an attempt to send data fails on 'Broken pipe', it's retried one more...

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

e715a6d6 02/28/2014 02:08 pm Dimitris Bliablias

Add --mac-prefix to gnt-cluster modify manpage

Update the manpage for mac-prefix modification in 'gnt-cluster modify'
command.

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

b4726cd7 02/28/2014 02:08 pm Dimitris Bliablias

Add unittest for gnt-cluster modify --mac-prefix

Add unittest for cluster mac-prefix modification support.

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

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

10df0dfe 02/28/2014 10:58 am Petr Pudlak

Add documentation for "gnt-debug wconfd"

The missing part caused a doclint test to fail.

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

f33307bd 02/27/2014 07:15 pm Klaus Aehlig

Add a command to gnt-debug to test various aspects of wconfd

For debugging purpose, support direct communication to WConfD from
the commandline for some of its commands. For the time being, support
the echo command.

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

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

7786784e 02/27/2014 04:33 pm Klaus Aehlig

design: keep WConfD's protocols stateless

To simplify the setup, keep all protocols of WConfD stateless. This implies
that the job id has to be sent with every resource request. Also clarify that
the owner of a resource is the pair of the job id and the file for job death...

25cf4130 02/27/2014 12:28 pm Petr Pudlak

Let config.py use WConfd for reading/writing the config

Currently it only relays the reads/writes to the file to WConfd,
everything else yet remains in config.py.

Also if the 'ConfigWriter' is opened in "offline" mode (like in
bootstrap.py), it doesn't use WConfd and resorts to the original...

80a56f26 02/27/2014 12:27 pm Petr Pudlak

Start WConfd temporarily during master failover

.. in order to update the configuration and distribute ssconf, before
starting the daemons by the scripts.

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

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

Include WConfd in the list of daemons started on a master

.. and make it the first one so that masterd can use it when it starts.

Signed-off-by: Petr Pudlak <>
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 <>...

710a2863 02/27/2014 12:27 pm Petr Pudlak

Convert int to float when checking config. consistency

When reading the configuration file from RPC JSON, values without a
floating point are parsed as 'int', not as 'float', and later the
consistency check fails.

This patch adds an automatic conversion from 'int' to 'float' during...

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

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

Verify serialization/deserialization consistency for Locks

As we made Ganeti.Locking.Locks an instance of JSON, we better verify
that we can readJSON what we showJSON.

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

89d140d1 02/26/2014 06:23 pm Klaus Aehlig

Add test for serialization of LockAllocation

Verify readJSON . showJSON = Ok for LockAllocations.

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

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

d977f86c 02/26/2014 05:50 pm Hrvoje Ribicic

Merge branch 'stable-2.11' into master

  • stable-2.11
    Add query support for locks to luxid (cherry-pick)
    Provide fields for lock queries (cherry-pick)
    A quick fix for broken 'make distcheck'
  • stable-2.9
    Make gnt-debug locks display fake job locks properly...
a8c1f633 02/26/2014 03:48 pm Hrvoje Ribicic

Merge branch 'origin/stable-2.10' into stable-2.11

  • stable-2.9
    Make gnt-debug locks display fake job locks properly
    Make NiceSort treat integers well
    Revision bump for 2.9.5
    Set release date for 2.9.5
    Add NEWS entry for 2.9.5

Signed-off-by: Hrvoje Ribicic <>...

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

5349519d 02/26/2014 02:06 pm Petr Pudlak

Require lifted-base >= 0.1.2 for lifted IORef operations

This allows to use them in any IO-based monad.

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

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

Add default arguments for WConfd to scripts

In particular, this enables debug logging for WConfd on our test
environment.

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

52b655cb 02/26/2014 01:41 pm Hrvoje Ribicic

Merge branch 'origin/stable-2.9' into stable-2.10

  • stable-2.9
    Make gnt-debug locks display fake job locks properly
    Make NiceSort treat integers well

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

fa0192b2 02/26/2014 12:22 pm Hrvoje Ribicic

Make gnt-debug locks display fake job locks properly

When a job is dependent on other jobs, a fake lock is created whose
pending entry contains a list of job ids waiting on the job. gnt-debug
locks did not expect the job ids to be ints, crashing when encountering...

0fe20731 02/26/2014 12:22 pm Hrvoje Ribicic

Make NiceSort treat integers well

NiceSort is invoked on arrays that may contain strings, but in other
situations can contain ints as well. As this surprisingly makes sense,
add a tiny modification to make NiceSort work in these conditions.

Signed-off-by: Hrvoje Ribicic <>...

7253aaf2 02/25/2014 05:25 pm Klaus Aehlig

Merge branch 'stable-2.9' into stable-2.10

  • stable-2.9
    Revision bump for 2.9.5
    Set release date for 2.9.5
    Add NEWS entry for 2.9.5

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

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

eeeed365 02/25/2014 03:03 pm Klaus Aehlig

Revision bump for 2.9.5

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Jose Lopes <>

8cf85651 02/25/2014 03:03 pm Klaus Aehlig

Set release date for 2.9.5

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Jose Lopes <>

5ac4e986 02/25/2014 12:29 pm Petr Pudlak

A quick fix for broken 'make distcheck'

The offending target 'test/hs/offline-test.sh' requires the dependencies
even when the test isn't actually run. This is because currently our
Makefile doesn't distinguish between prerequisites for building test
scripts and running them....

c60fb21d 02/25/2014 12:01 pm Petr Pudlak

Fix tab/spaces indentation in Makefile.am

At some places a few items of lists use 8 spaces, while we use tabs
everywhere (as makefiles require anyway). This patch unifies the
indentation.

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...
e210c6d7 02/24/2014 04:23 pm Klaus Aehlig

Add NEWS entry for 2.9.5

Describe the changes since 2.9.4 for the soon-to-be-released
version 2.9.5.

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

0f0ca306 02/24/2014 03:56 pm Klaus Aehlig

Merge branch 'stable-2.9' into stable-2.10

  • stable-2.8
    Fix expression describing optional parameters

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

90402786 02/24/2014 03:47 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Fix expression describing optional parameters

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Jose A. Lopes <>

ad55b2d4 02/24/2014 03:33 pm Klaus Aehlig

Fix expression describing optional parameters

The NIC's network and vlan are also newly added, hence need to be
considered optional to remain backwards compatible.

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

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...
931ca734 02/24/2014 01:50 pm Petr Pudlak

gitignore the files introduced by the compilation change

In particular, the test object and interface files and Makefile.ghc

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

f0ac917e 02/24/2014 01:50 pm Petr Pudlak

Show Haskell dependencies when compiling

Instead of showing the long GHC command line, show which file is being
compiled and what its dependencies are. This gives more meaningful
information to developers.

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

9b6d2d92 02/24/2014 01:50 pm Petr Pudlak

Compile every Haskell object file separately

This allows parallel compilation of all targets, including the Haskell
object files. While re-starting GHC for every Haskell source almost
doubles the total CPU time, allowing it run in parallel at the end cuts...

1551758e 02/24/2014 01:50 pm Petr Pudlak

Add configuration options for Haskell compilation variants

Previously this was addressed by Makefile variables, which meant that
it was possible to build the same binary with different compilation
options without recompiling.

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

06929681 02/24/2014 01:50 pm Petr Pudlak

Fix the generation of ListConstants with VPATH

When the build directory differs from the source directory, the
automatic variable '$<' points to the file found by prepending the path.
This causes double '../' to be inserted when combined with
'$(abs_top_srcdir)'. This patch fixes this....

6386c546 02/24/2014 12:48 pm Dimitris Aragiorgis

Fix net-common script in case of routed mode

setup_route should run in case or routed mode and not
openvswitch.

Signed-off-by: Dimitris Aragiorgis <>
Signed-off-by: Thomas Thrainer <>
Reviewed-by: Thomas Thrainer <>...

77dac68c 02/24/2014 12:13 pm Michele Tartara

Improve locale generation instructions

Precise has a different way to handle locales w.r.t. debian distributions.
This patch adds code to make the distinction.

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

14e61dd1 02/24/2014 12:13 pm Klaus Aehlig

Document hspace's SPN parameters

With the introduction of spindles as resources, the machine-readable
output of hspace(1) has been extended. Document the additional parameters.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Jose Lopes <>

91fba1d1 02/24/2014 12:13 pm Klaus Aehlig

Document spindles in TSPEC

As spindles are now considered a resource, they are also output in
the TSPEC parameter of hspace --machine-readable. Document this
interface change.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Jose Lopes <>

f6a6c79b 02/24/2014 12:13 pm Michele Tartara

Add missing package to build_chroot

A package was missing both from the Precise chroot and from the generic chroot.

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

f2a3c4f0 02/24/2014 11:20 am Petr Pudlak

Let the instance's tuple of nodes start with the primary

Before the tuple of nodes of an instance was created from a set, listing
the nodes in alphabetical order. This patch ensures that the primary
node is always the first one in the list.

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

93a968aa 02/24/2014 11:19 am Petr Pudlak

Fix the test that checks for the order of instance's nodes

The test checks if the first node in the tuple is the primary node, but
because it names the node so that it's the least one alphabetically, the
test always succeeds. This fixes the test.

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

87f2f426 02/24/2014 11:11 am Petr Pudlak

man: Update the manual page of gnt-node FAILOVER

In particular explicitly note that a node failover causes all instances
to be stopped and later restarted (issue #724).

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

9cdea43f 02/24/2014 11:09 am Petr Pudlak

Check the existence of system users and groups at bootstrap

Before, if any of these were missing, the creation of a cluster failed
and the cluster remained in an inconsistent state, without the
possibility to destroy it or to re-create it (#603).

This patch calls 'GetEnts' during bootstrap, which tries to read all...

e63e8891 02/24/2014 09:49 am Petr Pudlak

Configure luxid to run with the same user as masterd

Currently masterd and luxid run under separate user accounts, which
makes it impossible for them to share access to the job queue.
This patch adds the easiest fix - to configure luxid to run under the
same user as masterd....

13caa61d 02/21/2014 02:14 pm Klaus Aehlig

Verify the result of opportunistic union

Verify that the result returned by the opportunistic union correctly
reflects the state change: locks not in the result are not changed,
locks in the result are as requested.

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

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

Verify that opportunistic union only adds to the locks held

Add a test verifying that by opportunistic union the set of locks
held, and the level at which the locks are held, only increases.

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

9f9c4543 02/21/2014 02:14 pm Klaus Aehlig

Use opportunisticUnion in Arbitrary LockAllocation

Also allow the newly exported function opportunisticLockUnion in the
construction of arbitrary lock allocations.

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

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

07eec0fc 02/21/2014 02:14 pm Klaus Aehlig

Generate arbitrary :: LockAllocation according to interface

While we know that freeLocks and intersectLocks are defined in terms
of updateLocks, it is still cleaner to test against the interface: the
module Ganeti.Locking.Allocation exports several functions, and all...

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

fd5578ee 02/20/2014 07:05 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Improve job status assert affected by race condition
    Export and import Disk/NIC name
    Fix backup import in case NIC is inside a network
    Override get() method of ConfigParser

Conflicts:
lib/cmdlib/instance.py: manually apply 0973f9ed on...

e6e17529 02/20/2014 05:23 pm Hrvoje Ribicic

Improve job status assert affected by race condition

In the sliver of time between choosing a waiting job to be executed and
trying to acquire locks for its execution, the status of the job can be
changed to canceling. An assert checking the job status neglected to...

0f68f7fa 02/20/2014 04:45 pm Dimitris Aragiorgis

Export and import Disk/NIC name

Name of Disk/NIC were not exported during backup until now.
Use the exported info during gnt-backup import.

Signed-off-by: Dimitris Aragiorgis <>
Signed-off-by: Michele Tartara <>
Reviewed-by: Michele Tartara <>

0973f9ed 02/20/2014 04:45 pm Dimitris Aragiorgis

Fix backup import in case NIC is inside a network

Network UUID is written in .ini file during backup export
but is not used by _ReadExportParams(). This patch fixes it.

Please note that in case a network is given, link and mode should
not be included in NIC options....

523170de 02/20/2014 04:45 pm Dimitris Aragiorgis

Override get() method of ConfigParser

During backup import/export SafeConfigParser() is used to
save/restore instance's configuration. There is a possibility if an
export is done with a different Ganeti version, a specific value not
to be saved during export (e.g. the NIC/Disk name) but still...

af8492ff 02/20/2014 11:11 am Michele Tartara

Add precise to build_chroot

Modify the build_chroot script to support Ubuntu Precise as a target
environment.

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

992fd37d 02/20/2014 10:24 am Helga Velroyen

Updating security doc wrt to SSL security

This patch updates the security document with respect to
the recent changes in RPC security. For details see
design-node-security.

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

362fcd0b 02/20/2014 10:24 am Helga Velroyen

Update design docs for 2.11

Updating the status of the design docs in 2.11.

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

3e8a6f39 02/20/2014 10:22 am Helga Velroyen

Smooth renewal of client certificates

This patch fixes another chicken-and-egg problem which
occurred when the node certificates get renewed. When
renewing a node certificate, the previous certificate
has to be used to update the configuration. To address...

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

fe78783d 02/20/2014 10:12 am Klaus Aehlig

Document restrictions on lock implication

As owning a group lock has the same effect as owning a
group of locks, some restrictions have to be added to
to avoid dead locks. Document them.

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

c25bd091 02/19/2014 03:59 pm Thomas Thrainer

Revision bump for the 2.10.0 release

Remove the ~rc3 suffix from the version for the official 2.10.0 release.

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

d2d04f94 02/19/2014 03:59 pm Thomas Thrainer

Update NEWS file for 2.10.0

Mention the bug fix commited to the 2.8 branch and set the release date
to tomorrow.

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

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

277c969f 02/19/2014 03:45 pm Klaus Aehlig

Add a test verifying that lock-implication is honored

Locks can be included in one another. This inclusion can be violated
in two ways, viz.,
- A holds a lock L and B holds an exclusive lock L belongs to, and
- A holds an exclusive lock and B holds a lock L belongs to....

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

64df329d 02/19/2014 03:45 pm Klaus Aehlig

Verify that every owner mentioned as blocking actually is

If a request is blocked by multiple lock owners, verify that each
single one of them actually blocks the request. In other words,
verify that, whenever all but one release their lock, the request
still does not succeed....

9bf17b50 02/19/2014 03:45 pm Klaus Aehlig

Verify that the set of blocking owners is big enough

When a request is blocked, the list of blocking owners
should exhaust all blocking reasons, i.e., if those
owners release all their locks, the update must succeed.

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

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

619b12df 02/19/2014 03:45 pm Klaus Aehlig

Make TestLock an instance of Lock

Equip the type of test locks with a simple group structure
consisting of two lock groups and a big lock.

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

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

Make GanetiLocks an instance of Lock

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