Statistics
| Branch: | Tag: | Revision:

root @ 32542155

# Date Author Comment
32542155 02/04/2014 04:09 pm Jose A. Lopes

Fix missing '@raise' in docstring

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

002764e8 02/04/2014 04:09 pm Jose A. Lopes

Fix missing 'L{...}' in docstring

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

472cc1e9 02/04/2014 04:09 pm Jose A. Lopes

Rename 'CdromOption' to '_CdromOption'

... because it is a protected definition.

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

582bfaf6 02/04/2014 04:09 pm Jose A. Lopes

Fix whitespace

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

45907709 02/04/2014 03:14 pm Petr Pudlak

Merge branch 'stable-2.11' into master

  • stable-2.11
    Add andRestArguments to IDiskParams
    Add function providing the canonical andRestArguments
    Add genAndRestArguments :: Gen (Map String JSValue)
    Add additional constructor AndRestArguments to OptionalType...
2e09344f 02/04/2014 10:51 am Klaus Aehlig

Add andRestArguments to IDiskParams

In this way, we cann pass through the opaque parameters
required for disk creation and modification in the case of
external storage.

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

4e4821bd 02/04/2014 10:51 am Klaus Aehlig

Add function providing the canonical andRestArguments

The field catching the remaining fields will always be of the same
shape, so add a function for this to make usage simple.

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

db9583f2 02/04/2014 10:51 am Klaus Aehlig

Add genAndRestArguments :: Gen (Map String JSValue)

So that objects using AndRestArguments are available for testing.
As the AndRestArguments are intended for passing through additional
parameters passed on the command line, we restrict them to the
values that are allowed at this position: Strings of ASCII characters...

c2442429 02/04/2014 10:51 am Klaus Aehlig

Add additional constructor AndRestArguments to OptionalType

A field of this type will capture all the remaining fields
of an object as JSValues. Obviously, the intended use is
to have precisely one such field. This mechanism will allow
to pass opaque values trough, as it is, e.g., required for...

b26a275a 02/04/2014 10:51 am Klaus Aehlig

Fix specification of TIDiskParams

Commit 580b1fdd incorrectly assumes that disk parameters are
just the standard ones, whereas the man page explicitly states
that additional parameters can be passed as well, if they make
sense for the chosen storage type. Fix this....

bddc92ee 02/04/2014 10:48 am Klaus Aehlig

Make BlockDev subclasses adhere the interface for Create

In commit 702c3270 two new parameters were added to the
Create function of BlockDev. Make subclasses also adhere
this specification.

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

c032b2ce 02/03/2014 04:16 pm Klaus Aehlig

Make BlockDev subclasses adhere to new interface

In commit 702c3270 two new parameters were added to the
constructor of BlockDev. Make the subclassess accept these
additional parameters as well.

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

702c3270 01/31/2014 06:28 pm Dimitris Aragiorgis

Make disk.name and disk.uuid available in bdev

Until now Disk name and uuid was not available on bdev level.
In case of ExtStorage, this info is useful, and may be for other
templates in the future too.

This patch treats the name and uuid object slots just like the size...

b13fa4c4 01/30/2014 06:05 pm Jose A. Lopes

Add script that checks the copyrights of a dirty local repo

Script to check whether the local dirty commits are changing files
which do not have an updated copyright.

The script will determine your current remote branch and local branch,
from which it will extract the commits to analyze. Afterwards, for...

1ab752c8 01/30/2014 05:45 pm Jose A. Lopes

Add 'dnsmasq' section and TAP interface names

  • add section 'dnsmasq' explaining how to configure dnsmasq to work
    with the communication mechanism
  • add names to TAP interfaces (e.g., ``gnt.com.0``) which allow DHCP
    servers to filter the TAP interfaces to bind to...
f9666f00 01/30/2014 04:11 pm Petr Pudlak

User new error handling functions in SubmitJobToDrainedQueue

This somewhat shortens and simplifies the code.

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

8383b3b6 01/30/2014 04:10 pm Petr Pudlak

Use new error functions when querying locks

This helps to handle errors coming from the Luxi client.

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

38e4d732 01/30/2014 04:10 pm Petr Pudlak

Use new error handling functions for querying jobs

Since we already touched getJobIDs, and this function is already based
on ResultT, use new error functions here as well.

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

ea7032da 01/30/2014 04:10 pm Petr Pudlak

Update getDirJobIDs to use ResultT

Also simplify code and remove unused functions.

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

fb54b24a 01/30/2014 04:10 pm Petr Pudlak

Improve liftIO of ResultT to catch IOErrors

Any IOErrors are now captured in ResultT's liftIO using try and converted into
'Bad'. This prevents IO exceptions from leaking into ResultT code and allows
them to be handled in a pure way inside ResultT's sum type....

f59cefcb 01/30/2014 04:10 pm Petr Pudlak

Rename 'resultT' to 'toError'

.. to better correspond to its generalized type.

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

87f15934 01/30/2014 04:10 pm Petr Pudlak

Generalize type signatures of functions that produce Result

This allows them to be used in any 'MonadError', in particular in monad stacks
composed using ResultT, without explicit lifting.

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

426f0900 01/30/2014 04:10 pm Petr Pudlak

Add withErrorLogAt which annotates and logs errors

.. and rethrows them within a MonadError. This allows to just log errors
and let them be handled elsewhere.

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

565821d1 01/30/2014 04:10 pm Petr Pudlak

Add functions for manipulating errors in Result(T)

There is often need to manipulate these errors, for example to convert a String
from Result into an exception. These functions make this easier.

Function 'toErrorStr' lifts 'Result' to any 'MonadError'. This is useful...

861ddf80 01/30/2014 04:10 pm Petr Pudlak

Refactor instance MonadLog (ReaderT r m) to unify style

.. with MonadLog (ResultT e m) to be more point-free.

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

d2029364 01/30/2014 04:10 pm Petr Pudlak

Add instance MonadLog for ResultT

This allows to log in monad stacks containing ResultT.

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

a87a017b 01/30/2014 04:10 pm Petr Pudlak

Remove FromString in favor of Error from standard libraries

They have the very same functionality, and using our own FromString only
causes unnecessary code duplication.

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

8d61946f 01/30/2014 11:03 am Petr Pudlak

Merge branch 'stable-2.11' into master

  • stable-2.11
    Make safeRenameFile create dirs with defined permissions
    Add constant for subdir permissions within the job queue
    Add utility to fix permissions
    Add data type describing permissions and possibly owners...
ccded668 01/29/2014 03:59 pm Petr Pudlak

Fix bracket style in rapi-workload

Pep8 complained about bracket indentation. This fixes it to satisfy Pep8
as well as our style guide.

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

b9202225 01/29/2014 03:59 pm Petr Pudlak

Replace duplicated code with readJSONWithDesc

JSON errors were annotated at other places, so use the function there as
well.

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

a3dabca9 01/29/2014 03:59 pm Petr Pudlak

When parsing fields, annotate JSON errors with names

This allows better debugging of failed JSON conversions.

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

885dafbc 01/29/2014 03:59 pm Petr Pudlak

Add a function that enhances readJSON error messages

If an error occurs, the error message is annotated with a given textual
description of the parsed type and optionally also with the input data.

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

0c09ecc2 01/29/2014 03:12 pm Klaus Aehlig

Make safeRenameFile create dirs with defined permissions

If, and only if, safeRenameFile creates a new directory, make sure
it has well defined permissions. While there, also optimize for the
common case. The main use of safeRenameFile is archiving jobs. As...

f23daea8 01/29/2014 03:12 pm Klaus Aehlig

Add constant for subdir permissions within the job queue

When archiving jobs, new directories have to be created, as
jobs are archived in groups of 10000. Add a constant describing
the permissions of these newly created directories.

Note that, due to the type, the constant cannot be part...

96a4ebb8 01/29/2014 03:12 pm Klaus Aehlig

Add utility to fix permissions

Especially when creating new directories, we need to make sure
ownership and permissions are set correctly. Provide a function
to do so.

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

ac81a213 01/29/2014 03:12 pm Klaus Aehlig

Add data type describing permissions and possibly owners

When creating new files, and, more importantly, new directories
it is relevant to set permissions, and possibly owners, correctly.
Provide a type specifying the target configuration.

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

1dec44b2 01/28/2014 05:10 pm Klaus Aehlig

Add missing import

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

baaa2ece 01/28/2014 03:17 pm Klaus Aehlig

Merge branch 'stable-2.10' into stable-2.11

  • stable-2.10
    Enable network tags in Haskell code
    Haskell style: explicit errors, visible in the type
    Clarify spacing in record syntax
    Improve the point-free section of the style guide
    Add code style document to documentation...
e10c4a69 01/28/2014 12:24 pm Hrvoje Ribicic

Enable network tags in Haskell code

Prior to the creation of the 2.10 branch, network tags were broken, and
the Haskell code introduced there mistakenly accepted this as the
desired functionality. This patch fixes this in a very simple way.

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

410945f1 01/27/2014 05:36 pm Klaus Aehlig

Merge branch 'stable-2.9' into stable-2.10

  • stable-2.9
    Revision bump for 2.9.3
    Schedule 2.9.3 release
    Document fix of issue 691 in NEWS
    NEWS: fix typo in 2.8.4 release
    Fix 'hvparams' of '_InstanceStartupMemory' on hypervisors
    Add missing option to gnt-instance documentation...
b75430d9 01/27/2014 02:50 pm Ilias Tsitsimpis

Add 'provider' to IDiskParams

IDISK_PROVIDER was included in python's IDISK_PARAMS, so it
should also be included in the Haskell code.

Now that luxid creates and enqueues jobs, without this patch the
ExtStorage interface is broken as the user can not pass the disk...

16b85a3c 01/27/2014 11:38 am Klaus Aehlig

Haskell style: explicit errors, visible in the type

While it is already standard in the Ganeti code base, explicitly
document that we do not like Exceptions and use sum types instead.

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

b10df4de 01/27/2014 11:38 am Klaus Aehlig

Clarify spacing in record syntax

So far, our code base does not have a consistent way of spacing
records. To work towards more consistency, add a recommendation
into out style guide. We standardize on what seems most common
in the Haskell world and also is the dominant form in our code...

7bd8ce44 01/27/2014 11:38 am Petr Pudlak

Improve the point-free section of the style guide

Distinguish declaring functions in the point-free style and using
a very similar technique to avoid parentheses (which isn't technically
point-free).

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

a41a1eec 01/27/2014 11:38 am Santi Raffa

Add code style document to documentation

The Ganeti code style has been stored on the project wiki at:

https://code.google.com/p/ganeti/wiki/StyleGuide
https://code.google.com/p/ganeti/wiki/HaskellStyleGuide

This commit combines the two pages into an .rst file with minimal...

bced76fd 01/27/2014 11:37 am Jose A. Lopes

Export docs from wiki to repo

Export documents about 'cluster keys replacement' and 'design file
based storage' from the wiki to the repository.

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

8dba1797 01/27/2014 11:18 am Klaus Aehlig

Revision bump for 2.9.3

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

57293135 01/27/2014 11:18 am Klaus Aehlig

Schedule 2.9.3 release

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

918512c0 01/27/2014 10:50 am Jose A. Lopes

Fix chroot for sid to include the development tools

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

45f75526 01/24/2014 05:06 pm Helga Velroyen

Disabling client certificate usage

This patch temporarily disables the usage of the client
SSL certificates. The handling of RPC connections had a
conceptional flaw, because the certificates lack a proper
signature. For this, Ganeti needs to implement a CA,...

658eb2dc 01/24/2014 02:38 pm Klaus Aehlig

Implement auto-archiving of jobs

As luxid is taking over the handling of the job queue, it
also needs to handle the automated archiving of jobs. Here
we replicate the semantics of the current python implementation
of archiving as many jobs older than the given time as possible,...

c867cfe1 01/24/2014 02:38 pm Klaus Aehlig

Add a utility function to try archiving jobs

Provide a function that walks through a list of job ids and
archives them if appropriate. Abort that process if a given
timeout is reached.

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

8b5a4b9a 01/24/2014 02:38 pm Klaus Aehlig

Support computation on Timestamp

As timestamps are also used to determine if an event is sufficiently
long in the past (e.g., on archiving jobs), support adding a time
interval to a Timestamp.

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

ae66f3a9 01/24/2014 02:38 pm Klaus Aehlig

Add constructor function for Timestamp

Provide means to get Ganeti's internal timestamps
from standard clock time.

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

370f63be 01/24/2014 02:38 pm Klaus Aehlig

Add a predicate on Jobs on whether it can be archived

Jobs usually are archived a given time after they have finished.
For finalized jobs without end-time, the start-time is taken en
lieu. This function provides the pure predicate for this decision.

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

857cbfb1 01/24/2014 02:38 pm Klaus Aehlig

Make ArchiveJob in luxid create the archive, if necessary

As jobs are archived in groups of 10000, creating new subdirectories
of the archive might be necessary when archiving a job. Use a
function that takes care of this.

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

b3f95121 01/24/2014 02:38 pm Klaus Aehlig

Provide a safe version of rename

...that also creates the target directory, if needed.

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

f4d0c84a 01/24/2014 02:38 pm Klaus Aehlig

Fix expectation for the return value of jobqueue_rename

On sucess, jobqueue_rename returns a list containing one
null per change request.

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

7c8c6582 01/24/2014 12:45 pm Klaus Aehlig

Document fix of issue 691 in NEWS

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

0bb8c79b 01/24/2014 12:15 pm Guido Trotter

NEWS: fix typo in 2.8.4 release

Signed-off-by: Guido Trotter <>
Reviewed-by: Petr Pudlák <>
Reviewed-by: Klaus Aehlig <>

30b12688 01/24/2014 12:05 pm Jose A. Lopes

Fix 'hvparams' of '_InstanceStartupMemory' on hypervisors

Most hypervisors were calling '_InstanceStartupMemory' but not passing
the 'hvparams' keyword argument. Actually, it is not necessary to
pass this argument given that it is an attribute in the instance...

c9c67b50 01/24/2014 11:26 am Hrvoje Ribicic

Add missing option to gnt-instance documentation

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

b721dfd5 01/23/2014 06:20 pm Klaus Aehlig

Update NEWS file

With the merge of stable-2.8 into stable-2.9, quite a few fixes
got inherited.

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

5a93930f 01/23/2014 04:32 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Version bump for 2.8.4 and NEWS update
    Update NEWS file with news about job cancellation bugfix
    Fix QA flakiness
    Linting fix: remove unused import
    Add missing parameter entry to man file
    Add QA test for job cancellation...
7618eba2 01/23/2014 03:10 pm Klaus Aehlig

Haskell style: explicit errors, visible in the type

While it is already standard in the Ganeti code base, explicitly
document that we do not like Exceptions and use sum types instead.

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

091034b2 01/23/2014 12:41 pm Hrvoje Ribicic

Fix disk_type error in hypervisor parameter documentation

According to the code, presenting disks as paravirtual is supported on
both HVM and KVM, while IDE works only on KVM. This patch updates docs
to be accurate.

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

6fadcbab 01/23/2014 12:25 pm Klaus Aehlig

fix off-by-one error in indentation

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

9f7413ab 01/23/2014 12:13 pm Michele Tartara

Version bump for 2.8.4 and NEWS update

Update the version number to 2.8.4 and insert the final details for this
release in the NEWS file, including the release date.

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

6fdc84ab 01/23/2014 12:03 pm Klaus Aehlig

Implement ArchiveJob queries in luxid

With luxid taking over the tasks of masterd, archiving
jobs also belongs to its responsibilities. As archiving
a job affects the global state of the job queue, synchronise
over the queue lock.

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

40ad3e85 01/23/2014 12:03 pm Klaus Aehlig

Add RPC call jobqueue_rename

Archiving jobs is also replicated to all master candidates.
Therefore luxid needs to be aware of this RPC call.

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

1a7c1456 01/22/2014 07:24 pm Jose A. Lopes

Redesign communication mechanism in light of limitations

Redesign the communication mechanism in light of implementation
limitations that have recently come up in prototypes using KVM.

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

2cb36124 01/22/2014 07:24 pm Jose A. Lopes

Anchor OS reinstall design doc in Makefile and index

Add OS reinstall design doc to the list of design docs in the
Makefile, otherwise it does not get compiled when modified, and add it
also to the index page of the documentation, where all the other
design docs are anchored....

1a705513 01/22/2014 04:35 pm Hrvoje Ribicic

Run drbdsetup syncer only on network attach

As late as DRBD 8.3.11, the drbdsetup syncer command has a bug causing
nodes to hang from time to time, requiring manual intervention to fix.
The use of the command cannot be avoided, but the incidence of use can...

c92b4671 01/21/2014 05:40 pm Klaus Aehlig

Make use of fieldListToFieldMap

...to avoid duplicating that code all over Ganeti.Query.

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

4fb78549 01/21/2014 05:39 pm Klaus Aehlig

Provide a utility function to map FieldList to FieldMap

As the same construction is used in several places, it is better
to have it factored out as a named function.

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

a6e406ce 01/21/2014 04:05 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 <>

86b04819 01/21/2014 04:05 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 <>

bdc47cb4 01/21/2014 01:40 pm Hrvoje Ribicic

Update NEWS file with news about job cancellation bugfix

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

e4f485cc 01/21/2014 01:40 pm Hrvoje Ribicic

Fix QA flakiness

The newly added job QA has some flakiness with respect to its use of
gnt-job watch. Fix this by waiting until the canceling status is
replaced with the canceled status, or a timeout is reached.

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

07becab3 01/21/2014 01:40 pm Hrvoje Ribicic

Linting fix: remove unused import

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

4f704244 01/20/2014 06:15 pm Klaus Aehlig

Remove dead Ganeti.Query.Job.loadRuntimeData

This function was exported from the module, but actually never
used anywhere in the code base. So clean it up.

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

e26bbde7 01/20/2014 03:52 pm Klaus Aehlig

Update NEWS file: issue 687 and configure fix

Add entries to the NEWS file for the two user-visible changes that
happened since the last update: issue 687 got fixed, and configure
now supports Sphinx versions 1.2+.

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

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

luxid: fix detection of master node in node query

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

fe0cabe0 01/20/2014 02:31 pm Hrvoje Ribicic

Add missing parameter entry to man file

The gnt-instance manual was lacking an entry for the vnc-password-file
hypervisor parameter. This patch adds one, and also some information on
the default value of the parameter.

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

66cb789f 01/20/2014 02:11 pm Hrvoje Ribicic

Add QA test for job cancellation

This patch introduces a QA test in which a job is cancelled while
waiting.

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

054a9d17 01/20/2014 02:11 pm Hrvoje Ribicic

Add correct locking of master node to gnt-debug delay

The gnt-debug delay command required locks for all nodes except the
master - this patch fixes the issue by adding master to the locks
whenever needed.

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

95a4e33f 01/20/2014 02:11 pm Hrvoje Ribicic

Add job id type assert to jqueue.py

While the changes introduced in previous patches should stop any job
id parameters reaching the queue as strings, add an assertion here to
catch any strings making it through.

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

7f97eb93 01/20/2014 02:11 pm Hrvoje Ribicic

Add job id transformation/check to Luxi Python client

This patch adds checks to the Luxi client, making sure that job ids
are converted from strings to ints before being passed on, or that an
error is reported.

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

1ec34e26 01/20/2014 02:08 pm Apollon Oikonomopoulos

query: fix detection of master in _GetNodeRole()

Commit 1c3231aa changed the invocation of _GetNodeRole() to pass the
master node by UUID and not by name, but didn't change the
implementation to compare the nodes by name. As a result, the master
node (which is also a master candidate) would always fall through to the...

77676415 01/20/2014 11:50 am Klaus Aehlig

When updating job queue, support virtual paths

When replicating parts of the job queue, allow for virtual
paths in the RPC call. In this way, replication will also
work correctly in a vcluster setup. Note that makeVirtualPath
lives in IO, and hence cannot be part of the pure encoding...

4a43365c 01/20/2014 11:50 am Klaus Aehlig

Add a module to support virtual clusters

Virtual clusters are an efficient way to test how Ganeti behaves
on a large cluster without requiring a large number of machines.
Now that more tasks like job replication are done by luxid, provide
that functionality in Haskell as well....

40960882 01/20/2014 11:50 am Klaus Aehlig

Move vcluster-related constants to Constants.hs

...as, in that way, they will also be available in Haskell,
where job replication happens as well.

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

00b72896 01/20/2014 11:44 am Jose A. Lopes

Start-master/stop-master always fail if confd is disabled

In 'daemons/daemon-util.in', 'start-master' and 'stop-master' always
fail if confd is disabled.

Fixes issue 685.

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

364e1664 01/17/2014 02:29 pm Jose A. Lopes

Fix KVM cdrom image URL in the second cdrom drive

  • The previous patch introduced cdrom image URLs for KVM cdrom drives.
    However, it worked only for the first drive and not the second.
    This patch generalizes the KVM cdrom command line option to allow...
27b6654e 01/17/2014 02:29 pm Jose A. Lopes

kvm: check that the ISO image is there if it's a URL

Perform a simple urllib2 check on ISO images specified as URL before
instance start, so as to work around qemu bug #597575 [1].

[1] https://bugs.launchpad.net/qemu/+bug/597575

Signed-off-by: Apollon Oikonomopoulos <>...

f15a6b03 01/17/2014 02:28 pm Jose A. Lopes

Allow KVM to boot from HTTP

New versions of KVM support booting from HTTP-hosted ISO images, via
libcurl. This patch adds a proper check to allow defining either a sane,
absolute path or an HTTP URL as an iso image path.

Remove "format=raw" from the cdrom device options when iso_image starts...

7b5f0674 01/17/2014 01:45 pm Dimitris Aragiorgis

Include target node in hooks nodes for migration

In case of DRBD, hooks run on both primary (source) and secondary
(target) nodes. To get the same behavior for DTS_EXT_MIRROR, where we
do not have secondary node, we should explicitly add target node to
hooks nodes during instance migration/failover....

ae6a0a7c 01/17/2014 12:29 pm Jose A. Lopes

Fix configure dirs

Fix overridable configure directories, namely, --bindir, --sbindir,
and --mandir.

Variables 'bindir', 'sbindir', and 'mandir' are exported from
'configure.ac' to 'Makefile.am'. At first, it would seem to be
possible to do the following:...

4f6b32ca 01/17/2014 11:43 am Petr Pudlak

Docs: Update the version of ganeti-instance-debootstrap

The installation manual used version 0.12, which had some bugs.
This patch updates it to the latest 0.14.

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

e86c427c 01/17/2014 12:04 am Klaus Aehlig

Reset version-specific downgrades

As stable-2.11 has been branched off and revisions bumped, downgrades
are now supposed to go to 2.11. Currently they are a no-op and, in
particular, ssl-certificates are still expected in 2.11.

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