Statistics
| Branch: | Tag: | Revision:

root / src @ 48e4da5c

# Date Author Comment
48e4da5c 12/02/2013 04:08 pm Klaus Aehlig

Add a scheduler to keep track of the job queue

In order to allow informed decissions on when to start a job,
it is necessary for luxid to keep track of the (active part
of the) job queue. Add a scheduler, similar to the config reader,
that does this, but also schedules jobs to be executed. At the...

6fd8ceff 12/02/2013 04:08 pm Klaus Aehlig

Move FStat related function to Utils

In this way, the functions to to decide, based on fstat, whether
a file needs to be reloaded can used by other parts as well,
in particular to monitor progress in the job queue.

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

ac0c5c6d 12/02/2013 04:08 pm Klaus Aehlig

Rename enqueueJobs to startJobs

This reflects better what the method actually does. Later,
we will add a job scheduler that will provide a proper enqueue
method.

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

0359e5d0 11/29/2013 12:10 pm Spyros Trigazis

Add default_iallocator_params cluster parameter

Add a cluster parameter to hold the iallocator parameters used
by the default instance allocator. Implement the option to
modify config.data, query config.data and upgrade man pages,
tests and cfgupgrade tool. The new default_iallocator_params is...

869cea98 11/29/2013 12:10 pm Spyros Trigazis

Modify --mond to yes|no option

Modify --mond option used by hail, hbal and hinfo from non
argument to yes|no option.

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

cfb3116d 11/28/2013 05:37 pm Helga Velroyen

Activate QA for rapi queries via luxi

This patch enables QA testing for rapi queries for the
newly transformed queries from python to haskell
(groups, instances, nodes, export, and networks). So far,
the QA did not distinguish between resources that cannot be...

c6013594 11/28/2013 05:00 pm Klaus Aehlig

Set the received time stamp for new jobs

Since luxid now handles the job submission requests, it is also
its responsibility to set the received time stamps. Do this.

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

2af22d70 11/28/2013 04:59 pm Klaus Aehlig

Provide a function to set the received times tamp of a job

This is the pure function for changing the received time stamp;
obtaining the actual time stamp has to be done in IO.

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

c3a70209 11/28/2013 04:59 pm Klaus Aehlig

Document the jobqueue timestamp format

...and also provide a method to get the current time in
that format.

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

fa7f3e26 11/27/2013 03:08 pm Helga Velroyen

Fix removal of duplicates

Commit ede6df3d02 introduced a bug in the node queries
where disk templates where paired up wrongly to their
storage unit keys due to removal of duplicates at the
wrong place. This patch fixes it.

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

96e3dfa7 11/27/2013 11:37 am Helga Velroyen

Fix retrieval of number of instances of a node

This patch fixes a FIXME to make the retrieval of the
number of primary and secondary instances share more
common code.

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

e86c9deb 11/27/2013 11:37 am Helga Velroyen

Use hypervisor / storage information only when requested

So far, the node queries ignored the list of fields and
just requested all available information from the backend.
That means, for example if only hypervisor information is
requested, still the storage space calculation is...

ede6df3d 11/27/2013 11:37 am Helga Velroyen

Remove duplicate storage units in node query

This is a little performance tweak for the node queries.
So far, the query code mapped the disk templates to storage
units. It could happen that two disk templates were mapped
to the same storage unit and therefore the storage space...

f5b765f0 11/26/2013 03:31 pm Klaus Aehlig

Make luxid job submission be defined by replication

When receiving jobs to be submitted, make luxid replicate them to all
master candidates and then return. The actual execution can be handled
asynchronously.

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

493d6920 11/26/2013 03:31 pm Klaus Aehlig

Add function to enqueue jobs

Add a function that ensures that a given set of jobs gets executed at
the appropriate time. At the moment, this is still the simple
mechanism of handing over everything to masterd; but even at this
stage, it has the benefit of allowing to remove code duplication in...

ea128e20 11/26/2013 03:31 pm Klaus Aehlig

Add a function justBad to filter the Bad value of a list

In the same way as justOk allows to filter the Ok values,
add justBad to filter the Bad values. While there, simplify
the definition of justOk.

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

9fd653a4 11/26/2013 03:31 pm Klaus Aehlig

Add wrapper to replicate many jobs

Add a convenience wrapper around replicateJob to replicate
many jobs to the master candidates.

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

b5a96995 11/26/2013 03:31 pm Klaus Aehlig

Add function to replicate a job to the master candidates

As luxid will be handling the job queue soon, add a utility to
replicate jobs to all master candidates. Also log errors.

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

835050f3 11/26/2013 03:31 pm Klaus Aehlig

Compress JobqueueUpdate RPCs

Noded understands compressed RPCs for updating files in the
(replicated) job queue. Make use of this feature.

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

f7819050 11/26/2013 03:31 pm Klaus Aehlig

Release internal lock for serial file later

When allocating new jobs, the new serial is replicated among
all master candidates. To avoid races with a later job id
allocation, keep the internal lock till after the replication
attempt.

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

9d049fb4 11/26/2013 03:30 pm Klaus Aehlig

Rename LuxiSocket to MasterSocket

Rename the constants to name the socket to connect masterd,
as the name LuxiSocket hints on luxid, which is different
from masterd.

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

5c98b73e 11/26/2013 11:14 am Helga Velroyen

Instance queries: remove opcodes and LU

Removes the remains of the instance queries.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Hrvoje Ribicic <>

64981f25 11/26/2013 11:14 am Helga Velroyen

Export and network queries: remove opcodes and LUs

Removes the remains of the export (aka backup) and network
queries.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Hrvoje Ribicic <>

081dc516 11/26/2013 11:14 am Helga Velroyen

Group queries: remove opcodes and LUs

Removes the remains of the group query code.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Hrvoje Ribicic <>

dde771ba 11/26/2013 11:14 am Helga Velroyen

Node queries: remove opcodes and LUs

Removes the remains of the node query code.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Hrvoje Ribicic <>

2a02d6fe 11/26/2013 11:14 am Helga Velroyen

Remove instance query python code

This patch removes the python code for the instance
queries. So far, it replaces it by 'NotImplemented'
exceptions. In a later patch of this series, the
remaining part is remove completely.

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

96431562 11/26/2013 11:14 am Helga Velroyen

Switch to Haskell for group queries

This patch removes the group query implementation
in python in order to use the new Haskell implementation.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Hrvoje Ribicic <>

fbeb41e6 11/26/2013 11:13 am Helga Velroyen

Switch to haskell for export (aka backup) queries

This patch removes the python implementation of export
(aka backup) queries. So far, it is replaced by
'NotImplemented' exceptions, but later in this series
it will be replaced completely.

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

44ffd981 11/26/2013 11:13 am Helga Velroyen

Switch to Haskell for network queries

This patch removes the python implementation of network
queries and replaces it with 'NotImplemented' exceptions.
It will be removed completely once all queries are
switched to Haskell.

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

a9532fb0 11/26/2013 11:13 am Helga Velroyen

masterd: implement query via luxi

The master daemon so far still did queries via the python
implementation. This patch implements that it uses the
haskell implementation and removes the node queries from
the list of OP-queriable entities.

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

89352544 11/26/2013 11:13 am Helga Velroyen

Implement 'QueryInstances' call in Haskell luxi server

While the command line uses the generic 'Query' call,
rapi calls 'QueryInstances'. 'QueryInstances' so far
was not fully implemented in the Haskell implementation
of the luxi server. This was discovered when trying to...

ec81293c 11/26/2013 11:13 am Helga Velroyen

Fix bug regarding node UUID in haskell node queries

When moving from python to haskell node queries, a bug
was discovered where a node's UUID was mistakenly
compared to a node's name. This indirectly caused the
cluster epo operation to fail, because it was not...

1211c6ed 11/26/2013 11:13 am Helga Velroyen

Remove --enable-split-query option

Switching from python to haskell queries, this patch
removes the option to dis/enable the haskell queries
at configure time.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Hrvoje Ribicic <>

81879d92 11/25/2013 05:50 pm Klaus Aehlig

hsqueeze: fix position of option in gnt-node power

hsqueeze can produce a shell script with the commands to squeeze
the cluster; in the script, fix the position of the '-f' option
in the 'gnt-node power' command.

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

2ca1b52d 11/21/2013 03:45 pm Klaus Aehlig

Add missing spindles paramter to idisk

When spindles where added to Ganeti, apparently it was forgotten
to add the parameter to the Haskell data type as well. Do this now.

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

7295a6dc 11/19/2013 02:13 pm Hrvoje Ribicic

Allow the NIC VLAN to be set to an empty string

The NIC VLAN has previously not been modified via Haskell, causing the
INicParams class not to be used. With the recent job queue
refactorings, a modification definition is recorded, and for an empty
string (which is a legal default value) a crash happens. This patch...

32933325 11/19/2013 02:13 pm Hrvoje Ribicic

Add the aggregate NIC VLAN instance field

Allow the retrieval of the VLANs of all the NICs through nic.vlans.

Signed-off-by: Hrvoje Ribicic <>
Reviewed-by: Thomas Thrainer <>

63f4bce5 11/19/2013 02:13 pm Hrvoje Ribicic

Add NIC VLAN field retrieval to Haskell queries

The field was added to Python queries in an earlier version, and now
has to be added to the Haskell queries as well.

Signed-off-by: Hrvoje Ribicic <>
Reviewed-by: Thomas Thrainer <>

268fb0bd 11/15/2013 05:40 pm Klaus Aehlig

hsqueeze: add option to show or save commands

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

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

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

hsqueeze: when balancing also keep the move sequence

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

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

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

Add function to get the moves between two configurations

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

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

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

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

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

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

Move saving of a command list to CLI

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

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

a4417db4 11/15/2013 04:49 pm Thomas Thrainer

Merge branch 'stable-2.10' into master

Merge branch 'stable-2.10' into master

  • stable-2.10
    Don't allow optional node parameters
    Move OVS node parameters to the right place
    Make NIC VLAN queryable
    Pass VLAN parameter correctly in moves
    Use constant instead of raw string...
0808e9d5 11/14/2013 05:40 pm Petr Pudlak

Add NodeGroup to InstanceConsoleInfoParams

Before, calls to `gnt-instance list -o console` with an instance on a
node with a custom SSH port failed because of missing group
configuration. This patch fixes the problem.

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

f2152285 11/14/2013 05:32 pm Petr Pudlak

Add "ndp/ssh_port" node group configuration parameter

The parameter is added to Haskell sources, from which the corresponding
Python code is generated.

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

1de58759 11/14/2013 05:27 pm Helga Velroyen

group queries: test niceSort and remove FIXME

In an effort to get rid of the python queries soon, this
patch fixes a FIXME of the group queries regarding the
missing testing of niceSort in this context. Due to the
lack of actually weirdly named hostnames, this patch...

07e68848 11/14/2013 04:30 pm Thomas Thrainer

Don't allow optional node parameters

Ganeti does not support optional fields in parameters
(hypervisor-params, disk-params, etc.). OpenVSwitch related node
parameters were the exception to this rule, which caused numerous
problems related to import/export and (de-)serialization....

55c87175 11/14/2013 03:09 pm Jose A. Lopes

Haskell instance queries report 'USER_down'

Update instance queries on the Haskell codebase to report 'USER_down',
similarly to the Python instance queries.

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

9158a1dd 11/14/2013 03:09 pm Jose A. Lopes

Add instance state 'USER_down'

Add instance state 'USER_down' which is a state used in reporting only
and it represents the situation in which the user has shutdown the
instance but Ganeti's configuration still has this instance marked as
'ADMIN_up'.

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

14933c17 11/14/2013 03:08 pm Jose A. Lopes

Add Haskell hypervisor instance state

Add 'InstanceState' datatype which is the Haskell counterpart of the
Python type 'HvInstanceState'.

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

88a0e24b 11/14/2013 01:39 pm Jose A. Lopes

Merge 'hs2py-constants' into 'hs2py'

Merge code of 'hs2py-constants' into 'hs2py', which requires adding
flag '--constants', and merge target 'src/hs2py-constants' into
'src/hs2py' in 'Makefile.am', also updating dependencies and
variables.

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

0c599ca0 11/14/2013 01:39 pm Jose A. Lopes

Add flag '--opcodes' to 'hs2py'

This is a transitional step before merging 'hs2py-constants' and
'hs2py'.

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

e817723c 11/13/2013 05:04 pm Klaus Aehlig

Add missing Constructor for SetParamsMods

Disks and nics can not only be addressed by indices, but also
by name. Hence add a constructor for this case as well, to be
faithful to the python world.

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

edcad688 11/13/2013 02:25 pm Petr Pudlak

Ignore hlint warning "Error: Too strict if" in Server.hs

A previous patch [229da00] added an annotation for ignoring the warning,
but to the middle of a function, which doesn't compile. This patch moves
the annotation to the end of the function to correct the problem....

229da00f 11/13/2013 11:40 am Petr Pudlak

Ignore hlint warning "Error: Too strict if" in Server.hs

This warning appears only in newer versions of hlint (mine was v1.8.43),
and in this case it's reported incorrectly. The arguments to "showJSON"
have different types, therefore it's not possible to move "showJSON" in...

94d6d0a3 11/08/2013 07:00 pm Klaus Aehlig

Make luxid handle SubmitManyJobs

Handle this request by writing the jobs to the
queue and inform masterd; masterd will then also
distribute the jobs to all master candidates.

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

e5fba493 11/08/2013 07:00 pm Klaus Aehlig

Make luxid handle SubmitJob

As luxid is to take over responsibility for the job queue,
handle this request by writing the job to the queue and then
informing masterd; masterd will also distribute the job to
all master candidates.

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

1b94c0db 11/08/2013 07:00 pm Klaus Aehlig

Add the predicate of the queue being open

Adding jobs to the queue is only allowed if the queue
is not drained.

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

e773a018 11/08/2013 07:00 pm Klaus Aehlig

Provide path to the queue drain file

Since luxid is going to write to the job queue,
it needs to honor drains of the queue as well.

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

d9d1e541 11/08/2013 07:00 pm Klaus Aehlig

Add Luxi Request to pick up a job in the queue

During the transition to the new daemon layout, from step 2
onwards, luxid will write to the queue but masterd will trigger
the execution. Therefore, add a new luxi request to tell masterd
to pick up a job that has already been written to the queue....

e1235448 11/08/2013 07:00 pm Jose A. Lopes

Move Haskell constants to proper module

Move Haskell constants from module 'Ganeti.HsConstants', which was a
transitional module part of the Haskell to Python constant generation
infrastructure, to module 'Ganeti.Constants'.

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

74e15780 11/08/2013 07:00 pm Jose A. Lopes

Tear down Py2Hs constant infrastructure

Tear down Python to Haskell constant conversion infrastructure, which
includes eliminating the autotool 'convert-constants' and the Haskell
module, namely 'Ganeti.PyConstants', which held the converted
contants.

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

32b07c5f 11/08/2013 07:00 pm Klaus Aehlig

Provide means of locking a file

Two avoid two processes simultaneously accessing the same
on-file structure, like the job queue, file locks are used.
Therefore, provide this functionality in Haskell as well.

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

02926b4b 11/08/2013 07:00 pm Klaus Aehlig

Provide path to the queue lock file

To avoid several processes accessing the queue at the same time,
Ganeti locks the queue via a lock file on disk. Provide the path
to this file.

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

b498ed42 11/08/2013 07:00 pm Klaus Aehlig

Provide a function to write jobs to disk

This function writes a (non-archived) job to disk. The file
name can be computed from the job id, which is part of the job.

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

5523732b 11/08/2013 07:00 pm Jose A. Lopes

Hs2Py constants: additional module jstore

Add constants from additional modules ('ganeti.jstore') to the Haskell
to Python constant generation.

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

88ac4075 11/08/2013 07:00 pm Jose A. Lopes

Hs2Py constants: additional module errors

Add constants from module 'ganeti.errors' to the Haskell to Python
constant generation.

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

ae858516 11/08/2013 07:00 pm Klaus Aehlig

Provide means to allocate new job ids

Add utility functions to allocate new job ids by increasing
the value stored in the serial file. As this function is
used in a multi-threaded program, synchronize access over
an internal lock.

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

f5a67757 11/08/2013 07:00 pm Klaus Aehlig

Add function to get master candidates from configuration

With luxi daemon taking over part of the job queue management, it will
also be responsible for replicating the queue to all master candidates.
Therefore, add a function to extract the list of master candidates from...

a716edba 11/08/2013 07:00 pm Klaus Aehlig

Support RPC asking to replicate part of the job queue

To be able to replicate the job queue, in particular the serial,
luxid needs to be able to send the jobqueue_update RPC. So add
its definition.

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

bf7ee7ad 11/08/2013 07:00 pm Klaus Aehlig

Provide function to obtain the unique element of a list

This version of 'the' properly lives in the 'Result' monad,
as opposed to traditional one calling 'error'. The reason
why it is 'Bad' that not precisely one element is returned
is given as argument....

cef3f99f 11/08/2013 07:00 pm Klaus Aehlig

Provide method to read job serial number

This methods allows reading the maximal job serial number from
disk.

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

1c1132f4 11/08/2013 07:00 pm Klaus Aehlig

Provide convenience function to create Job from op-codes

This function handles the pure part of generating a job,
i.e., assuming the job id already assigned and not setting
time stamps.

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

62933497 11/08/2013 07:00 pm Klaus Aehlig

Add function to resolve dependencies in meta op code

When queueing many jobs, the dependencies between them need to
be resolved with the knowledge of their respective job id.
Lift the computation of the absolute dependency to the level
of MetaOpCodes.

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

966ea086 11/08/2013 06:59 pm Klaus Aehlig

Add function to compute the absolute id of a dependency

SubmitManyJobs also accepts jobs with dependencies given as
relative ids. Together with the absolute id of the job, once
assigned, the dependency can be resolved. Add a function doing
this computation....

4b49a72b 11/08/2013 06:59 pm Klaus Aehlig

Provide a convenience method to optain a QueuedOpCode

When generating jobs from sequences of op-codes, it is necessary
to wrap op-codes into queued form.

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

5badb3e7 11/08/2013 06:59 pm Klaus Aehlig

Add utility function tryAndLogIOError

This function allows to use 'IO a' objects in a safe
way, using the 'try' function; the outcome is reported
as a 'Result'. IOErrors are logged and the result is
'Bad', while in the case of no errors, a result-yielding...

67620dff 11/08/2013 06:59 pm Jose A. Lopes

Hs2Py constants: additional module qlang

Add constants from additional modules ('ganeti.qlang') to the Haskell
to Python constant generation.

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

710f5ae2 11/08/2013 06:59 pm Klaus Aehlig

Provide utility to atomically write a file

To keep our on-file data consistent at any moment, we change
file contents by atomically replacing the file with a new one.

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

fbb05686 11/08/2013 06:57 pm Jose A. Lopes

Hs2Py constants: additional module luxi

Add constants from additional modules ('ganeti.luxi') to the Haskell
to Python constant generation.

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

3cb9bd38 11/08/2013 06:57 pm Jose A. Lopes

Fix reference to vcs version in query server

Fix reference to vcs version in query server to take its value from
the Haskell constant in 'Ganeti.Version' instead of using the constant
generated from Python.

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

ccdcdc5f 11/08/2013 06:57 pm Jose A. Lopes

Use configure constants instead of generated

Replace uses of the generated 'AF_INET*' constants with the constants
in Haskell's 'AutoConf'.

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

b5a3b24a 11/08/2013 06:57 pm Jose A. Lopes

Hs2Py constants: add 'UUID_REGEX'

Add constant 'UUID_REGEX' to the Haskell to Python constant
generation.

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

2df8f530 11/08/2013 06:57 pm Jose A. Lopes

Add 'AF_INET*' constants to Haskell's 'AutoConf'

Add 'AF_INET*' constants to the Haskell 'AutoConf' module, which
requires extending the 'm4' invocation with additional substitutions,
in the 'Makefile' target for 'src/AutoConf.hs'.

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

f0221cff 11/06/2013 12:27 pm Petr Pudlak

When loading configuration fails, include the reason

Before the message why a failure happened (like a parsing error) was lost.

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

dfcebee3 11/05/2013 05:41 pm Klaus Aehlig

Fix getNodeRole

In the configuration, the master node is now given
by its uuid. Therefore, compare the uuid and not the
name to find out if a given node is the master.

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

cba1fce1 11/05/2013 03:31 pm Klaus Aehlig

Merge branch 'stable-2.10' into master

  • stable-2.10
    Fix documentation
    Replace all constant definitions with re-exports
    Prepare constants for automatic reexport
    Hs2Py constants: 'hvsParameterTypes' and 'hvsParameters'
    Fix indentation that triggers PEP8 error...
4c5cb91e 11/04/2013 01:39 pm Jose A. Lopes

Fix documentation

Fix documentation in constants containing values in seconds.

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

4dddf578 11/04/2013 01:39 pm Jose A. Lopes

Hs2Py constants: 'hvsParameterTypes' and 'hvsParameters'

Add constants 'hvsParameters' and 'hvsParameterTypes' to the Haskell
to Python constant generation.

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

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

hsqueeze: support planing for onlining nodes

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

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

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

Add an --minimal-resources option

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

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

Text Backend: correctly read data for offline nodes

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

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

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

Change default for target resource to 2.0

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

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

bb133242 10/31/2013 12:46 pm Klaus Aehlig

Merge branch 'stable-2.10' into master

  • stable-2.10
    Remove FIXME + update man pages wrt iallocator
    Don't check for master netdev when using OVS
    Fix TypeError in backend/ConfigureOVS
    Create Open vSwitch on Master during Cluster init
    SimpleRetry on BlockDev.Remove()...
b3ae67d7 10/30/2013 11:03 am Dimitris Aragiorgis

SimpleRetry on BlockDev.Remove()

Sometimes, upon disk removal, corresponding file descriptors
are kept briefly open by various processes (hypervisor, blkid, etc.).
With this patch, we retry several times before raising the appropriate
error, thus making disk removal more robust against those corner cases....

88acff3f 10/29/2013 03:56 pm Thomas Thrainer

Add possibility to compress to OpInstanceCreate

OpInstanceCreate now supports the 'compress' option. It allows to enable
compression during instance imports.

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

51d7ac96 10/29/2013 03:56 pm Thomas Thrainer

Support import with compressed instance moves

Support compressing instance data while sending it to the target node on
instance imports.

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

896cc964 10/29/2013 03:56 pm Thomas Thrainer

Add local compression to OpBackupExport

OpBackupExport is extended by a compress parameter. This parameter
(either 'none' or 'gzip') controls if instance disks are compressed
before being sent over the network to the destination node.

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

f198cf91 10/29/2013 03:56 pm Thomas Thrainer

Add possibility to compress to OpInstanceMove

OpInstanceMove now supports the 'compress' option. It allows to enable
compression for intra-cluster instance moves.

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