Statistics
| Branch: | Tag: | Revision:

root @ ac156ecd

# Date Author Comment
ac156ecd 12/17/2013 06:12 pm Santi Raffa

Gluster: use ssconf value for mountpoint directory

Gluster still does not mount anything autonomously, but this commit
changes where Gluster expects its mountpoint to be.

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

d3e6fd0e 12/17/2013 06:12 pm Santi Raffa

ssconf: Add Gluster mount directory

This commit adds the gluster storage directory to ssconf (without
actually using its value just yet).

Signed-off-by: Santi Raffa <>
Signed-off-by: Thomas Thrainer <>
Reviewed-by: Thomas Thrainer <>

58793040 12/17/2013 06:12 pm Santi Raffa

Gluster: add GlusterVolume class

This commit teaches Gluster what a volume is and how to use it.

Signed-off-by: Santi Raffa <>
Signed-off-by: Thomas Thrainer <>
Reviewed-by: Thomas Thrainer <>

8106dd64 12/17/2013 06:12 pm Santi Raffa

Gluster: minimal implementation

Add Gluster to Ganeti by essentially cloning the shared file behaviour
everywhere in the code base.

Signed-off-by: Santi Raffa <>
Signed-off-by: Thomas Thrainer <>
Reviewed-by: Thomas Thrainer <>

05edafd3 12/17/2013 06:12 pm Santi Raffa

netutils: Add ValidatePortNumber method

This method accepts a port number and checks that it is in fact valid.

Signed-off-by: Santi Raffa <>
Signed-off-by: Thomas Thrainer <>
Reviewed-by: Thomas Thrainer <>

267520ba 12/17/2013 06:12 pm Santi Raffa

FileStorage: extract file logic to a FileDeviceHelper object

This will allow code reuse for Gluster through composition, rather
than inheritance.

Signed-off-by: Santi Raffa <>
Signed-off-by: Thomas Thrainer <>
Reviewed-by: Thomas Thrainer <>

2656b017 12/17/2013 06:12 pm Santi Raffa

FileStorage: move to filesstorage.py

Move the FileStorage class in its own file, together with its helper
functions.

Signed-off-by: Santi Raffa <>
Signed-off-by: Thomas Thrainer <>
Reviewed-by: Thomas Thrainer <>

d2234191 12/17/2013 06:12 pm Santi Raffa

PathJoin: improve error message when given one argument

PathJoin fails with an unclear message if only one argument is passed
to it. Calling PathJoin("/foo") causes this exception:

Error: path joining resulted in different prefix (/foo != /foo)

However, /foo and /foo obviously share prefixes: what this function...

3fffa0c6 12/17/2013 06:12 pm Santi Raffa

ComputeLDParams: do not spell out disk templates

A large part of the complexity in this function is due to the need
to translate from "template-specific" parameter names to
"template-agnostic" parameter names. This logic is complex and having
complex code for complex logic is okay....

e7d34815 12/17/2013 06:11 pm Santi Raffa

bdev: Fix position of DEV_MAP

This rather important dictionary from constants to classes was hiding
between function definitions. The dict cannot go to the top of the file
as the classes haven't been defined there yet, so it's been pushed
to the bottom of the file....

b0e8ed3f 12/17/2013 04:59 pm Santi Raffa

gnt-cluster verify: demote orphan volume error to warning

Ganeti checks for orphan volume by making sure that it knows about all
volumes on disk; any additional orphan volume, even if created by the
administrator, causes a failure in gnt-cluster verify. Given that...

d75d7772 12/17/2013 01:25 pm Klaus Aehlig

For the commandline, switch to query socket by default

As luxid now understands all the requests used by the command-line tools,
switch the default luxi socket for those to be the socket of luxid.

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

1138d32f 12/17/2013 10:34 am Klaus Aehlig

Implement fields query for instance

Support the query for the fields available for instances.

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

5c47a2a6 12/17/2013 10:34 am Klaus Aehlig

Remove the hvsGlobals from instance query fields

...to be consistent with the python implementation.

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

602db636 12/17/2013 10:34 am Klaus Aehlig

Add nic.vlans to the query fields

In commit 3293332 this was only done for the Haskell side; do
so for python as well, to have both views consistent.

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

af67c5b1 12/17/2013 10:34 am Klaus Aehlig

When interpreting [] as "all fields", sort nicely

When asked for all fields, we promise to return the list of fields
sorted according to niceSort. Keep this promise.

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

03b179ce 12/16/2013 05:46 pm Klaus Aehlig

Take a fresh Luxi client for each failing test

Luxid is more strict with closing the connection after receiving
a syntactically incorrect request, gnt-debug cannot use the same
client for several successive tests verifying that a syntactically
incorrect request is recognized as such....

f18aaff4 12/16/2013 05:45 pm Klaus Aehlig

Fix race in watchFile

As the calling of watchFile and the evaluation of the initial
getFStatSafe takes non-zero time, the file could have changed
before inotify was set up properly. Solve this problem by an
additional check for the watched value to have changed immediately...

6897a51e 12/13/2013 02:58 pm Petr Pudlak

Use a data type when generating Python types of OpCodes

Currently they are generated only as Strings.

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

0d78accc 12/13/2013 02:58 pm Petr Pudlak

Refactor OpCodeDescriptor from a tuple to a data type

This greatly enhances code readability.

Also fix monadic types "Q ExpQ" [which is "Q (Q Exp)"] to "Q Exp".

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

6c1a9fae 12/13/2013 02:58 pm Petr Pudlak

Add showValueList to PyValue for proper String instances

It's the same trick ShowS uses. We add a type class function for
showing a list to PyValue and then just use it in the instance for
`[a]`. This way we have the proper String instance without any
overlapping/incoherent instances....

b711450c 12/13/2013 02:58 pm Petr Pudlak

Rename PyValueInstances.hs to PyValue.hs

Now the file contains the type class declaration as well.

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

2886c58d 12/13/2013 02:58 pm Petr Pudlak

Move PyValue into PyValueInstances.hs, import it in THH.hs

This puts all PyValue code into one module, getting rid of orphan
instances.

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

d819aba6 12/13/2013 02:28 pm Klaus Aehlig

Make the duration field optional null-serialized

The time in SetWatcherPause is optional (with Nothing meaning
that the pause should be canceled), but the serialization is
not that of a Maybe Double; instead Just values serialize as
they are and Nothing serializes to null. Fortunately, we already...

be7531a9 12/13/2013 11:58 am Klaus Aehlig

Handle QueryConfigValues

Make luxid handle the QueryConfigValues call providing certain
simple status information about the cluster.

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

7f58ff5d 12/13/2013 11:58 am Klaus Aehlig

Add a predicate for watcher pause

Add a predicate, in IO, to test whether the watcher is
paused.

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

4b7863cb 12/13/2013 11:58 am Klaus Aehlig

Provide path to watcher pause file

Extend Path.hs to also provide the path to the file indicating
whether watcher is paused.

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

946f1fb3 12/13/2013 11:58 am Klaus Aehlig

Implement SetWatcherPause in luxid

Make luxid handle SetWatcherPause correctly.

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

5ce9cc30 12/13/2013 11:57 am Klaus Aehlig

Add the RPC-call set_watcher_pause

With luxid taking over responsibility for handling watcher-pause requests,
it needs to know about this RPC. So have it available in Haskell as well.

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

906df9f1 12/13/2013 11:57 am Klaus Aehlig

The time field for SetWatcherPause is optional

A JSON null value is used to indicate that the pause should be canceled.

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

557f5dad 12/13/2013 11:57 am Klaus Aehlig

Generate a separate return type for the job queue update RPC

The instantiation of RPC requires a bidirectional functional dependency
between call type and return type. Hence we cannot use Unit everywhere.

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

36399e2a 12/12/2013 11:48 am Michele Tartara

OS-redesign: change instance IP

Change the IP of the instance to make it correspond to the one used in the
example.

The .253 is chosen so that, if needed, in the future the network can be changed
from a /24 to a /28.

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

e5eaa80a 12/12/2013 11:09 am Michele Tartara

OS installation redesign

Add the document describing a new design for the OS installation process for
new instances.

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

c7003a76 12/11/2013 01:32 pm Petr Pudlak

Move the generalized IO client from Luxi to UDSServer

No code is changed in this patch (except imports and qualifiers), only
moved.

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

d79a6502 12/11/2013 01:32 pm Petr Pudlak

Generalize the IO client handling in Luxi

... to be usable for WConfd as well. A daemon handler is encapsulated
into `Handler` data type, which is then passed to a generic `listener`.

The changes are done in Luxi.hs so that the differences are visible and...

43c329e7 12/11/2013 01:32 pm Petr Pudlak

Add MonadLog instance for `ReaderT r m`

This allows to use logging with the ReaderT monad transformer.

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

27f904f7 12/11/2013 01:32 pm Petr Pudlak

Add a MonadLog typeclass for monads that allow logging

This separates logging from IO, allowing to create unit tests in future
for functions that use it.

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

964a728f 12/11/2013 01:32 pm Petr Pudlak

Add fromJResultE and fromJVal that uses MonadError

Using MonadError is more correct than just "fail" on an arbitrary
monad, and more scalable when using monad type classes or monad stacks.

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

ed5a07f2 12/11/2013 01:32 pm Petr Pudlak

Add an Error instance for GanetiException

This allows it to be used with MonadError.

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

95e683c6 12/11/2013 01:31 pm Petr Pudlak

Add MonadPlus and MonadError instances for GenericResult

.. and ResultT.

While at it, generalize also the MonadPlus instance of GenericResult and
add some Functor/Applicative instances.

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

6e47412f 12/11/2013 12:07 pm Petr Pudlak

Generalize "validateCall" to be usable outside LUXI

Return the method (as any instance of JSON) and the arguments of a call.

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

5e671e0e 12/11/2013 12:07 pm Petr Pudlak

Add the Unix domain socket path to the Server data type

This simplifies code for closing such a socket.

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

0fbc8447 12/11/2013 12:07 pm Petr Pudlak

Encapsulate a server socket and its parameters

Instead of passing a bare server socket around, we pass it encapsulated
in a data type together with parameters such as read/write timeouts.

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

d605e261 12/11/2013 12:07 pm Petr Pudlak

Rename getClient/Server to getLuxiClient/Server

Later they will be split into LUXI-specific and general parts.

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

71a4c605 12/11/2013 12:07 pm Petr Pudlak

Split Luxi.hs into LUXI-specific functions and general ones

This will allow WConfD to use the general functions without importing
Luxi.hs.

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

6222b3a3 12/10/2013 01:32 pm Klaus Aehlig

Make luxid support WaitForJobChange

Make support the WaitForJobChange, waiting for a job to
change on certain monitored fields.

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

6eeaf385 12/10/2013 01:32 pm Klaus Aehlig

Add a generic function capable of watching a file

Add a method to return the new value of a function if it changes within
the given timeout. If not, return the old value. Make use of the fact,
that the function only changes, if the specified file changes on disk....

751fb9e2 12/10/2013 01:32 pm Klaus Aehlig

Add a safe version of getFStat

The function getFStat causes an IOError if the file to be stated does
not exist. In some cases, however, the only thing we care about is whether
it has changed, with disappearing being a legitimate change. So add a wrapper
that catches the IOError and returns nullFStat....

cdea7fa8 12/06/2013 03:30 pm Santi Raffa

Gluster: Update design document

Anticipate and explain the choices made in the Gluster patch series.
Remove parts about a possible way of supporting userspace access as
it has been implemented otherwise.

Signed-off-by: Santi Raffa <>
Reviewed-by: Thomas Thrainer <>

543937ce 12/06/2013 10:49 am Jose A. Lopes

Fix 'htest' related targets dependencies

This fixes issue 634.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Helga Velroyen <>

c2a3c07d 12/05/2013 02:11 pm Helga Velroyen

Design: Improvements of Node Security

This is a design doc addressing issue 377. Objective is
to reduce the number of nodes that are able to establish
ssh and RPC connections to other nodes. Limiting this
set of nodes to the master candidates is desired to...

2713b91a 12/04/2013 05:52 pm Klaus Aehlig

Make luxid inspect the job queue on startup

Since luxid handled the scheduling, make luxid also read the queue
upon restart. In this way, jobs get scheduled in the same way, independent
of luxid restarts.

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

39348887 12/04/2013 05:52 pm Klaus Aehlig

Remove queue inspection from masterd

When masterd was responsible for queue handling, it would, on
restart, pick up all non-started jobs from the queue. Now that
luxid is responsible for handling the queue, make masterd not
do this any more.

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

02e40b13 12/04/2013 05:52 pm Klaus Aehlig

Add a predicate to determine if a job has been started

Add a predicate jobs indicated that it has left the queue. This
will be needed, to allow restarts of luxid (which now handles
the queue) independent of jobs (currently running in masterd).

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

a0ee4f12 12/04/2013 05:52 pm Klaus Aehlig

Export getFStat from Utils

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

1b3bde96 12/04/2013 05:52 pm Klaus Aehlig

Use the jobFinalized predicate in JQScheduler

...to improve readability.

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

847df9e9 12/04/2013 05:52 pm Klaus Aehlig

Provide a function to determine whether a job is finalized

While there is a function to calculate the job status, sometimes
it is only relevant if the job is finalized. In this case, it is
more readable not having to know the internal order of JobStatus....

350f0759 12/03/2013 06:54 pm Klaus Aehlig

Don't assume we win the archive race

The job scheduler in luxid regularly watches for changes
of the job files to determine progress of jobs. As these
files are updated atomically, reading them will always
succeed---until they're archived. While luxid is quite...

c82166a2 12/03/2013 02:39 pm Petr Pudlak

ganeti-mond: Add the "-b" option to the man page

This parameter was missing for this particular deamon and was requested
in issue #629.

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

ce03c84c 12/03/2013 02:39 pm Petr Pudlak

ganeti-mond: Add the "-b" option to specify the bind address

This parameter was missing for this particular deamon and was requested
in issue #629.

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

7dcb7e22 12/03/2013 12:50 pm Klaus Aehlig

Support size suffixes in minmem/maxmem backed parameters

The backed parameters specifying the minimal/maximal memory
can also be passed as values with suffixes. Support parsing
these values.

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

5b4ed56e 12/03/2013 12:50 pm Klaus Aehlig

Support fieldRead in partial params

While from parameters both full and partial versions are generated,
with in the partial version all types mapped to Maybe, the fieldRead
parameter of the field was not wrapped accordingly. So far, that didn't
matter, as it was always Nothing in this case, but for supporting special...

eabbda6f 12/03/2013 12:50 pm Klaus Aehlig

Make disk size a special numerical field

For disk sizes, instead of plain numbers (naming the value in MiB),
also accept expressions with units like 'GiB'.

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

ba0d1405 12/03/2013 12:50 pm Klaus Aehlig

Add a field-transformer for accepting parser

Add a transformer for numerical fields, to also accept
strings instead of numbers if they can be parsed by the
given parser.

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

ef8b6bcf 12/03/2013 12:50 pm Klaus Aehlig

Add a new unit parsing function taking all suffixes binary

In python, when parsing units (like disk sizes) we take all
suffixes (M, G, T) as 1024-based. To be backwards compatible
while moving to job management to luxid, in particular on RAPI,
add such a parsing function in haskell as well....

1c532d2d 12/03/2013 12:26 pm Klaus Aehlig

Make JQScheduler handle failure on job starting

Given that luxid (at the moment) connects to masterd for starting
jobs, it may be that this inter-process communication fails. In
this case, just reschedule the jobs instead of killing the scheduler
thread....

7dd21737 12/03/2013 12:26 pm Klaus Aehlig

fix typo in log message

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

fe50bb65 12/03/2013 12:26 pm Klaus Aehlig

Differentiate watchers in luxid

luxid has two time-based watcher threads, one for the
configuration, and one for the job queue. To improve readability
of the debug output, make both watcher use a different debug
message when the timer fires.

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

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

Make luxid use the JQScheduler

Make luxid use the job scheduler instead of immediately
starting every received job.

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

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

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

design: scheduling will be simple in the first iteration

In order to progress faster towards jobs as processes, the decision on
the final scheduling algorithm will be postponed. For the time being,
the simple one will be used that starts jobs until a fixed maximal...

b0f54d5f 12/02/2013 04:07 pm Klaus Aehlig

Add LUXID_ARGS to defaults/ganeti

luxid accepts arguments as well.

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

1c785e0b 11/29/2013 12:23 pm Klaus Aehlig

Parse spindles as integers

When parsing disk parameters, also convert spindles into integers.
This is needed to obtain a syntactically correct request.

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

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

b8f36e88 11/29/2013 12:09 pm Helga Velroyen

Remove parseUnit for spindles

In patch e33c9e6881e6, it was a bit overkill to use
parseUnit for converting the 'spindles' value since it is
only an int without a unit. This patch fixes that.

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

f228f73c 11/29/2013 12:09 pm Helga Velroyen

Use query client for instance removal

This patch fixes another occurrence of triggering queries
with a non-query client.

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

70d8491f 11/28/2013 06:01 pm Jose A. Lopes

Destroy Xen domain only if necessary

Check if a given Xen domain still exists after a 'xm shutdown' before
destroying it. This check is necessary in order to cope with Xen
domains created with other version of Ganeti, given that an instance
created in or prior to Ganeti 2.10 will be cleaned up automatically...

059ed766 11/28/2013 06:01 pm Jose A. Lopes

Fix missing '@raise' in docstring of 'StopInstance'

Fix missing '@raise' in docstring of 'StopInstance'.

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

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

5eeb7168 11/28/2013 04:49 pm Petr Pudlak

Design details of the implementation of new WConfD daemon

Describes steps needed to implement the new configuration and locks
management.

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

e33c9e68 11/28/2013 10:54 am Helga Velroyen

Fix integer parsing of spindles in gnt-instance add

'gnt-instance' did not parse the spindles value to integer
before submitting the opcode.

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

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

cfe9bed3 11/27/2013 01:28 pm Helga Velroyen

Fix burnin error of instance name retrieval

Switching to Haskell queries revealed a bug in burnin
regarding the fetching of instance names from queries.

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

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

dd3f81ab 11/26/2013 07:12 pm Klaus Aehlig

build_chroot: for wheezy install base64-bytestring via cabal

The version packaged in debian wheezy is less than the minimally
required version 1.0.0.0.

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

6b95cc5e 11/26/2013 07:12 pm Klaus Aehlig

Document the minimal version of base64-bytestring required

There exist several versions of base64-bytestring; the interface we're
using is that of version 1.0.0.0 or higher.

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

86a4a625 11/26/2013 06:34 pm Helga Velroyen

Use the generic query field test for network QA

Instead of just using sporadic 'gnt-network list' commands,
use the more exhaustive generic query test functions for
list and list-fields.

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

97be88c8 11/26/2013 04:03 pm Helga Velroyen

Update design doc wrt to queries from non-masters

This patch updates the design document of the query
splitting with respect to the proposal of making it
possible to run queries from other nodes than the
master node.

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

c487adde 11/26/2013 04:03 pm Helga Velroyen

Mention removal of python queries in NEWS

This patch mentions the removal of the python queries in
the NEWS file, including the removal of the
--enable-split-queries option at configure time.

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

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