Statistics
| Branch: | Tag: | Revision:

root @ 7d81bb8b

# Date Author Comment
7d81bb8b 05/29/2014 02:07 pm Dimitris Aragiorgis

(snap) Snapshot support for ExtStorage

Extend existing RPC params with the snapshot name and
add allow snapshot not only for LVM but also for EXT.

Signed-off-by: Dimitris Aragiorgis <>

ab0c6a39 05/29/2014 02:07 pm Dimitris Aragiorgis

(grnet) Move disk options before nic ones in kvm command

Older versions of Ganeti did ensure that during startup
disk devices will be inserted before nic devices in PCI
configuration space. KVM inserts devices to PCI slots
depending on the order of command line options....

8e4aacdc 05/29/2014 02:07 pm Ilias Tsitsimpis

(2.13) Pass the access parameter to ExtStorage template

Add the ExtStorage template to the set of templates that accept the
'access' parameter. The default 'access' of the node-group for
ExtStorage devices will be 'kernelspace'.

Update the man page for gnt-instance to state that ExtStorage templates...

6c6b4df2 05/29/2014 02:07 pm Ilias Tsitsimpis

(2.13) Handle IDISK_ACCESS parameter in ComputeDisks

The IDISK_ACCESS disk parameter was not handled in the 'ComputeDisks'
function, thus the 'access' parameter was ignored during the instance
creation. This patch fixes this and also fixes a typo in
'_VerifyDiskModification'....

13d30fe9 05/29/2014 02:07 pm Ilias Tsitsimpis

(2.13) Implement GetUserspaceAccessUri for ExtStorage

Allow ExtStorage devices to support userspace access.
The 'attach' script of an ExtStorage provider is now allowed to return
more than one line. The first line will contain as always the block
device path. Each one of the extra lines will contain a URI to be used...

87e9bdb7 05/29/2014 02:07 pm Ilias Tsitsimpis

(2.13) Move ExtStorage code out from bdev

Move the ExtStorage related code out from bdev to a new
file called 'extstorage.py'.

Signed-off-by: Ilias Tsitsimpis <>
Signed-off-by: Thomas Thrainer <>
Reviewed-by: Thomas Thrainer <>...

66a8bb56 05/29/2014 02:07 pm Ilias Tsitsimpis

(2.13) Design document for ExtStorage userspace access

This patch extends the 'shared-storage' design document and more
specifically the ExtStorage Interface to support userspace disk access.

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

ffa2756e 05/29/2014 02:07 pm Ilias Tsitsimpis

(2.13) Add 'access' disk option to man pages

Update 'gnt-instance' man page and document the 'access' disk option.
Also fix a typo in 'metavg' disk parameter.

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

4f3bdf5a 05/29/2014 02:07 pm Ilias Tsitsimpis

(2.13) Make 'access' an optional disk parameter

This patch makes 'access' an optional disk parameter just like
spindles, mode, name, vg and metavg. This option can only be set to
'kernelspace' or 'userspace'. When 'userspace' is used, the instance
will access this disk directly without going through a block device....

fc1ca919 05/29/2014 02:07 pm Ilias Tsitsimpis

(2.13) Add DiskParams to Disk object

The 'DiskParams' slot was missing from Haskell's Disk objects.
Since Wconfd is now responsible for writting the config file this was
causing the 'params' slot to not be written in the config file.

Signed-off-by: Ilias Tsitsimpis <>...

7f5289fd 05/29/2014 02:07 pm Ilias Tsitsimpis

(2.13) Rename DiskParams to GroupDiskParams

DiskParams was used for the cluster/group disk parameters type. This
patch renames it to GroupDiskParams and uses the DiskParams type for
the parameters of one single Disk object.

Signed-off-by: Ilias Tsitsimpis <>...

7f29311a 05/29/2014 02:07 pm Klaus Aehlig

(2.11) 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 <>...

88dbf231 05/29/2014 02:07 pm Klaus Aehlig

(2.11) 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 <>...

c26548b8 05/29/2014 02:07 pm Klaus Aehlig

(2.11) 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...

759288ed 05/29/2014 02:07 pm Klaus Aehlig

(2.11) 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...

9d507046 05/29/2014 02:07 pm Ilias Tsitsimpis

(2.11) 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...

d4928417 05/29/2014 02:07 pm Klaus Aehlig

(2.11) 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 <>

3317a3e5 05/29/2014 02:07 pm Klaus Aehlig

(2.11) 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 <>

9242db4a 05/29/2014 02:07 pm Dimitris Aragiorgis

(2.11) 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...

d93e2477 05/29/2014 02:07 pm Dimitris Aragiorgis

(2.13) kvm: Add migration capabilities as an hvparam

Latest QEMU versions support various migration capabilities. Each
can be enabled/disabled with 'migrate_set_capability' monitor
command.

Version 1.7.0 defines x-rdma-pin-all, auto-converge, zero-blocks,...

a2f9ee87 05/29/2014 02:07 pm Dimitris Aragiorgis

(2.8r) Workaround for Issue 621

Upon LUNetworkDisconnect() and LUNetworkConnect() try to acquire
all cluster's instances.

By that _LS_ACQUIRE_ALL acquire mode is set and not
_LS_ACQUIRE_EXACT and thus the deleted lock does cause any problem.

NOTE: This workaround is not merged upstream. They prefer to have...

4922cd73 05/28/2014 06:20 pm Jose A. Lopes

'Raise' called inside 'CheckPrereq' needs the prereq kw

This patch fixes the missing 'prereq' keyword in calls to 'Raise' in
the control flow of 'CheckPrereq', and updates the tests.

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

b3aa93a2 05/26/2014 06:03 pm Klaus Aehlig

Use more efficient statistics for the standard deviation

Instead of using the full sample as statistics providing
enough information to compute the standard deviation, use
a slightly more elaborate one. It contains the standard
statistics count, sum, and sum of squares, which can also...

c5da4cf1 05/26/2014 06:03 pm Klaus Aehlig

Use statistics updates when allocating on pairs

When considering the various ways of positioning an instance
on a pair of nodes, make use of the fact that the statistics
are extremely similar (only two nodes changed) and obtain the
new statistics by updating the old one, rather than by recomputing...

f66ae90a 05/26/2014 06:03 pm Klaus Aehlig

Factor score computation through abstract statistics

Logically separate the computation of the cluster score into
two steps: the computation of the abstract statistics and its
evaluation. In this way, we obtain an abstract value which we
can update instead of recomputing it when considering different...

6bb77749 05/26/2014 06:03 pm Klaus Aehlig

Verify the update of the standard deviation statistics

Add a test that verifies that the error introduced by updating
a standard-deviation statistics of a sample with at least two
elements is not too large, as compared to the direct computation.

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

394a5cb9 05/26/2014 06:03 pm Klaus Aehlig

Add data type for abstract statistics

Our cluster score is a weighted sum of certain sums and
standard deviations of node characteristics. When placing
a single instance, the cluster score of a big number of
quite similar clusters are computed: that of the original...

2b296ad4 05/26/2014 06:03 pm Klaus Aehlig

Relax test requirements

Instead of insisting on perfect equality of score
allow for numerical inaccuracies and consider everything
all differences in the cluster score smaller than 1e-12
negligible. Given that, by default, a cluster with a
score of less than 1e-9 is considered perfectly balanced,...

0f63c080 05/23/2014 01:45 pm Dimitris Aragiorgis

Fix gnt-network client wrt instances report

Let the gnt-network client expect a list of instance names and not
UUIDs as returned by QueryNetworks (by both old and new style query
mechanism).

Signed-off-by: Dimitris Aragiorgis <>
Reviewed-by: Helga Velroyen <>

96092119 05/23/2014 01:45 pm Dimitris Aragiorgis

Fix QueryNetworks wrt instances

QueryNetworks tries to find which instances are connected to which
networks. The query mechanism in Haskell was written back when NICs
referred to a network via its name and not its UUID. Fix luxi to
comply with the current implementation (network slot of NIC object...

a37549ea 05/22/2014 12:02 pm Klaus Aehlig

tiered allocation: try canonical search path first

In tiered allocation, instances are put on the cluster, while they
fit---and once no more instances of the given size can be fit, smaller
instances are tried next. There is obviously some heuristics involved...

399aa2ec 05/22/2014 11:44 am Thomas Thrainer

Add QA config flag for all performance tests

Add a config flag similar to "os", "env" or "rapi" which disables all
performance related tests centrally. The individual config flags for
jobqueue and parallel processing focused tests are not touched.

Also, add the flags to qa-sample.json....

d8e19f53 05/22/2014 11:13 am Helga Velroyen

build-bash-completion: reduce branches

The 'build-bash-completion' script has an enormous
function which triggered a 'too many branches' lint
error and was quite easily splittable in logical
sub-functions.

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

876fb142 05/22/2014 11:13 am Helga Velroyen

Convert all the classes to new-style classes

... to make lint shut up.

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

c4460a46 05/20/2014 05:22 pm Klaus Aehlig

Merge branch 'stable-2.9' into stable-2.10

  • stable-2.9
    Improve haskell style
    check-man-warnings: use C.UTF-8 and set LC_ALL
    Fix passing of ispecs in cluster init during QA

Conflicts:
src/Ganeti/Monitoring/Server.hs: trivial

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

8f467ab0 05/20/2014 05:15 pm Klaus Aehlig

Improve haskell style

...by fixing lint warnings found by HLint v1.8.57. In particular,
make sure 'make hlint' passes for this version of hlint.

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

aa112e9f 05/20/2014 01:59 pm Thomas Thrainer

Add --no-locks option to gnt-debug delay

Add the possibility to don't acquire locks during `gnt-debug delay`.
This allows to run many delay jobs in parallel instead of having
them run sequentially.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Helga Velroyen <>...

c374ceab 05/19/2014 03:21 pm Thomas Thrainer

Include design-performance-tests.rst in index

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

46593037 05/19/2014 01:53 pm Klaus Aehlig

Document the --force-failover option

Extend the gnt-group man page by documenting the --force-failover
option of the evacuation command.

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

d0cd1368 05/19/2014 01:53 pm Klaus Aehlig

Support group evacuation by failover

Support evacuating a node group not using migration.
This can be useful if the group evacuated to has different
hardware.

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

2039321f 05/19/2014 01:53 pm Klaus Aehlig

Add an option --force-failover

...to be added to gnt-group evacuate forcing evacuation by
means for failovers instead of migrations.

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

8ddee5b6 05/19/2014 01:53 pm Klaus Aehlig

Extend OpGroupEvacuate by a ForceFailover paramter

Add a parameter to OpGroupEvacuate to force failovers to be
used instead of migrations. This can be useful, if a group
is evacuated to another with different hardware.

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

63c875e7 05/19/2014 01:53 pm Thomas Thrainer

Mark performance tests design as implemented

The performance tests are implemented as outlined in the design doc, so
mark the document as implemented.

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

4868dfd5 05/19/2014 01:29 pm Apollon Oikonomopoulos

check-man-warnings: use C.UTF-8 and set LC_ALL

check-man-warnings currently partially forces the en_US.UTF-8 locale by
setting LANG. This implicitly assumes that the locale exists, which
might not be the case when building e.g. in chroot environments. If the...

95ec6e95 05/16/2014 12:19 pm Ansgar Jazdzewski

openvswitch fix

  • fix unhandled nic.mode in config.py
    "Unhandled Ganeti error: NIC mode 'openvswitch' not handled" (Issue 804)
  • handle link-changes for the virtual NIC
    a instance will readd the tap interface to the openviswitch so that
    changes of the instance-link (VLAN) will be considered....
f4664f19 05/16/2014 12:18 pm Klaus Aehlig

Document the --sequential option

Document that group evacuation is usually run in parallel, but
can be made sequentially by providing an appropriate option.

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

c812ab71 05/16/2014 12:18 pm Klaus Aehlig

Support sequential evacuation

Make gnt-group evacuate support the --sequential option,
which causes all evacuation moves to be execuated sequentially.
This can be used to avoid congestion on a possibly slow link
between the node groups.

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

ed9c2202 05/16/2014 12:18 pm Klaus Aehlig

Add an option --sequential

...which can be used to tell commands like gnt-group evacuate to
sequentially perform their action to keep load away from the cluster.

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

593fd115 05/16/2014 12:18 pm Klaus Aehlig

Extend OpGroupEvacuate by a sequential paramter

...telling it to run all the evacuation jobs sequentially.
This might be useful to avoid too much load that otherwise
might occur.

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

f29dde95 05/14/2014 05:23 pm Thomas Thrainer

Fix passing of ispecs in cluster init during QA

The ispecs were previously passed as multiple parameters to gnt-cluster
init, which did not yield the desired result. This patch changes this
behavior and passes the min/std/max values in one parameter.

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

70000149 05/14/2014 02:28 pm Thomas Thrainer

Merge branch 'stable-2.9' into stable-2.10

  • stable-2.9
    On expanding jobs, extend reason trail

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

0511c075 05/14/2014 02:21 pm Klaus Aehlig

On expanding jobs, extend reason trail

Certain op-codes expand to a set of jobs. For
those new jobs, extend their reason trail with
the reasons of the job that expanded to them.
In this way, also for indirectly genreated jobs
a complete trace back to the initiator can be...

ce0bc5e1 05/14/2014 02:20 pm Thomas Thrainer

Merge branch 'stable-2.9' into stable-2.10

  • stable-2.9
    Add LC_ALL=en_US.UTF-8 before running check-man-warnings

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Helga Velroyen <>

ecdf2b93 05/14/2014 01:51 pm Thomas Thrainer

Postpone 2.10.4 release to May 15th

Due to some tests not being completed by today, postpone the 2.10.4
release to tomorrow.

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

3e15825e 05/14/2014 01:46 pm Thomas Thrainer

Don't fail QA if submitting a job takes too long

Degrade a QA error which was triggered if job sumission take too long to
a warning. This will prevent spurious QA failures.

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

805f86d9 05/13/2014 10:03 am Thomas Thrainer

Revision bump for the 2.10.4 release

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

a6cbdefa 05/13/2014 10:02 am Thomas Thrainer

Prepare NEWS file for 2.10.4 release

Preparing the NEWS file for the release of 2.10.4 on Wednesday.

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

c4ae4fb1 05/12/2014 07:11 pm Yuto KAWAMURA(kawamuray)

Add LC_ALL=en_US.UTF-8 before running check-man-warnings

It will be fail if LC_ALL was set to non-utf8 locale(e.g, 'C') by
following error.

col: Invalid or incomplete multibyte or wide character
man: command exited with status 1: col -b -p -x

Signed-off-by: Yuto KAWAMURA <>...

6383059d 05/12/2014 01:49 pm Thomas Thrainer

Fix passing of ispecs in cluster init during QA

The ispecs were previously passed as multiple parameters to gnt-cluster
init, which did not yield the desired result. This patch changes this
behavior and passes the min/std/max values in one parameter.

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

03e86e97 05/12/2014 12:25 pm Thomas Thrainer

Move QAThreadGroup to qa_job_utils.py

Move QAThreadGroup to the utils module so it can easily be used with
QAThread.

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

3f8e1896 05/12/2014 12:25 pm Thomas Thrainer

Extract GetJobStatuses and use an unified version

Unify two very similar functions which query the ganeti cluster for job
statuses during QA.

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

552633e1 05/09/2014 02:55 pm Thomas Thrainer' via ganeti...

Run disk template specific tests only if possible

Only run disk template specific tests if the corresponding disk template
is really enabled. Also, move the (up to now wrong) check out of
qa_performance.py to ganeti-qa.py, so no no-time test runs are reported...

c2a97cee 05/09/2014 10:24 am Thomas Thrainer

Test parallel instance ops and plain instances

Test various instance operations while another instance is created in
parallel.
Also enable a test which creates twice as many plain instances as there
are nodes in the cluster in parallel.

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

15463dba 05/09/2014 10:24 am Thomas Thrainer

Test parallel creation of DRBD instances

Test the performance of parallel creation (and immediate removal) of DRBD
backed instances. Twice as many instances are created as there are nodes
in the cluster.

This also required some refactoring of the test code in order to reduce...

06c876fe 05/09/2014 10:24 am Thomas Thrainer

Test parallel job submission performance

Submit 200 delay jobs and verify that the submission rate does not drop
as more jobs are added to the queue. Also verify that a `gnt-cluster
info` is not slowed down by a large number of jobs in the queue.

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

0e594722 05/09/2014 10:24 am Thomas Thrainer

Test parallel instance query operations

For each created instance, a `gnt-instance info` is issued. In addition,
`gnt-instance list` is issued as often as well.

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

f9e16ba1 05/09/2014 10:24 am Thomas Thrainer

Test parallel instance operations

Test parallel starting, stopping, rebooting and (if supported)
reinstalling instances.

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

7be00e3e 05/09/2014 10:24 am Thomas Thrainer

Test parallel instance modification

Submit modifications of backend parameters as well as OS parameters in
parallel for the maximum amount of instances available.

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

a9e326d8 05/09/2014 10:24 am Thomas Thrainer

Test parallel node-count instance creation

Test the parallel creation (and removal) of as many instances as there
are nodes in the cluster.

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

5bb25194 05/09/2014 10:24 am Thomas Thrainer

Test parallel instance creation and removal

This is the first performance related test. It creates as many instances
as available in the QA config in parallel and removes them (again in
parallel) immediately after the creation succeeded.

In order to ease writing of additional tests, a lot of the logic is kept...

d33d00ba 05/09/2014 09:27 am Thomas Thrainer

Fail in replace-disks if attaching disks fails

Previously, if attaching the new secondary during a replace-disks
operations failed, only a warning was emitted. The subsequent sync-disks
operation cannot finish in such a case, however.

Therefore, this patch changes the warning into an error. This way it's...

703508c0 05/08/2014 06:01 pm Hrvoje Ribicic

Merge branch 'stable-2.9' into stable-2.10

  • stable-2.9
    Add configure option to pass GHC flags
    KVM: set IFF_ONE_QUEUE on created tap interfaces

Conflicts:
configure.ac # Taken both contributions

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

75c1ac5b 05/08/2014 05:05 pm Klaus Aehlig

Add a basic test for --restricted-migration

Essentially verify that, in the given example, a solution is still
found and that the original present failover is dropped.

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

ba2cab15 05/08/2014 05:05 pm Klaus Aehlig

Describe the --restricted-migration option

Add the --restricted-migration option to the man page together with
a hint on the intended use case.

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

33bb2d08 05/08/2014 05:05 pm Klaus Aehlig

Support restricted migration

Make hbal support an option to disallow ReplacePrimary moves
and restrict ReplaceAndFailover to instances where the primary
node is drained. If used in evacuation mode, the only migration
moves will be off the drained nodes.
...

23dc58d5 05/08/2014 05:05 pm Klaus Aehlig

Add an option for restricted migration

This option will allow node evacuation with migrations only
off the nodes to be evacuated.

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

ee63f1d1 05/08/2014 05:04 pm Klaus Aehlig

Add an example for node evacuation

The configuration shows an unbalanced cluster with
a node being drained. The natural evacuation strategy
includes frf-moves.

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

b8168679 05/08/2014 04:36 pm Apollon Oikonomopoulos

KVM: set IFF_ONE_QUEUE on created tap interfaces

The IFF_ONE_QUEUE flag directs the kernel to only queue tap packets once
(as opposed to queueing them twice, once for the device, and once for the
qdisc), possibly avoiding interface stalls when one of the queues overruns....

762a28c6 05/08/2014 01:44 pm Hrvoje Ribicic

Add configure option to pass GHC flags

Adding the HEXTRA option to make might not be practical for a change
that should be always applied, e.g., hiding a certain package. This
patch allows the flags to be specified at the configure level.

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

59ab1599 04/29/2014 03:13 pm Klaus Aehlig

Add a test for parsing version strings

...even in the presence of patch levels.

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

edc6dbc6 04/29/2014 01:43 pm Klaus Aehlig

Set correct Ganeti version on setup commands

When asked to execute a setup command, prefix it with
a command sequence to test for the existence of the
needed Ganeti version and switching to it.

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

a5bd9ea7 04/29/2014 01:43 pm Klaus Aehlig

Add a utility to combine shell commands

Add a function that combines individual shell commands into
a single command (calling the standard shell) that executes
the given commands in sequence while they succeed.

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

692ee302 04/28/2014 11:40 am Thomas Thrainer

Add design doc for performance tests

This design doc describes which tests are added in order to test the
performance of Ganeti, specifically when handling multiple jobs in
parallel.

Note that this design doc is submitted to stable-2.10 so performance
changes over different Ganeti versions can be captured....

98370c75 04/25/2014 05:49 pm Klaus Aehlig

Merge branch 'stable-2.9' into stable-2.10

  • stable-2.9
    If Automake version > 1.11, force serial tests

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

9f60216e 04/25/2014 05:39 pm Petr Pudlak

If Automake version > 1.11, force serial tests

This fixes broken compilation on Debian Jessie (#802).
See also http://stackoverflow.com/questions/15820844/

Thanks to Apollon Oikonomopoulos for finding the solution
and Klaus Aehlig for helping to do it conditionally....

462d6658 04/25/2014 12:04 pm Hrvoje Ribicic

Fix failed DRBD disk creation cleanup

When creating a DRBD disk, Ganeti reserves minor numbers on a per-node
basis. In case of a failed disk creation, these reservations should be
released. During the name/uuid refactoring, the invocation of the
function that releases the minors was not updated, resulting in no...

e9ba7edf 04/23/2014 12:11 pm Thomas Thrainer

Fix lint errors introduced during cherry-pick

Calm a few lint errors introduced during cherry-picking code in
qa_job_utils.py. The fixes were intentionally made in a way which should
produce merge conflicts later on, so it's not forgotten to undo them.

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

8c7864ba 04/22/2014 04:54 pm Helga Velroyen

Hooking up verification for shared file storage

As for the cluster modify, it was also forgotten to
hook up the verification of the shared file storage
paths despite all infrastructure was done already.

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

c02767f0 04/22/2014 04:54 pm Helga Velroyen

Fix --shared-file-storage-dir option of gnt-cluster modify

While all infrastructure to make shared-file storage
runtime-configurable was already submitted, the actual
setting of the path was forgotten. This patch fixes it.

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

90240591 04/22/2014 03:01 pm Helga Velroyen

Clarify default setting of 'metavg'

This fixes issue 810, suggesting to clarify where the
default for 'metavg' comes from.

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

73b8f8e1 04/17/2014 12:38 pm Thomas Thrainer

Fix invocation of GetCommandOutput in QA

The cherry-picked function _GetOutputFromMaster() calls
GetCommandOutput() with parameters only present in newer Ganeti
branches. Remove those parameters as they cause errors in stable-2.10.

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

b63453e9 04/17/2014 10:12 am Thomas Thrainer

Clean up RunWithLocks

This patch cleans RunWithLocks up a little bit by reducing the number
of delay function terminations, and using the QAThread class to ensure
exceptions are thrown at the right time and in the right place.

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

1d523139 04/17/2014 10:12 am Thomas Thrainer

Add an exception-trapping thread class

To have better control over threads, this patch adds a helper Thread
subclass which captures any exceptions occurring for later use.

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

27aa899e 04/17/2014 10:12 am Thomas Thrainer

Wait for delay to provide interruption information

The RunWithLocks test assumed that gnt-debug delay would have the info
needed for interruption ready immediately after being run, and in some
situations this is not the case. This patch makes the test more patient...

8c975d5e 04/17/2014 10:12 am Thomas Thrainer

Add an expected block option to RunWithLocks

To compensate for the cases where a QA test is supposed to block when
a lock is present, add an additional option showing whether blocking is
supposed to happen or not.

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

1e00b69b 04/17/2014 10:12 am Thomas Thrainer

Track if a QA test was blocked by locks

This patch adds threading to the RunWithTests function, allowing one
thread to execute the QA test, and the other to monitor if it is being
blocked by locks set up during the test. If it is, terminate the
blocking job, and let the QA continue, reporting the test failure at...

9e89cf3c 04/17/2014 10:11 am Thomas Thrainer

Add a RunWithLocks QA utility function

This patch adds a QA utility function that acquires a set of locks, and
attempts to run a given function with the locks in place. Should the
given function block, this function does not detect this - later
patches will address the issue....

7384c96a 04/15/2014 07:20 pm Klaus Aehlig

Merge branch 'stable-2.9' into stable-2.10

  • stable-2.9
    Set exclusion tags correctly in requested instance
    Export extractExTags and updateExclTags
    Document spindles in the hbal man page
    Sample logrotate conf breaks permissions with split users

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

93c6a885 04/15/2014 06:36 pm Klaus Aehlig

Set exclusion tags correctly in requested instance

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

2a6f6ef7 04/15/2014 06:36 pm Klaus Aehlig

Export extractExTags and updateExclTags

...from the htools Loader. These functions are needed when
parsing the requested instance of an allocator request.

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