Statistics
| Branch: | Tag: | Revision:

root / tools / burnin @ 6b7d5878

History | View | Annotate | Download (33.2 kB)

# Date Author Comment
14947dbc 03/11/2010 05:12 pm Iustin Pop

Switch burnin to cli.JobExecutor

Burnin has a custom job executor, because of its need to retry some job
series.

While we cannot replace all of it, at least the execution we can switch
to cli.JobExecutor, to take advantage of the recently-introduced
out-of-order waiting....

1b334175 03/11/2010 05:08 pm Iustin Pop

Improve burnin's Log function

This makes the Log function able to take multiple args for simplified
message construction, similar to the ToStdout one.

Signed-off-by: Iustin Pop <>
Reviewed-by: Guido Trotter <>

c4feafe8 03/08/2010 03:48 pm Iustin Pop

Switch from os.path.join to utils.PathJoin

This passes a full burnin with lots of instances, and should be safe as
we mostly to join a known root (various constants) to a run-time
variable.

Signed-off-by: Iustin Pop <>
Reviewed-by: Michael Hanselmann <>

265e6244 02/11/2010 01:49 pm Iustin Pop

Add debug mode to burnin

There are two entry points to job execution in burnin, ExecOp and
ExecOrQueue, and these are modified to call the new _SetDebug method on
the opcodes.

Signed-off-by: Iustin Pop <>
Reviewed-by: Michael Hanselmann <>

7ea7bcf6 02/09/2010 12:04 pm Iustin Pop

Add an early release lock/storage for disk replace

This patch adds an early_release parameter in the OpReplaceDisks and
OpEvacuateNode opcodes, allowing earlier release of storage and more
importantly of internal Ganeti locks.

The behaviour of the early release is that any locks and storage on all...

2d54e29c 01/04/2010 11:17 am Iustin Pop

Further pylint disables, mostly for Unused args

Many of our functions have to follow a given API, and thus we have to
keep a given signature, but pylint doesn't understand this. Therefore,
we silence this warning.

The patch does a few other cleanups.

Signed-off-by: Iustin Pop <>...

7e950d31 01/04/2010 11:16 am Iustin Pop

Convert to static methods (where appropriate)

Many methods are simple pure functions, and not depending on the object
state. We convert these to staticmethods.

Signed-off-by: Iustin Pop <>
Reviewed-by: Olivier Tharan <>

7260cfbe 01/04/2010 11:15 am Iustin Pop

Add targeted pylint disables

This patch should have only:

- pylint disables
- docstring changes
- whitespace changes

Signed-off-by: Iustin Pop <>
Reviewed-by: Olivier Tharan <>

e7beaa02 01/04/2010 11:15 am Iustin Pop

burnin: move decorators out of classes

Similar to commit c881c5, we move the decorators out of classes, such
that they become simple functions instead of methods. This more clean,
since only the wrapped functions need to be methods/have access to
‘self’....

544ca43b 12/16/2009 11:54 am Iustin Pop

burnin: add --no-name-check support

This patch modifies burnin to accept the --no-name-check option and also
adds --no-ip-check (which was always set to True before).

Signed-off-by: Iustin Pop <>
Reviewed-by: Guido Trotter <>

1f864b60 11/25/2009 04:30 pm Iustin Pop

Remove quotes from CommaJoin and convert to it

This patch removes the quotes from CommaJoin and converts most of the
callers (that I could find) to it. Since CommaJoin does str(i) for i in
param, we can remove these, thus simplifying slightly a few calls....

9e32b93b 10/07/2009 01:14 pm Guido Trotter

burnin: skip instance moves on single node

If we have only one node, instance moves fail, because it tries to move
the instance to itself. Skipping the operation, because in that case it
doesn't make sense.

Signed-off-by: Guido Trotter <>...

e3ac208c 10/05/2009 12:46 pm Guido Trotter

Update client os lists to name+variant format

List of OSes are displayed by gnt-os list, rapi, and gnt-instance
reinstall --select-os, and checked by burnin. In all of these show the
list with name+variant, if the os has variants.

Signed-off-by: Guido Trotter <>...

c8872a0b 09/30/2009 03:59 pm Iustin Pop

Merge remote branch 'origin/master' into mogu

  • origin/master:
    Fix burnin's verbose mode
    Final NEWS update and version increase for 2.0.4
    Encode the actual exception raised by LU execution
    Move the luxi error handling into errors.py
    Fix the confusing ssh/hostname message in node add...
88d31e5c 09/29/2009 06:52 pm Iustin Pop

Fix burnin's verbose mode

The timestamp need special formatting, which was done for the internal
buffer storage but not for the messages logged in verbose mode. This
patch unifies the formatting for these two cases.

Signed-off-by: Iustin Pop <>...

9cdb9578 09/17/2009 05:12 pm Iustin Pop

Unify the multiple 'verbose' options

Currently multiple files define a 'verbose' option. This patch moves all
these definitions to a single VERBOSE_OPT option which is exported from
cli.py.

Signed-off-by: Iustin Pop <>
Reviewed-by: Michael Hanselmann <>

a52ba89d 08/28/2009 06:24 pm Michael Hanselmann

Add more bash completion metadata for options

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Olivier Tharan <>

5b9107ff 08/24/2009 06:14 pm Iustin Pop

Add burnin support for instance moves

This patch adds support for instance moves in burnin. This means that
non-drbd instances finally get support for being moved.

Signed-off-by: Iustin Pop <>
Reviewed-by: Michael Hanselmann <>

10eb54fb 08/24/2009 04:53 pm Michael Hanselmann

Convert “burnin” to definition-based options

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

224b89fa 08/24/2009 04:53 pm Michael Hanselmann

Add more auto-completion metadata

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

ed2fe731 08/17/2009 08:21 pm Michael Hanselmann

burnin: Don't pass any disk when replacing 2nd node

Replacing the secondary node always replaces it for all disks. Commit
2945fd2d added an error message for this case.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

c70481ab 07/21/2009 03:15 pm Iustin Pop

burnin: move batch init/commit into a decorator

Many burnin steps initialize the batch queue at the beginning and commit
it at the end of their operation. This patch moves this code to a
decorator, in order to reduce redundant code.

Signed-off-by: Iustin Pop <>...

d9b7a0b4 07/21/2009 03:14 pm Iustin Pop

burnin: move instance alive checks to a decorator

Many burn steps to a manual check of instance aliveness, via duplicate
code. This patch moves this code to a decorator.

Signed-off-by: Iustin Pop <>
Reviewed-by: Michael Hanselmann <>

73ff3118 07/21/2009 03:14 pm Iustin Pop

burnin: Implement retryable operations

Some burnin steps are idempotent: e.g. reinstalling an instance (from
burning p.o.v.) can be done multiple times without any side-effects that
would affect later burnin steps. As such, failing the whole burnin
process due a reinstall failure is undesirable....

8629a543 07/20/2009 12:47 am Iustin Pop

burnin: fix removal errors hiding real errors

A long-standing bug in burnin makes errors during the removal phase
(e.g. because an import has failed, or because the initial creation has
failed) hide the original error.

This patch suppresses removal errors if we are already in ‘has_err’...

2e39ab98 02/16/2009 04:50 pm Iustin Pop

Burnin: fix rename

In rename, we must stop different names in the first and second phases,
so we create two different opcodes for this purpose (instead of using
the same one twice, which doesn't work).

Reviewed-by: imsnah

e8d47209 02/10/2009 04:46 pm Iustin Pop

burnin: do not use drained nodes

This patch updates burnin not to use drained nodes (similar to the
handling of offline nodes).

Reviewed-by: imsnah

ec79568d 02/04/2009 12:30 pm Iustin Pop

Implement lockless query operations

This patch adds the framework for, and enables lockless OpQueryInstances. This
means that instances will be shown in ERROR_up or ERROR_down state, even though
this is not an error (but just an in-progress job).

The framework is implemented as follows:...

1325da74 01/23/2009 02:36 pm Iustin Pop

Make iallocator work with offline nodes

This patch changes the iallocator framework to work with and properly
export to plugins offline nodes. It does this by only exporting the
static configuration data for those nodes, and not attempting to parse
the runtime data....

c723c163 01/23/2009 02:36 pm Iustin Pop

Rework the execution model in burnin

This patch changes (significantly) the execution model in burnin:
- for all runs, (almost) all instance mods in a single Burn* procedure
are done as part of a job; so for example add disk, stop, remove
disk, start are no longer done as separate jobs but as a single job...

5dc626fd 01/20/2009 04:20 pm Iustin Pop

Fix burnin problems when using http checks

The urllib2 module has very bad error handling. This patch changes to urllib
which is simpler, and we derive a custom class from the FancyURLopener. Burning
is no longer keeping sockets in CLOSE_WAIT state with this patch....

aa089b65 01/16/2009 03:09 pm Iustin Pop

burnin: only call self.GrowDisks() if needed

In case we pass --disk-grow 0[,0..] then we should not call GrowDisks as it
prints confusing log lines.

Reviewed-by: imsnah

320eda24 01/16/2009 12:41 pm Iustin Pop

burnin: add option to not remove instances

This patch adds a burnin option to keep instances at the end, so that
debugging after a burnin failure is easier.

Also, we reorder the command line parsing and client query so that one
can use ./tools/burnin --help even on non-ganeti machines....

801cda94 01/14/2009 11:57 am Iustin Pop

burnin: update migration to latest log formatting

Reviewed-by: ultrotter

99bdd139 01/13/2009 05:21 pm Iustin Pop

Forward port of the burnin migration

This is again a copy of the latest 1.2 burnin code related to migration.

Reviewed-by: ultrotter

836d59d7 01/13/2009 04:14 pm Iustin Pop

burnin: redo the output formatting

Since we added many more tests in burnin, the output became almost
unreadable. This patch changes the output to an indented one, so that
the different phases and operations of burnin are more easily
understood.

Reviwed-by: ultrotter

eb61f8d3 01/13/2009 03:25 pm Iustin Pop

burnin: move start_stop at the end

Traditionally the start/stop test was the last, so move it back to there
(added as last option in commit 854).

Reviewed-by: amishchenko

5178f1bc 01/13/2009 03:03 pm Iustin Pop

burnin: introduce instance alive checks

This patch adds instance alive checks after most start operations. The
check is done in a custom way:
- the instance is expected to have an http server up and running
- and it should server the '/hostname.txt' resource containing the...

5c22d16e 01/12/2009 03:25 pm Iustin Pop

burnin: Add tests for add/remove disks and NICs

This patch adds testing of add/remove disks and NICs to the burnin.

Reviewed-by: imsnah

90e722d1 01/09/2009 04:58 pm Iustin Pop

burnin: Add activate/deactivate disks

Reviewed-by: imsnah

cfacfd6e 01/09/2009 04:58 pm Iustin Pop

burnin: use the new replace_disks constants

This patch updates burnin to the latest replace disks constant, and
changes the constants' values to be more accurate.

Reviewed-by: imsnah

729164d0 01/09/2009 04:26 pm Iustin Pop

burnin: do not use offline nodes

This patch makes burnin skip the offline nodes in it's builtin node
selection. It also removes an extra line.

Reviewed-by: imsnah

00f91f29 12/02/2008 02:58 pm Iustin Pop

burnin: add instance reinstall and reboot

These two operations were missing from burnin. The reboot is done with
all valid modes (a new constant is added), and the reinstall is done
both with and without specifying the OS (to account for the two code
paths in the LU)....

a5e7be6b 12/02/2008 02:58 pm Iustin Pop

burnin: don't do export/import for file storage

This is currently not supported, so don't try to do export/import in
this case.

Reviewed-by: imsnah

b518a14a 12/02/2008 03:41 am Iustin Pop

burnin: fix usage of diskless template

This allows burnin to work with diskless instances (since we cannot pass
right now no disks to it).

Reviewed-by: imsnah

0ca35d45 11/24/2008 11:47 am Guido Trotter

Burner: fix ImportExport

Update the call to CreateInstance used in ImportExport to the new API for
multidisk/nic.

Reviewed-by: iustinp

084a9f22 11/21/2008 05:35 pm Iustin Pop

Small burnin info message change

This looks beter than '0 disk'.

Reviewed-by: ultrotter

f768530c 11/21/2008 05:35 pm Iustin Pop

burnin: fix default growth parameter

Reviewed-by: ultrotter

08db7c5c 11/20/2008 08:22 am Iustin Pop

Initial multi-disk/multi-nic support

This patch adds support for mult-disk/multi-nic in:
- instance add
- burnin

The start/stop/failover/cluster verify work as expected. Replace disk
and grow disk are TODO.

There's also a change gnt-job to allow dictionaries to be listed in...

82d9caef 10/20/2008 03:50 pm Iustin Pop

Remove the logger.py module

Since now we use only one function from the logger module
(SetupLogging), we move it to utils.py (which is already imported by all
users of this function), and we remove the module.

Reviewed-by: imsnah

6605411d 10/14/2008 07:23 pm Iustin Pop

grow-disk: wait until resync is completed

The patch adds a new ‘--no-wait-for-sync’ parameter to grow-disk similar
to the one in instance add, and changes the default to wait.

This is cleaner as at the moment when the command returns, we either
have a fully synced disk or there is an error....

659712c8 10/14/2008 07:22 pm Iustin Pop

Burnin OpGrowDisk

With this patch both the os and the swap disk are grown during
burnin. You can pass an increase size of 0 to skip this operation.

and:

burnin: don't try to grow diskless instances

When burnin is run on a diskless instance, it fails when trying...
338e51e8 10/14/2008 02:29 pm Iustin Pop

Change over to beparams

This big patch changes the master code to use the beparams. Errors might
have crept in, but it passes a small burnin.

Reviewed-by: ultrotter

ec5c88dc 10/06/2008 05:11 pm Iustin Pop

Start implementation of parallel burnin

This patch introduces a simple framework for executing jobs in parallel
in burnin (the ExecJobSet function) and the "--parallel" command line
flag.

The patch also changes the instance creation to run in parallel when the...

c2c2a903 09/18/2008 02:12 pm Guido Trotter

Remove auto_balance from burnin/cmdlib

There is no such feature in trunk yet.

Reviewed-by: iustinp

6e2dc934 09/12/2008 11:23 am Alexander Schreiber

Make burnin aware of hvm device type flags.

Merged from branches/ganeti/ganeti-1.2 r1648
Use static values for new hvm instance flags

Reviewed-by: iustinp

e17188f4 08/27/2008 01:05 pm Iustin Pop

Another burnin fix

This is a result of the log timestamp changes.

Reviewed-by: imsnah

59f187eb 07/30/2008 03:32 pm Iustin Pop

Unify SetupDaemon/SetupLogging

The 'old-style' info, error, debug logs do not make much sense. This
patch unifies the SetupLogging and SetupDaemon functions. As a result,
all the commands logs to a 'commands.log' file.

The patch also changes the log setup to keep going if there's an error...

e2212007 07/14/2008 04:38 pm Iustin Pop

Improve cli.SubmitOpCode

Currently, the feedback_fn argument to SubmitOpCode is no longer used.
We still need it in burnin, so we re-enable it by making the code call
that function with the msg argument in case feedback_fn is callable. The
patch also modifies burnin to accept the new argument format (msg is not...

2da55f7c 07/01/2008 01:43 pm Guido Trotter

Burnin doesn't need a Processor

In 2.0 burnin submits job to the master daemon, so it doesn't need to
create an internal Processor anymore. Even if the processor is not used
anywhere in the burnin code it was still initialized as a leftover of
how burnin used to work. Fixing this....

f9af35c8 06/15/2008 01:55 pm Guido Trotter

Burnin: Use iallocator in import/export

Currently the iallocator option is ignored by burnin at import/export
time even if passed in. With this patch it becomes used. The log message
used by the importer is also changed to reflect this.

This patch also improves import/export on the non-iallocator case:...

2a2060ff 06/13/2008 03:46 pm Michael Hanselmann

Replace logging functions with calls to logging module

- Shorter code
- Reorder arguments to logger.SetupLogging calls to make more sense

Reviewed-by: iustinp

5c54b832 05/30/2008 01:52 pm Iustin Pop

LURemoveInstance: fix op.ignore_failures usage

Currently: the LURemoveInstance.Exec() method uses the ignore_failures
attribute of the OpRemoveInstance opcode, but it doesn't check for its
existence. The patch adds this attribute to _OP_REQP and to all the...

a4af651e 04/28/2008 04:02 pm Iustin Pop

Move the 'cmd' lock from cli.py to ganeti-masterd

This patch removes the lock and the lock options from cli.py and moves
them to the master.

Later during development we can remove it completely, but for now it's
good to protect any other tool that uses the lock directly....

685ee993 04/28/2008 04:01 pm Iustin Pop

Convert cli.SubmitOpCode to use the master

This patch converts the cli.py SubmitOpCode method to use the unix
protocol and thus execute the opcodes via the master.

The patch allows a partial burnin to work with the master. Currently the
query opcodes, since they are executed via the SubmitOpCode, are...

b6e82a65 04/24/2008 02:13 pm Iustin Pop

Implement replace secondary via the iallocator

This patch implements secondary replace via the iallocator. The new
opcode parameter 'iallocator' behaves like this: if passed, it will
always compute and assign a new secondary, behaving in effect as if the...

5e767b34 04/24/2008 10:35 am Iustin Pop

Implement memory size option for burnin

This simple patch adds memory size for the burnin instances, which helps
testing allocator algorithm response based on the available node memory
and instance memory size values.

Reviewed-by: ultrotter

96bb2f71 04/23/2008 06:11 pm Manuel Franceschini

Fix burnin ImportExport CreateInstance opcode

This patch adds the two attributes file_storage_dir and file_driver
to the CreateInstance opcode in the ImportExport method, since
otherwise it will fail with the file storage patches.

Reviewed-by: iustinp

6d54548e 04/23/2008 05:51 pm Guido Trotter

burnin: improve instance create message

When the allocator or a non-mirrored template are used the message shown by
burnin at instance creation time was wrong. Fixing it.

Reviewed-by: iustinp

4a7ff493 04/23/2008 05:51 pm Guido Trotter

burnin: remove created exports

Make burnin remove exports after importing the instance back.

Reviewed-by: iustinp

054a8696 04/23/2008 03:27 pm Manuel Franceschini

Add instance rename to burnin

This patch adds the possibility to execute instance renaming when
doing a cluster burnin. The optional parameter --rename takes
one 'spare' instance name.
Given this option it renames all given instances to the spare one
and back to their original name....

b91bde14 04/23/2008 02:00 pm Iustin Pop

Allow burnin to use an iallocator in instance creation

This patch adds iallocator support to burnin, currently only in instance
creation. This means that, depending on the external algorithm, not all
nodes might get instances.

The patch also restricts node selection and iallocator options together....

2f505cb5 04/15/2008 03:43 pm Manuel Franceschini

Modify burnin to support file storage backend

This patch does two things:
- adjusts burnin to work with the file storage backend patches
- adds the possibilty to do a burnin for file based instances

Reviewed-by: iustinp

1f9430d6 04/10/2008 07:38 pm Iustin Pop

Rework the results of OpDiagnoseOS opcode

Currently, the opcode DiagnoseOS is the only opcode that return a
structure of objects.OS (which is a custom class, and not a simple
python object) and furthermore all the processing of OS validity across
nodes is left to the clients of this opcode....

f9193417 03/25/2008 06:30 pm Iustin Pop

Remove the option to create md/drbd7 instances

This patch removes the options that allow to create local_raid1 or
remote_raid1 instances. It also modifies the documentation and removes
these disk templates from burnin and from qa.

Reviewed-by: imsnah

d7b47a77 02/14/2008 05:53 pm Iustin Pop

Two small improvements to burnin

This tiny patch fixes the verbose option to actually work, and also when
creating instances it logs the secondary node too (even if this doesn't
apply for plain templates, it doesn't create an error).

Reviewed-by: imsnah

bd249e2f 01/21/2008 12:07 am Iustin Pop

Allow use of 'diskless' disk template in burnin

Even if this doesn't have any practical use for actually creating
instances, it can be used for very fast burnin and testing just the
add/start/stop/remove functionality.

This has also revealed a bug in export/import related to diskless...

d4844f0f 01/14/2008 06:03 pm Guido Trotter

Make instance start/stop skippable at burnin time

Even though burnin was born just to do that test it now contains a lot more
things one might try, so it makes sense to make instance start/stop optional
too.

This creates a burnin that at the bare minimum tests instance create and...

bd5e77f9 01/14/2008 06:01 pm Guido Trotter

Do instance export and import during burnin

Instances get exported to a remote node, then removed and imported back to
their original nodes. This should be an idempotent option from the instance
point of view, and help making sure ImportExport is kept up to date....

4aa036ab 01/14/2008 05:11 pm Iustin Pop

Allow burnin to take "-t plain" as an option

The burnin code deals with "-t plain", but the command line parser
doesn't allow that as an option. This patch fixes this issue.

Reviewed-by: ultrotter

25c5878d 01/11/2008 02:13 pm Alexander Schreiber

Support selecting the boot device order for HVM.

This patch adds support for specifying and changing the boot device order for
HVM instances. The boot device order specification is ignored for non HVM
instances.

Reviewed-by: iustinp

4501af56 01/08/2008 06:16 pm Iustin Pop

Add the new OpCreateInstance parameters to burnin

Reviewed-by: schreiberal

84cc52ab 11/21/2007 06:57 pm Michael Hanselmann

Flush stdout after printing a message during burnin.

Reviewed-by: iustinp

12c3449a 11/21/2007 06:55 pm Michael Hanselmann

Replace disk template drbd8 with drbd where missing.

Reviewed-by: iustinp

01b69ec5 11/21/2007 05:29 pm Michael Hanselmann

Code style fixes for burnin.

Reviewed-by: iustinp

21546b1c 11/08/2007 09:04 pm Iustin Pop

Simplify burnin output

Currently, the burnin output is very verbose (we log the entire output
from LU feedback) and duplicate in some cases (as we enable debugging).

This patch disables debugging and only logs the burnin output when an
error occurs.

Reviewed-by: imsnah

175f44c2 11/08/2007 09:02 pm Iustin Pop

Refactor burnin to improve disk replacement

This patch changes the burnin:
- split the code into functions
- add replace2 (replace the secondary) for remote_raid1
- add replace1/2 for drbd8

Reviewed-by: imsnah

519bfbae 11/05/2007 01:26 am Iustin Pop

Add option to burnin only a given set of nodes

This patch adds a '-n' option to burnin that takes a comma-separated
list of nodes to perform the burnin on.

Reviewed-by: ultrotter

79f87a76 11/02/2007 03:43 pm Iustin Pop

Improve burnin with regard to drbd8

Allow burnin to use the new drbd8 template (for which case one needs to
disable replacement of disks, burnin does yet support that with drbd8).

The patch also changes do-replace12 to no-replace12 as that is what
they actually do....

22d31e49 10/31/2007 05:19 pm Michael Hanselmann

Fix usage of OpReplaceDisks.

Reviewed-by: iustinp

1a8c0ce1 10/29/2007 10:09 pm Iustin Pop

Change the signature of some methods of mcpu.Processor

This patch moves the passing of the feedback_fn argument from the
(Exec|Chain)OpCode to the initialization of the Processor instance.

Reviewed-by: imsnah

e9f745aa 09/21/2007 03:25 pm Iustin Pop

Fix tools/burnin w.r.t. OpCreateInstance.ip_check

Since we added a new, required parameter to OpCreateInstance, we need to
update burnin to build the correct opcode.

Reviewed-by: schreiberal

246e180a 09/14/2007 12:54 pm Iustin Pop

Change OpQueryNodes nodes attribute to names

Change this to have the exact same parameters as OpQueryInstances.

Also fix burnin which is broken since r146.

Reviewed-by: imsnah

3ecf6786 08/14/2007 06:17 pm Iustin Pop

Style changes for pep-8 and python-3000 compliance.

This changes the raising of exceptions from:
raise Exception, value
to
raise Exception(value)

as the first form will be removed in python-3000 and the second form is
preferred now.

The changes also involve a few cases of changing from raising standard...

9f13fc7a 07/18/2007 02:55 pm Iustin Pop

Fix burnin - when removed from cmdlib, it lost locking functionality.

Also improve the burnin by doing an optional replace-disks.

a8083063 07/16/2007 04:39 pm Iustin Pop

Initial commit.