Statistics
| Branch: | Tag: | Revision:

root / tools @ 298e4dc8

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

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

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

aeb0c953 10/16/2009 05:51 pm Michael Hanselmann

cfgupgrade: Implement upgrade to 2.1.0

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

cd34faf2 10/16/2009 05:51 pm Michael Hanselmann

Make bootstrap._GenerateSelfSignedSslCert public

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

11c31f5c 10/16/2009 05:51 pm Michael Hanselmann

cfgupgrade: Remove Ganeti 1.2 support

This also fixes a few typos.

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

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

775c6d3e 07/24/2009 03:01 pm Guido Trotter

Merge branch 'next' into branch-2.1

  • next:
    lvmstrap: Change diskinfo to use GenerateTable
    Get rid of constants.RAPI_ENABLE
    Remove references to utils.debug
    ganeti-rapi, replace hardcoded exit value
    Add the bind-address option to ganeti-rapi
    noded: Abstract hard-coded sys.exit value...
e194129a 07/24/2009 12:26 pm Stephen Shirley

lvmstrap: Change diskinfo to use GenerateTable

This way the produced table is formatted nicely.

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

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

2f7140ba 07/08/2009 12:28 pm Guido Trotter

Merge branch 'next' into branch-2.1

  • next:
    Create a new --no-voting option for masterfailover
    ganeti-masterd: allow non-interactive --no-voting
    Fix pylint warnings
    Add custom pylintrc
    bootstrap: Don't leak file descriptor when generating SSL certificate...
5bbd3f7f 07/07/2009 03:51 pm Michael Hanselmann

Fix some typos

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

3374afa9 06/26/2009 04:45 pm Guido Trotter

Use ReadFile.splitlines() rather than readlines

A few places in the code open a file "manually" rather than using our
wrapper function, because they need an array with the lines. Combining
the result of utils.ReadFile with splitlines() we get rid of the
exceptions....

4ef7f423 06/08/2009 07:58 pm Guido Trotter

Change BEGR_DEFAULT to PP_DEFAULT

This way the same constant can represent the default profile also for
nic, disk and OS parameters.

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

6f285030 03/06/2009 04:49 pm Iustin Pop

Fix serial_no field on instances

The instance objects did not get a serial_no field. This patch adds a
new constants for the field name and uses it for all three cases
(cluster, nodes, instances).

Reviewed-by: imsnah

ac4d25b6 03/04/2009 04:22 pm Iustin Pop

Complete the cfgupgrade script for 2.0 migrations

This patch makes the cfgupgrade script to handle:
- instance changes
- disk changes
- further cluster fixes
- adds configuration checks at the end, in non-dry-run mode

Reviewed-by: ultrotter

a421fdeb 03/04/2009 04:20 pm Iustin Pop

First run at cfgupgrade for 2.0 upgrades

This patch makes cfgupgrade work on empty cluster (i.e. no instances),
up to a point that the config file can be converted from 1.2 to 2.0.
This is not yet complete, though.

Reviewed-by: ultrotter