Statistics
| Branch: | Tag: | Revision:

root @ c92b4671

# Date Author Comment
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 <>

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

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

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

06455b13 01/16/2014 07:25 pm Klaus Aehlig

Merge branch 'stable-2.11' into master

  • stable-2.11
    Add 'design-2.11.rst' which kvmd and instance shutdown
    Clarify spacing in record syntax
    Update NEWS entry about job scheduling
    Clean up luxidMaxRunningJobs
    Make the scheduler use the max_running_jobs config parameter...
ae297dc8 01/16/2014 06:24 pm Klaus Aehlig

Merge branch 'stable-2.10' into stable-2.11

  • stable-2.10
    Fix 'design-internal-shutdown' not being in a toctree
    Instance shutdown doc from draft to partially implemented

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

55fba029 01/16/2014 06:17 pm Jose A. Lopes

Fix 'design-internal-shutdown' not being in a toctree

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

711897ae 01/16/2014 06:01 pm Jose A. Lopes

Add 'design-2.11.rst' which kvmd and instance shutdown

Add 'design-2.11.rst' which kvmd and instance shutdown to the
top-level documentation and Makefile.

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

7c022e20 01/16/2014 05:59 pm 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...

450d3c0e 01/16/2014 05:45 pm Jose A. Lopes

Instance shutdown doc from draft to partially implemented

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

ed7f7fd9 01/16/2014 05:13 pm Petr Pudlak

Update set_watcher_pause to use ClockTime instead of Double

This only affects the internal representation in the Haskell part.

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

febe5934 01/16/2014 05:11 pm Klaus Aehlig

Update NEWS entry about job scheduling

As the new run-time parameter about job scheduling is user visible,
mention the changes to scheduling in the NEWS file.

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

d520ba2a 01/16/2014 05:11 pm Klaus Aehlig

Clean up luxidMaxRunningJobs

Now that the number of jobs maximally running in parallel is
a run-time option, this magic constant is not needed any more.

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

d9dd04b1 01/16/2014 05:11 pm Klaus Aehlig

Make the scheduler use the max_running_jobs config parameter

Use the run-time configuration to decide on the number of jobs
scheduled for execution instead of using a hard-coded constant.

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

6046dca9 01/16/2014 05:11 pm Klaus Aehlig

Make configuration available to the scheduler

In this way, scheduling decisions can depend on the configuration
of the cluster. At the moment, this is only the maximal number
jobs to be run in parallel, but in the future this will also include
job filters....

178ad717 01/16/2014 05:11 pm Klaus Aehlig

Make max_running_jobs queryable

As we have introduced a new cluster parameter, it should
be also visible when querying about the cluster configuration.

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

ea22736b 01/16/2014 05:11 pm Klaus Aehlig

Add a command-line parameter for max_running_jobs

...so that this opcode parameter can become available for 'gnt-cluster modify'.

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

ad756c77 01/16/2014 05:11 pm Klaus Aehlig

Add opcode parameter for the maximal number of running jobs

This parameter of OpClusterSetParams will allow to set the
maximal number of jobs to be run simultaneously.

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

cf048aea 01/16/2014 05:11 pm Klaus Aehlig

Add parameter max_running_jobs to the cluster configuration

This cluster-wide parameter will determine how many non-finalized jobs maximally
should be in a not queued state at the same time.

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

78209a84 01/16/2014 05:11 pm Petr Pudlak

Add Alternative instances for GenericResult and ResultT

This allows to use Alternative specific combinators, namely `optional`.

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

74b3f734 01/16/2014 05:11 pm Petr Pudlak

Use ClockTime instead of Double in fields in Objects.hs

This affects "mtime" and "ctime" fields in all data types.

This also forces explicit declaration of how the fields are serialized
in Query.

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

836ccf52 01/16/2014 05:11 pm Petr Pudlak

A function for creating time fields that serialize as Double

The function creates fields with custom read/show methods based on
TimeAsDoubleJSON, with the default value of 0 seconds since the epoch.

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

6879dfd2 01/16/2014 05:11 pm Petr Pudlak

Also fix MaybeForJSON parsing and add unit tests

Its readJSON was mistakenly implemented as an infinite loop.

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

dde8b625 01/16/2014 05:11 pm Petr Pudlak

Add (de)serialization unit tests for TimeAsDoubleJSON

This includes adding an Arbitrary instance for TimeAsDouble, and also an
orphan instance for Arbitrary ClockTime so that the current tests work
unmodified.

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

5ea9f6cb 01/16/2014 05:11 pm Petr Pudlak

Add a newtype wrapper that saves ClockTime as JSON double

This allows to convert ClockTime to JSON and back.

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

d8adc255 01/16/2014 05:11 pm Petr Pudlak

Document Field data type used in TH code generation

Describe what types of fields are currently possible and allowed and
what what are the types of their "Q Exp" expressions.

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

596d7b4f 01/16/2014 05:10 pm Petr Pudlak

Prohibit fields that are optional with a default value

For fields marked optional we need to keep the information that a value
isn't available. Therefore having a default value for an optional field
would not work.

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

ee7caf27 01/16/2014 05:10 pm Petr Pudlak

A workaround for GHC linking problem "unknown symbol ..."

GHC 7.4 on Debian Wheezy fails to compile after some TH related changes,
reporting

ghc: src/Ganeti/JSON.o: unknown symbol
`attoparseczm0zi11zi1zi0_DataziAttoparsecziText_zdwf_info`

This doesn't happen on Squeeze. Explicitly importing attoparsec in THH...

eb577716 01/16/2014 05:10 pm Petr Pudlak

Fix saveObjectField to work properly with custom fieldShow

Before it only worked for non-optional fields. For optional fields
with custom fieldShow functions, the generated code didn't use it.

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

0b7bf465 01/16/2014 05:10 pm Petr Pudlak

Fix typing problems in TH that generates field code

See #677: The code generated by TH had different types depending on if
a field had a default value and/or custom reader. Simple cases worked by
accident, but more complex ones failed.

This patch distinguishes properly between optional fields and mandatory...

c777c5fc 01/16/2014 02:15 pm Helga Velroyen

Prepare master as new 2.12 branch

This adapts various file to make the current master
branch the new stable-2.12 branch.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Guido Trotter <>

cb8028f3 01/15/2014 05:48 pm Jose A. Lopes

Simplify 'GetMasterInfo' RPC

RPC 'GetMasterInfo' returns several fields, namely, 'master_netdev',
'master_ip', 'master_netmask', 'master_node', and 'primary_ip_family',
of which only the 'master_node' is actually used.

In this patch:
  • remove all the other fields and keep only the 'master_node' field....
96eeb742 01/15/2014 03:37 pm Jose A. Lopes

Link Xen instance shutdown design doc with KVM's

Update instance shutdown for Xen design document by linking it to the
design document for the KVM daemon and also improve the description of
some paragraphs.

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

36cb6837 01/15/2014 02:34 pm Klaus Aehlig

Implement job cancellation in luxid

As luxid handles the job queue, this daemon is the natural
place to handle job cancellation. Answering to CancelJob requests
is also necessary for luxid to be feature compliant with masterd,
even for command-line requests only....

363dc9d6 01/15/2014 02:34 pm Klaus Aehlig

Provide a function to compute the canceled version of a job

When a job gets canceled while still queued, dequeuing requires
luxid to mark it as cancelled. So provide the necessary pure
function to do so.

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

47c3c7b1 01/15/2014 02:34 pm Klaus Aehlig

Support canceling dequeued jobs

Even after jobs have been handed over for execution, it might
still be possible to cancel them. On such case would be the
job still waiting for a lock. Eventually, we will have to
communicate to the job directly, but as long as execution is...

bb62d52e 01/15/2014 02:33 pm Klaus Aehlig

Add dequeuing to the job scheduler

This only removes queued jobs from the queue
and indicates whether the job was found in the queue.
For jobs that are already started from the queue's
point of view, it might still be possible to cancel
them, e.g., if they are still waiting for locks....

c1410048 01/15/2014 11:27 am Helga Velroyen

Add certificate of auto-promoted master candidates to map

When a normal node is auto-promoted to be a master
candidate, its SSL client certificate digest needs
to be added to the map of candidate certificates
as well.

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

62a7853e 01/14/2014 12:38 pm Jose A. Lopes

Fix Kvmd imports for Ubuntu 13.04 64

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

588d0ee4 01/13/2014 07:43 pm Jose A. Lopes

Unit tests for KVM daemon

Add unit tests for KVM daemon.

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

51958d2a 01/13/2014 07:43 pm Jose A. Lopes

QA for KVM instance shutdown

Add QA for instance shutdown for KVM.

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

2a60db50 01/13/2014 07:43 pm Jose A. Lopes

Manpage for 'gnt-instance'

Modify manpage for 'gnt-instance' detailing the 'user_shutdown'
parameter and how it related to the 'acpi' parameter.

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

f0caa4be 01/13/2014 07:43 pm Jose A. Lopes

Manpage for KVM daemon

Add manpage for the KVM daemon.

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

95d70148 01/13/2014 07:43 pm Jose A. Lopes

Hook KVM hypervisor with KVM daemon shutdown files

  • modify the KVM hypervisor to look for the shutdown files created by
    the KVM daemon, which determine whether an instance was shutdown by
    the user
  • modify the KVM hypervisor to spawn the KVM daemon if it is not...
afa0fca4 01/13/2014 07:43 pm Jose A. Lopes

User shutdown hypervisor parameter

Add user shutdown parameter for KVM. Based on this parameter, decide
what information to report for a KVM instance, for example,
distinguish between 'ADMIN_down' and 'USER_down'.

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

306b855a 01/13/2014 07:43 pm Jose A. Lopes

Add helper function to tell if a daemon is alive

Add helper function 'utils.IsDaemonAlive' to tell if a daemon is alive
by name. This function will be necessary for the KVM hypervisor to
determine if the KVM daemon is running and otherwise start it.

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

d6769989 01/13/2014 07:43 pm Jose A. Lopes

Add KVM daemon daemonize

Add KVM daemon entry point, command-line options, backgrounding, etc

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

db519e20 01/13/2014 07:43 pm Jose A. Lopes

Add KVM daemon logic

Add KVM daemon logic, which contains monitors for Qmp sockets and
directory/file watching.

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

cf51a981 01/13/2014 07:43 pm Jose A. Lopes

Generalize and reuse Unix domain sockets

Refactor module 'Ganeti.UDSServer' so the KVM daemon can reuse code
declared in this module to handle Unix domain sockets.

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

4084d18f 01/13/2014 07:43 pm Jose A. Lopes

KVM daemon datatype, user and group

  • add user and group to 'configure.ac', 'Makefile.am' and
    'AutoConf.hs.in'
  • extend 'Daemon' datatype with 'GanetiKvmd' and implement all related
    functions, such as, 'daemonName', etc.
  • export KVM daemon name as constant...
9131274c 01/13/2014 07:43 pm Jose A. Lopes

Fix whitespace

Fix whitespace in several modules.

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

91ef0821 01/13/2014 07:43 pm Jose A. Lopes

Fix according to the Ganeti style guide

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

570008e3 01/13/2014 07:43 pm Jose A. Lopes

Fix docstring for 'AsyncStreamServer'

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

63a3049a 01/13/2014 05:56 pm Klaus Aehlig

Document automatic actions taken at upgrade

When upgrading from any version below 2.11 to 2.11 or higher,
Ganeti will generate new RPC client certificates when upgrading
with ``gnt-cluster upgrade``. Document this behavior in the
UPGRADE notes to avoid user surprises....

b121199d 01/13/2014 12:08 pm Klaus Aehlig

Add generating node certificates as post-upgrade task

While, technically, Ganeti is still working without individual node
certificates, it is considered an error by gnt-cluster verify to
not have it done immediately after upgrading. So, to make automatic...

9b85ede9 01/13/2014 12:08 pm Klaus Aehlig

Add utility to compare versions

This will be needed, e.g., for post-upgrade task, as they
have to decide whether a feature was not yet present at
the version started from.

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

74289509 01/10/2014 02:31 pm Klaus Aehlig

Merge branch 'stable-2.10' into master

  • stable-2.10
    Run postupgrade hook after upgrade
    Provide path to post-upgrade
    Add an empty post-upgrade hook
    design: support post-upgrade hooks
    Also add the current version to the intent-to-upgrade file

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

4a67e386 01/10/2014 02:19 pm Klaus Aehlig

Run postupgrade hook after upgrade

To allow for necessary last-moment adaptions, of the new cluster,
we run the post-upgrade hook of the target version, providing
the version we originally started from.

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

1ef0324f 01/10/2014 02:19 pm Klaus Aehlig

Provide path to post-upgrade

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

fba59beb 01/10/2014 02:19 pm Klaus Aehlig

Add an empty post-upgrade hook

As 2.10 is the first version from which you can do automatic upgrades,
there is nothing to do when going to any other version in the 2.10
branch.

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

4d765a17 01/10/2014 02:19 pm Klaus Aehlig

design: support post-upgrade hooks

While the general policy for Ganeti is to just accept the situation
it finds after being upgraded from an older version, in some cases
additional actions might be necessary. So support a hook for doing
so.

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

3cac836b 01/10/2014 02:19 pm Klaus Aehlig

Also add the current version to the intent-to-upgrade file

Our design states, that the intent-to-upgrade file contains "the current
version of ganeti, the version to change to, and the process ID". Make the
implementation fit with that design.

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

c8fca479 01/10/2014 10:03 am Santi Raffa

admin.rst: update and reword disk template section

The disk template section was not updated for Gluster. This commit
also refactors the section slightly by unifying the different remarks
about /etc/ganeti/file-storage-paths.

sphinx_ext is also changed in order to not hardcode too much...

333bd799 01/09/2014 05:54 pm Jose A. Lopes

Design document for KVM daemon

Design document for KVM daemon which is needed by the instance
shutdown detection for KVM.

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

eea5e916 01/09/2014 05:38 pm 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 <>

b18409cf 01/09/2014 04:53 pm Klaus Aehlig

Document 2.11 to 2.10 specific downgrade tasks

While the recommended way of downgrading from version 2.11 to 2.10
is ``gnt-cluster upgrade --to 2.10``, manual downgrade is supported.
So, the version-specific steps need to be documented in the UPGRADE
notes....

52261ad2 01/09/2014 04:53 pm Klaus Aehlig

Remove certification on 2.11 to 2.10 downgrade

While version 2.10 ignores any leftover client certificates, their
presence will prevent a the cluster working after an upgrade back
to version 2.11 again. So we have to remove them right at the
downgrade.

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

c09c495c 01/09/2014 04:53 pm Klaus Aehlig

Add support for version-specific downgrade tasks

Upgrading can have no specific knowledge about additional
tasks besides upgrading the configuration, as upgrades need
to be able to go to any future version (within the same major
version). Downgrading, however, is version specific and always...

c09f6160 01/09/2014 04:53 pm Klaus Aehlig

design: version-specific downgrade actions

Some new features, like client-specific ssl certificates, require additional
steps at downgrade, so add this to the design. Two things should be noted.

- There cannot be explicit version-specific upgrade actions; upgrades...

df89787b 01/09/2014 04:52 pm Klaus Aehlig

Document support for automatic downgrades

The recommended way of downgrading a cluster from 2.11 onwards
is to use the ``gnt-cluster upgrade`` command. Document this in
the section on downgrades.

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

3eea40a0 01/09/2014 02:03 pm Hrvoje Ribicic

Clean up epydoc comments

Add missing colons, and improve descriptions of parameters.

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

82ce55fa 01/09/2014 02:03 pm Hrvoje Ribicic

Use options for turning functionality on/off

Two command-line options are added: one for confirming that the test
has been started intentionally, and one for showing the method
invocation output, which is useful, but not always needed.

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

dd2bc9b6 01/09/2014 02:03 pm Hrvoje Ribicic

Add job cancellation workload

To examine if jobs can be cancelled correctly, provide workload related
to this as well.

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

b896bb66 01/09/2014 02:03 pm Hrvoje Ribicic

Add cluster parameter change workload

One of the few leftover unused RAPI methods is the cluster modify
method. This patch tests it by setting and unsetting various safe
values.

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

17733ecb 01/09/2014 02:03 pm Hrvoje Ribicic

Make an instance move workload that works in 2.6

The instance move workload present before this patch works on 2.11, but
fails on 2.6. The 2.11 workload will still be useful should any later
version of Ganeti use it as reference, but a 2.6 workload has to be...

9578de1c 01/09/2014 02:03 pm Hrvoje Ribicic

Add instance move workload

Through the use of functions provided by the rapi QA, all the requests
related to instance moves can be exercised.

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

10937a16 01/09/2014 02:03 pm Hrvoje Ribicic

Make the move-instance tool more fault tolerant

The move-instance tool raises an exception when used with a cluster
running an earlier version of Ganeti. As the tool is meant to perform
inter-cluster moves, this situation could be encountered outside the...

66743fe3 01/09/2014 02:03 pm Hrvoje Ribicic

Allow the skipping of checks for inter-cluster move test

The inter-cluster instance move test is very interesting for the RAPI
compatibility tests, as it uses many RAPI requests that are otherwise
hard to exercise. It uses no command-line functionality apart from...

e5351ee9 01/09/2014 02:03 pm Hrvoje Ribicic

Make the finish function return the error status explicitly

The earlier version of the Finish function assumed that checking if the
value of the response is None would suffice to check if any errors have
occurred. This is not, and this patch adjusts the function to expose...

c2e22e7b 01/09/2014 02:03 pm Hrvoje Ribicic

Add migration and failover workload

This patch introduces additional calls adding migration and failover
RAPI operations, moving a DRBD-disk template instance between nodes.

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

396c5dfb 01/09/2014 02:03 pm Hrvoje Ribicic

Add tracking of used client methods

As a helper or a warning to anyone extending the RAPI client, the
client wrapper now warns of unused methods or method arguments.

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

82a8bf3e 01/09/2014 02:02 pm Hrvoje Ribicic

Add network workload

This patch exercises the network RAPI commands.

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

4236968a 01/09/2014 02:02 pm Hrvoje Ribicic

Add miniature query filtering workload

As query filtering was not a part of the previous workloads, this patch
adds a single example of its use.

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

9749bd5e 01/09/2014 02:02 pm Hrvoje Ribicic

Add per-resource query workload

The query requests are done to receive data about a certain resource
type. With tests for all the resources barring networks in place, the
query workloads can be added at the point where the existence of enough
resources in the system can be confirmed, making the results of the...

1086027a 01/09/2014 02:02 pm Hrvoje Ribicic

Add group-related workload

This patch further extends the RAPI workload by exercising all the
group-related functionality.

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

6b710ec0 01/09/2014 02:02 pm Hrvoje Ribicic

Add node-related workload

This patch further expands the workload by performing various node
operations.

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

89d52c9a 01/09/2014 02:02 pm Hrvoje Ribicic

Add warning about the RecreateInstanceDisks invocation

A test relying on RAPI alone cannot exercise the RecreateInstanceDisks
functionality properly - simply because it cannot damage an instance
to the point where its disks would be missing and in need of...

a9e3e04d 01/09/2014 02:02 pm Hrvoje Ribicic

Add various single instance operations

To further expand the number of RAPI methods in the workload, the
single instance operations are added in this patch. An instance is
created, deleted, shutdown, restarted, reinstalled, renamed, and
has its disks activated and deactivated and grown....

9f22ba9a 01/09/2014 02:02 pm Hrvoje Ribicic

Add tag method testing

This patch adds a generic way to test tagging of various entities via
RAPI. More tags testing will be added as other entitt tests are added.

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

b87948f5 01/09/2014 02:02 pm Hrvoje Ribicic

Add helper function that waits for jobs to finish

Some RAPI calls result in the creation of a long-running job,
returning a job id to be used to extract the results later. To reduce
the amount of boilerplate, introduce a simple function to do the
waiting....

94981c7a 01/09/2014 02:02 pm Hrvoje Ribicic

Add simple retrieval operations to workload

This patch expands the RAPI workload with simple Get* commands.

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

56803e14 01/09/2014 02:02 pm Hrvoje Ribicic

Add the first version of the RAPI workload script

The RAPI workload script supplies work for the RAPI compatibility
tests. The initial version does very little, but can be expanded
as needed.

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

a784d28c 01/09/2014 02:02 pm Hrvoje Ribicic

Make the qa_rapi setup method return the RAPI client

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

fcd2359a 01/09/2014 02:02 pm Hrvoje Ribicic

Move RAPI secret lookup to qa_rapi

The RAPI secret lookup is a helper function used by the Ganeti QA to
retrieve the RAPI password of an already setup cluster. As this could
be useful to other utilities performing QA, move it to the qa_rapi
module.

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

9110fb4a 01/09/2014 09:37 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...