Statistics
| Branch: | Tag: | Revision:

root / tools @ 577d45d4

# Date Author Comment
577d45d4 01/06/2011 12:33 pm Iustin Pop

lvmstrap: add support for non-partitioned md disks

This patch, originally written by Marc Schmitt <>,
adds support for MD devices (used in a non-partitioned mode). I
abstracted all the original startswith('md') checks into separate
functions, and also moved the supported disk types to a list....

362c5845 01/06/2011 12:29 pm Michael Hanselmann

Merge branch 'devel-2.3'

  • devel-2.3:
    cfgupgrade: Remove unused “program” variable
    cfgupgrade: Check master name, clarify question
    Makefile: Merge build-time reST copying
    Move doc/upgrade.rst to UPGRADE, copy at build-time
    Import upgrade notes into documentation...
9d199a65 01/06/2011 12:27 pm Michael Hanselmann

cfgupgrade: Remove unused “program” variable

Signed-off-by: Michael Hanselmann <>
Reviewed-by: René Nussbaumer <>

011974df 01/06/2011 12:06 pm Michael Hanselmann

cfgupgrade: Check master name, clarify question

- Check hostname and abort if it doesn't match contents of
“ssconf_master_node”, can be overridden using “--ignore-hostname”
parameter.
- Clarify confirmation question and don't mention instances anymore....

2a0f9372 12/31/2010 02:37 pm Michael Hanselmann

Fix build errors with ganeti-listrunner

- Remove non-ASCII character from manpage
- Reformat docstring for epydoc in script

These caused build breakage on some but not all distributions.

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

da7e44ee 12/30/2010 07:51 pm Michael Hanselmann

Initial import of listrunner

This tool was used and worked on internally for quite a long time. We
decided to include it in Ganeti.

Known issues:
- Code doesn't match rest of Ganeti (e.g. using “print” all over the
place, hardcoded calls to sys.exit deep in functions)...

88b02ee9 11/30/2010 03:57 pm Michael Hanselmann

Remove editor-specific settings from cfgupgrade*

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

fdd9ac5b 11/29/2010 05:14 pm Michael Hanselmann

Move “rapi_users” file into separate directory

This reduces the number of notifications in “ganeti-rapi”. Until now it
was notified for every change in …/lib/ganeti and had to check whether
the users file was affected. A symlink is always created in cfgupgrade...

a8ee6e94 11/02/2010 01:00 pm Michael Hanselmann

Bump version for Ganeti 2.3

Also update cfgupgrade and NEWS.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: René Nussbaumer <>

c4da9eaf 10/29/2010 04:27 pm René Nussbaumer

setup-ssh: Better error reporting

Together with Michael we refactored the code to make it better and
easier error reporting. Without printing backtraces for authentication
and verification issues.

Signed-off-by: René Nussbaumer <>
Reviewed-by: Michael Hanselmann <>

e389d95b 10/21/2010 05:03 pm René Nussbaumer

Adjust the error message of setup-ssh if join check fails

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

72884fef 10/05/2010 06:08 pm Michael Hanselmann

Merge branch 'devel-2.2'

  • devel-2.2:
    Add simple unittest for utils.CommaJoin
    LUDelTags: Improve formatting of error message
    LUGetTags: Acquire locks in shared mode
    gnt-cluster: Replace hardcoded “xenvg” with value retrieved from master
    Export VG name via LUQueryConfigValues...
a111ebde 10/05/2010 05:59 pm Michael Hanselmann

move-instance: Allow overriding instance parameters

When moving a single instance within the same cluster, the NIC
is not allowed to re-use an existing MAC address. To avoid this,
NIC parameters must be overridden. BE, HV, OS and NIC parameters
can be overridden after applying this patch....

df5758b1 10/05/2010 12:11 pm Iustin Pop

Merge branch 'devel-2.2'

  • devel-2.2:
    gnt-job info: Sort input fields
    KVM: Add function to check the hypervisor version
    Bump version to 2.2.0, update NEWS
    Fix instance rename regression from 3fe11ba3
    Fix instance rename regression from 3fe11ba3...
d22dfef7 09/30/2010 03:10 am Iustin Pop

Change behaviour of OpDiagnoseOS w.r.t. 'valid'

This patch changes the behaviour of OpDiagnoseOS with regards to the
'valid' field to be similar to the one for the hidden/blacklisted
fields: unless this field is requested, invalid OSes are filtered out.
...

a68fe106 09/10/2010 03:11 pm Michael Hanselmann

Merge branch 'devel-2.2'

  • devel-2.2:
    Fix pylint warning in http/__init__.py
    Allow SSL ciphers to be overridden in HTTP server
    jqueue: Resume jobs from “waitlock” status
    jqueue: Move queue inspection into separate function
    jqueue: Don't update file in MarkUnfinishedOps...
a6d350cc 09/10/2010 03:10 pm Michael Hanselmann

Merge branch 'stable-2.2' into devel-2.2

  • stable-2.2:
    Fix pylint warning in http/__init__.py
    Allow SSL ciphers to be overridden in HTTP server
    If we had any errors in setup in one of the hosts, exit with non-zero

Signed-off-by: Michael Hanselmann <>...

d3b18b8e 09/09/2010 04:52 pm René Nussbaumer

Adding functionality to check feasability of joining the host

This checks if the host might possibily belong already to another
cluster. If this is the case we abort without any further action
unless we are forced by --force-join.

Signed-off-by: René Nussbaumer <>...

5b27346a 09/09/2010 03:43 pm René Nussbaumer

If we had any errors in setup in one of the hosts, exit with non-zero

Signed-off-by: René Nussbaumer <>
Reviewed-by: Michael Hanselmann <>

f9b87434 09/09/2010 02:32 pm René Nussbaumer

Fix the output of the key fingerprint from binary to hex

Signed-off-by: René Nussbaumer <>
Reviewed-by: Iustin Pop <>

ae8419a2 09/07/2010 01:07 pm Michael Hanselmann

Merge branch 'devel-2.2'

  • devel-2.2:
    cli: Use list of options shared between commands
    jqueue: Use separate function for encoding errors
    Fix some epydoc warnings
    Fix breakage introduced by commit 8044bf655
    Remove “dry_run” from opcodes.OpCreateInstance...
fa697271 09/07/2010 01:06 pm Michael Hanselmann

Merge branch 'stable-2.2' into devel-2.2

  • stable-2.2:
    Fix breakage introduced by commit 8044bf655
    Remove “dry_run” from opcodes.OpCreateInstance
    Disable the RAPI CA checks in watcher
    move-instance: Fix parameter order in _CreateInstance

Signed-off-by: Michael Hanselmann <>...

24f6a6e6 09/06/2010 05:55 pm Guido Trotter

Revert "Add 2.2->2.3 cluster upgrade function"

This reverts commit 2c9cf6bb05e14ea606638fce9680994cf92e8e24.
The change is better done in objects.py

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

697a3d61 09/03/2010 02:27 pm Manuel Franceschini

Fix some epydoc warnings

Signed-off-by: Manuel Franceschini <>
Reviewed-by: Michael Hanselmann <>

298e4dc8 09/01/2010 12:50 pm Manuel Franceschini

move-instance: Fix parameter order in _CreateInstance

This patch fixes a bug, which caused the primary and secondary
destination nodes to be revered on the destination cluster after an
instance move.

Signed-off-by: Manuel Franceschini <>...

2c9cf6bb 08/27/2010 04:28 pm Manuel Franceschini

Add 2.2->2.3 cluster upgrade function

Signed-off-by: Manuel Franceschini <>
Reviewed-by: Michael Hanselmann <>

3ef51126 08/25/2010 02:07 pm René Nussbaumer

Revert behaviour for calling SetupNodeDaemon

This was previously done in setup-ssh which was the wrong place

Signed-off-by: René Nussbaumer <>
Reviewed-by: Guido Trotter <>

310a8944 08/25/2010 12:02 pm René Nussbaumer

Adding host key verification to setup-ssh

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

634a9a35 08/23/2010 12:50 pm Iustin Pop

setup-ssh: fix updating of authorized_keys

Due to what seems like a bug (or inconsistency) in paramiko, files
opened with a+ over SFTP need a seek() in order for the user to be able
to read data from them. We implement this, and rely on the fact that we
do iterate over all lines before writing and that the file is opened in...

3dc66ebc 08/23/2010 12:47 pm Iustin Pop

setup-ssh: Also use keys from the ssh-agent

Currently, setup-ssh only uses one disk-based key. This means that any
setup where we use keys from ssh-agent (which do not necessarily exist
on disk) will break when moving from the old method to setup-ssh.

This patch moves the SSH key handling to separate functions, and uses...

8647a52c 08/20/2010 05:41 pm Iustin Pop

setup-ssh: fix the logging error message

This took a bit of interesting debugging, but the issue seems to be that
on older python/logging/paramiko (I'm not sure which is at fault here),
the other threads are finishing later than the main thread, so the
logging module closes the logging file (but doesn't unregister it)...

7bff16bd 08/20/2010 05:41 pm Iustin Pop

setup-ssh: only read the ssh port once

Then reuse it. With certain setups, this could be slow when pre-seeding
an entire cluster.

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

5c654e95 08/20/2010 05:41 pm Iustin Pop

setup-ssh: redo the logging levels

There is not enough logged by default on stderr, and way too much
information in the log file.

Since we don't want to debug paramiko itself, we filter only warnings
and above.

Otherwise, we make WARNINGS the default level, with verbose meaning INFO...

7a6a27af 08/20/2010 05:41 pm Iustin Pop

setup-ssh: try to use key auth first

This patch changes the setup-ssh workflow to try key authentication
first, and then fall-back to password authentication. The password is
also read lazily, with no prompts if we can authenticate via keys.

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

40edb0cc 07/30/2010 06:33 pm Michael Hanselmann

move-instance: Use constants for parameters

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

a59b0dc4 07/30/2010 06:32 pm Michael Hanselmann

move-instance: Pass OS parameters to new instance

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

78bb78b1 07/30/2010 02:10 am Iustin Pop

burning: fix handling of empty job sets

If we call burning with only existing instance, then it will fail to
create any of them, and thus in the removal phase it won't have anything
to remove. Since calling luxi.SUBMIT_MULTIPLE_JOBS with an empty job set...

b2e8a4d9 07/29/2010 04:05 pm Michael Hanselmann

workerpool: Change signature of AddTask function to not use *args

By changing it to a normal parameter, which must be a sequence, we can
start using keyword parameters.

Before this patch all arguments to “AddTask(self, *args)” were passed as
arguments to the worker's “RunTask” method. Priorities, which should be...

f907fcf2 07/23/2010 08:26 pm Iustin Pop

Fix burnin and live migration

This is breakage from the original 'live' parameter changes.

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

c9a4a662 07/21/2010 04:51 pm Manuel Franceschini

Disable 'invalid name' pylint warning for tools/setup-ssh

Signed-off-by: Manuel Franceschini <>
Reviewed-by: René Nussbaumer <>

05cd934d 07/20/2010 12:34 pm René Nussbaumer

Adding tool to setup SSH on a remote host

This prepares the remote node to be joined into a cluster

Signed-off-by: René Nussbaumer <>
Reviewed-by: Michael Hanselmann <>

8a7f1c61 07/12/2010 05:27 pm Michael Hanselmann

Add function to format all job log messages

Just calling utils.SafeEncode on the log message failed when it
wasn't of the type ELOG_MESSAGE and not a string. Now non-message
log entries are formatted using repr().

Signed-off-by: Michael Hanselmann <>...

25e2fe5c 07/07/2010 11:06 am Iustin Pop

Merge branch 'devel-2.1'

  • devel-2.1:
    QA, burnin: allow selection of reboot types
    Add a QA option to disable reboots during burnin

Conflicts:
qa/qa-sample.json (trivial)
qa/qa_cluster.py (trivial)

Signed-off-by: Iustin Pop <>
Reviewed-by: Luca Bigliardi <>

1d103c02 07/07/2010 11:04 am Iustin Pop

QA, burnin: allow selection of reboot types

After some more investigation, only the soft reboot type fails for Xen
3.4 (due to the reboot/uptime time counter). As such, it's better to
allow selective testing, since we do want to test in general these
opcodes/the command line script....

2a7c3583 07/01/2010 03:13 pm Michael Hanselmann

RAPI client: Switch to pycURL

Currently the RAPI client uses the urllib2 and httplib modules from
Python's standard library. They're used with pyOpenSSL in a very fragile
way, and there are known issues when receiving large responses from a RAPI
server.
...

02e1292d 06/29/2010 01:47 pm Michael Hanselmann

cfgupgrade: Add option to override config verification

This is needed in a new test script for cfgupgrade where it's better
to only use the minimum parts necessary for testing cfgupgrade.
Including full configuration data to ensure verification doesn't fail...

30acff6c 06/29/2010 01:47 pm Michael Hanselmann

cfgupgrade: Fix bug when checking configuration directory

In the condition for checking the configuration directory, one “or” should have
been an “and”. This bug was in cfgupgrade since commit 95e4a8142 (June 2008).
Found thanks to a test script.

Signed-off-by: Michael Hanselmann <>...

a9221f09 06/29/2010 01:47 pm Michael Hanselmann

cfgupgrade: Add support for Ganeti 2.2

Since configuration changes are now usually done in the configuration
writer class, cfgupgrade's only task is to change the config version.
This means we can easily support upgrading from Ganeti 2.0 and 2.1 to
2.2.
...

5d25b928 06/29/2010 01:45 pm Michael Hanselmann

Remove dead code from cfgupgrade

Three constants were no longer user after commit 11c31f5cb5, which
removed support for upgrading from Ganeti 1.2.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Guido Trotter <>

403f5172 06/28/2010 02:04 pm Guido Trotter

Remove pred from compat.any/all

This makes it compatible with the python builtin, and we can even use
the builtin when running under the right version of python. The all and
any functions are renamed to _all and _any, so that they can be tested,
and (non)existing unittests are updated (translation: there are no unit...

85edf27e 06/23/2010 07:24 pm Iustin Pop

Fix burnin's export test

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

062a7100 06/23/2010 07:23 pm Iustin Pop

Add support for OS parameters during instance add

This is not yet complete, as it lacks proper support for instance
import.

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

fc0726b9 06/09/2010 12:40 pm Michael Hanselmann

cfgupgrade: Local variable for cluster-domain-secret filename

This is necessary to allow cfgupgrade to work on a non-standard directory.

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

424f51ec 06/01/2010 07:39 pm Michael Hanselmann

move-instance: Use error message instead of multiple state variables

Until now, move-instance used different status variables: “success”,
“abort” and “error_message”. With this patch, everything is changed
to use “error_message” only. This simplifies the code a bit....

6bf273d5 05/18/2010 06:53 pm Michael Hanselmann

Add tool to move instances between clusters

This is a first version of the instance move tool and it supports moving
1..N instances from one cluster to another. When moving a single instance,
the instance can be renamed, allowing for moves within the same cluster...

c6ccba7e 05/18/2010 03:40 pm Michael Hanselmann

ganeti-cleaner: Remove expired X509 certs

Importing/exporting an instance to a remote machine creates X509
certificates which expire after some time. They need to be removed from
the nodes as they become useless.

Signed-off-by: Michael Hanselmann <>...

c1e7897d 05/04/2010 03:37 pm Michael Hanselmann

Merge branch 'devel-2.1'

  • devel-2.1:
    cfgupgrade: allow working with relative paths
    Cleanup /etc/hosts during node removal
    verify cluster: check /etc/hosts consistency
    Change the migration message
    qa: enable early release during parallel burnin...
0cddd44d 05/03/2010 06:27 pm Iustin Pop

cfgupgrade: allow working with relative paths

Since utils.WriteFile requires an absolute path, cfgupgrade needs to
normalize the directory it is given.

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

a91143f1 04/22/2010 12:35 pm Michael Hanselmann

Merge branch 'devel-2.1'

  • devel-2.1:
    SSH: do not check IPs
    Add separate module for backported language functionality
    Add make commit-check target
    burnin: skip migration based on hypervisor support
    Add a hypervisor constant for migration support...
cea881e5 04/21/2010 08:48 pm Michael Hanselmann

Add separate module for backported language functionality

utils.py, where they were before, is already huge.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Guido Trotter <>

aac0352d 04/21/2010 08:22 pm Iustin Pop

burnin: skip migration based on hypervisor support

The patch adds selection of hypervisor in burnin (on multi-hypervisor
clusters, we always used the default) and optional hypervisor
parameters, and skips migration if the hypervisor doesn't support it.

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

693843f9 04/21/2010 03:45 pm Iustin Pop

Fix cfgupgrade's use of GenerateSelfSignedSslCert

In master, the function GenerateSelfSignedSslCert has been moved to
utils.

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

f39cd91d 04/20/2010 07:26 pm Balazs Lecz

Merge branch 'devel-2.1'

Conflicts:
doc/security.rst
trivial
lib/cli.py
trivial

Signed-off-by: Balazs Lecz <>
Reviewed-by: Michael Hanselmann <>

d8aab233 04/20/2010 12:38 pm René Nussbaumer

Using the added stop-all functionality from daemon-utils in cluster-merge

Additionally also move to the RunWhileStopped method for the configuration merger.

Signed-off-by: René Nussbaumer <>
Reviewed-by: Guido Trotter <>...

af2ae1c0 04/16/2010 03:06 pm Iustin Pop

Merge branch 'devel-2.1'

  • devel-2.1:
    utils: Add class to split string stream into lines
    Fix cluster behaviour with disabled file storage
    Update docstrings in tools/ and enable epydoc
    Forward-port the ganeti 2.0 cfgupgrade
    Add a new tool: sanitize-config...
454723b5 04/15/2010 05:37 pm Iustin Pop

Update docstrings in tools/ and enable epydoc

This patch updates the docstrings in tools/ (mostly in lvmstrap, which
is very very old code-base) and then enabled the tools in this directory
for 'make apidoc' too.

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

b5672ea0 04/15/2010 05:37 pm Iustin Pop

Forward-port the ganeti 2.0 cfgupgrade

2.1's cfgupgrade doesn't support upgrading from 1.2, only from 2.0.
However, it's trivial to forward-port the 2.0 cfgupgrade to work with
2.1, thus providing an upgrade path for 1.2 users directly to 2.1,
without the intermediate step of installing 2.0....

ea5fd476 04/15/2010 05:36 pm Iustin Pop

Add a new tool: sanitize-config

This can be used for two purposes:

- safety copy of the config file, with just the secrets changed
- cleanup of the config file (full randomization), so that (e.g.) users
could send a broken config file to the devel-list...

aeefe835 04/15/2010 05:36 pm Iustin Pop

Fix cfgupgrade with non-default DATA_DIR

Commit 43575108 added bootstrap.GenerateclusterCrypto and commit
7506a7f1 changed cfgupgrade to use it. However, this lost the
functionality of upgrading in non-default DATA_DIR.

To fix this, we enhance bootstrap.GenerateclusterCrypto to accept custom...

691e9563 04/13/2010 02:21 pm Iustin Pop

Mark cluster-merge as executable

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

e7a25b08 04/12/2010 12:36 pm Guido Trotter

Merge branch 'devel-2.1'

  • devel-2.1:
    burnin: only remove instances we actually added
    burnin.ExecOrQueue: add post-process function
    burnin.ExecOrQueue: remove variable argument list
    Fix new pylint errors
    Rename the confd_client unittest (to confd.client)...
b05f29a6 04/09/2010 05:54 pm Guido Trotter

burnin.ExecOrQueue: remove variable argument list

In order to later add an optional parameter we transform the variable
ops argument list in an explicit list.

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

2c035435 04/09/2010 05:54 pm Guido Trotter

burnin.ExecOrQueue: add post-process function

If a post-process function is passed to ExecOrQueue it is executed if
and only if the job is successful. This happens immediately if we're
proceding iteratively, and at the end, when we collect all job results,...

1e82a86b 04/09/2010 05:54 pm Guido Trotter

burnin: only remove instances we actually added

Currently burnin, if proceding in parallel, will remove all instances
which were passed, even if they failed to add. This is bad because it
will also remove instances which existed before burnin started. By...

921efbb3 04/06/2010 03:32 pm Michael Hanselmann

Merge remote branch 'devel-2.1'

  • devel-2.1:
    Extend ConfdFilterCallback with consistency checks
    Abstract the confd client creation
    Remove unused import from test file
    kvm_flag hypervisor parameter
    Move the runas user at execution time
    Send "501 Not Implemented" back when method not found...
5b349fd1 04/06/2010 12:27 pm Iustin Pop

Abstract the confd client creation

Most creation of confd clients will do the same steps: read MC file,
parse it, read HMAC key, etc. We abstract this functionality so that
we don't duplicate the code.

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

24f40363 03/23/2010 11:56 am Guido Trotter

Merge branch 'devel-2.1'

  • devel-2.1:
    ganeti-confd: Call pyinotify flags correctly
    Fix burnin error when trying to grow a file volume
    Some epydoc fixes
    A rewrite of LUClusterVerify
    Introduce a bool CLI option type
    Fix backend.VerifyNode behaviour for VG problems...
728489a3 03/23/2010 11:31 am Guido Trotter

Fix burnin error when trying to grow a file volume

Abstract the growable disk types in a ganeti constants, and only run
disk grow, from burnin, on them.

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

791f317d 03/18/2010 03:56 pm Guido Trotter

Merge branch 'devel-2.1'

  • devel-2.1:
    burnin: implement basic confd testing
    AsyncUDPSocket.process_next_packet
    WaitForSocketCondition: rename, handle EINTR
    move http.WaitForSocketCondition to utils
    ConfdCountingCallback
    ConfdClient: add synchronous features...
a619a1dd 03/18/2010 01:39 pm Guido Trotter

burnin: implement basic confd testing

Just a few queries are checked, but this should give us confidence that
at least the basic confd framework is working properly.

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

be0636e3 03/18/2010 01:38 pm Guido Trotter

Burnin: don't add/remove routed nics

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

3db3eb2a 03/17/2010 05:18 pm Michael Hanselmann

Add cluster domain secret

Information exchanged between different clusters via untrusted
third parties (e.g. for remote instance import/export) must be
signed with a secret shared between all involved clusters to
ensure the third party doesn't modify the information....

6b7d5878 03/15/2010 06:40 pm Michael Hanselmann

Rightname confd's HMAC key

Currently, the ganeti-confd's HMAC key is called “cluster HMAC key” or
simply “HMAC key” everywhere. With the implementation of inter-cluster
instance moves, another HMAC key will be introduced for signing critical
data. They can not be the same, so this patch clarifies the purpose of the...

7506a7f1 03/12/2010 05:45 pm Michael Hanselmann

cfgupgrade: Use new bootstrap function for certs and keys

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

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

3f1cf151 02/26/2010 03:43 pm René Nussbaumer

Make pylint happy

I was using a too old version which doesn't got all those. This
patch is fixing the new lint errors.

Signed-off-by: René Nussbaumer <>
Reviewed-by: Michael Hanselmann <>

1f7d3f7d 02/26/2010 02:41 pm René Nussbaumer

Adding tool for automated cluster-merger

This is the implementation of docs/design-cluster-merger.rst. It allows
the automatic merging of one or more clusters into the invoking cluster.

While this version is tested and working it still needs some tweaking...

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

adf385c7 02/10/2010 03:13 pm Iustin Pop

Fix dumpers/loaders after slots cleanup

Commit 154b958 changed (correctly) the slots usage, but this broke
dumpers/loaders since we relied directly on the own class slots
field.

To compensate, we introduce a simple function for computing the slots...

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

30e4e741 01/04/2010 11:20 am Iustin Pop

Fix unused imports or add silences where needed

In some cases pylint doesn't parse the import correctly, so we add
silences; but there are also many cases of unused imports, which we
simply remove.

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

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

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

Remove more unused variables

This removes unused variables in the rest of the code (outside lib/).

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

07b8a2b5 01/04/2010 10:42 am Iustin Pop

Fix use of the logging functions

The logging functions expand the arguments themselves, thus it's safer
to let them do it rather than manual string formatting.

Also re-wraps one comment.

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

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