Statistics
| Branch: | Tag: | Revision:

root / lib @ bcd35e09

# Date Author Comment
bcd35e09 11/05/2012 09:50 pm Dato Simó

cli.py: use None as name for tag operations on the cluster

This change is mostly cosmetic. Previously, the literal "cluster" was
used for the 'name' field of tag operations on the cluster (as opposed
to a node or an instance). Since this field has a type of TMaybeString...

c17770c7 11/02/2012 01:25 pm Bernardo Dal Seno

Fix previous merge

A call to _CalculateGroupIPolicy wasn't refactored during the merge.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Michael Hanselmann <>

8e09e801 11/01/2012 07:44 pm Michael Hanselmann

Merge branch 'devel-2.6'

  • devel-2.6:
    Fix typo in gnt-instance man page
    jqueue: Return jobs to queue when shutting down
    gnt-debug delay: Add "--submit" option
    Make hostname checks uniform between instance rename and add
    Improve logging of new job submissions...
dc2cc657 11/01/2012 06:39 pm Michael Hanselmann

Merge branch 'stable-2.6' into devel-2.6

  • stable-2.6:
    Fix typo in gnt-instance man page
    jqueue: Return jobs to queue when shutting down
    gnt-debug delay: Add "--submit" option
    Make hostname checks uniform between instance rename and add
    Improve logging of new job submissions...
942e2262 11/01/2012 05:48 pm Michael Hanselmann

jqueue: Return jobs to queue when shutting down

When a job is still waiting for locks and the queue is shutting down,
they should be returned and not actually start processing. Until now
jobs which transitioned from “queued” to “waiting” were already
considered to be running as far as the shutdown code was concerned....

bb600388 11/01/2012 05:09 pm Michael Hanselmann

gnt-debug delay: Add "--submit" option

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

233f4bc6 11/01/2012 03:00 pm Iustin Pop

Make hostname checks uniform between instance rename and add

Currently, we have instance rename doing extra checks on the host
name, to prevent accidental wrong renames; however, instance create
doesn't do these checks (issue 291), which (if DNS is misconfigured)...

4c91d2ad 11/01/2012 03:00 pm Iustin Pop

Improve logging of new job submissions

This addresses issue 290: when receiving new jobs, logging is
incomplete, and we don't have the job ID and/or summaries
logged. Only later, when the job is queried for or being processed, we
know more.

This is not good when troubleshooting, so let's improve the initial...

a9d40c65 11/01/2012 03:00 pm Iustin Pop

Improve handling of lock exceptions

There are two issues with lock exceptions right now:

- first, we don't log the original error; this is fine for now
(locking.py always returns the same error here), but in general is
brittle: if locking.py would start returning more information, we'd...

0d324688 10/30/2012 04:07 pm Iustin Pop

Fix runtime memory increases

Commit 2c0af7da which added the runtime memory changes functionality
had a small typo (wrong name); I've rewritten this to only compute the
delta once, for simplicity.

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

8e66b9bf 10/30/2012 02:17 pm Iustin Pop

Fix validation of vgname in OpClusterSetParams

This variable can be empty, when we want to disable LVM, so we can't
use TMaybeString.

Fixes issue 285.

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

e5dfc531 10/30/2012 02:17 pm Iustin Pop

Fix removal of storage directory on shared file storage

This patch makes _RemoveDisks symmetric to _CreateDisks with respect
to file-based storage: _CreateDisks uses "in constants.DTS_FILEBASED",
whereas _RemoveDisks was not update and only uses "==
constants.DT_FILE". This results in stale directories left on the...

15361a18 10/30/2012 02:17 pm Iustin Pop

Switch non-redundant check to disk template-based

Currently, the warning/notice about non-redundant instances in cluster
verify is based non empty secondaries list (how old is this?); the
proper way to check this nowadays is via DTS_MIRRORED.

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

efd38c3d 10/30/2012 12:59 am Bernardo Dal Seno

Fix permission for socket directory

The directory must we writable also by the confd daemon user.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Iustin Pop <>

6022a419 10/29/2012 01:59 pm Iustin Pop

Add option to force master-failover without voting

This fixes issue 282.

Signed-off-by: Iustin Pop <>
Reviewed-by: Bernardo Dal Seno <>

5e09a309 10/26/2012 05:35 pm Michael Hanselmann

backend: Switch to new file storage directory verification

The configuration is no longer used for verifying file storage paths.

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

72b35807 10/26/2012 05:35 pm Michael Hanselmann

Check allowed file storage paths during cluster-verify

Some paths, such as /bin or /usr/lib, should not be used for file
storage. This patch implements a check during cluster verification to
fail in case such a path has been used.

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

78062de9 10/26/2012 05:33 pm Michael Hanselmann

Make Paramiko an optional dependency for listrunner

With the move away from “setup-ssh”, Paramiko is no longer necessary to
configure SSH on nodes.

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

8a670753 10/26/2012 05:27 pm Michael Hanselmann

Remove setup-ssh

It has been superseeded by “prepare-node-join”.

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

224ff0f7 10/26/2012 05:27 pm Michael Hanselmann

gnt-node add: Use prepare-node-join

This patch changes “gnt-node add” to use the newly added
“prepare-node-join” tool. Hereby Paramiko is no longer a hard dependency
for setting up SSH on nodes.

In “gnt_cluster.py”, a positional parameter is no longer passed as a...

f712208d 10/26/2012 05:27 pm Michael Hanselmann

prepare-node-join: Use ssh.GetAllUserFiles

Instead of building the dictionary locally, the global version in
“ssh.py” can be used.

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

5484cda5 10/26/2012 05:27 pm Michael Hanselmann

ssh: Add function to get all of user's SSH files

This new function returns the file paths for all of a user's SSH-related
files (RSA, DSA and authorized_keys).

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

d5d76ab2 10/26/2012 05:27 pm Michael Hanselmann

RunCmd: Support standard input file descriptor

This patch changes “utils.RunCmd” to accept a file-like object or a
numeric file descriptor which will be used as the command's standard
input. One use-case will be to pass all necessary data to
“prepare-node-join”....

feec4cc5 10/26/2012 03:37 pm Michael Hanselmann

Factorize job selection in “gnt-job cancel”

This will also be used for changing jobs' priorities. All parameters to
the common function are non-optional.

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

6b96df59 10/26/2012 03:37 pm Michael Hanselmann

utils.x509: Factorize code to extract X509 certificate

This will be useful in “gnt-node add”.

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

ebae9e37 10/26/2012 03:37 pm Michael Hanselmann

prepare_node_join: Move daemon SSH files to constants

This dictionary will also be useful in “gnt-node add”.

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

340ae7da 10/26/2012 03:37 pm Michael Hanselmann

prepare-node-join: Swap private and public keys

Other places, such as “ssh.GetUserFiles”, use a structure where the
private key comes before the private key. Until now prepare-node-join
did the opposite, that is the public key came first. To avoid confusion...

910ef222 10/26/2012 03:37 pm Michael Hanselmann

prepare-node-join: Use public key directly for auth…_keys

A public key already includes the necessary prefix (“ssh-rsa” or
“ssh-dss”), so there is no need to add it again.

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

7bd70e6b 10/26/2012 03:35 pm Michael Hanselmann

ssh.GetUserFiles: Parameter to disable directory check

Without this parameter, either an error would be raised or “.ssh” would
have to be created. Now it is possible to retrieve the paths without
requiring the “.ssh” directory to exist.

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

d976957d 10/26/2012 11:06 am Iustin Pop

Update instance modify message

Currently the message does not say explicitly that instance-initiated
reboots are useless to trigger the use of new parameters, per the
thread on the user mailing list. Let's improve it a bit.

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

86a24969 10/25/2012 08:57 pm Dato Simó

Errors.hs: improve field names for ConfigVersionMismatch

Change {exp,act}Code to {exp,act}Ver, which gives a better idea that
the integer fields represent version numbers.

Also:

- errors.py: update OpPrereqError's docstring to note that an error
code is always expected as the second argument (it was previously...
cd93a0ec 10/25/2012 06:47 pm Iustin Pop

Remove unused cache implementation

Note that this commit has no Makefile.am changes, as the files were
not actually used. So it's better to actually remove them.

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

15c118a4 10/25/2012 04:10 pm Michael Hanselmann

bdev: Remove unused import of itertools

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Michele Tartara <>

23e3c9b7 10/25/2012 03:18 pm Michael Hanselmann

bdev: Add verification for file storage paths

An earlier version of this patch series verified all paths in cmdlib in
the master daemon. With this change all that verification code is moved
to bdev to run inside the node daemon. The checks are much stricter...

aebd0e4e 10/25/2012 03:16 pm Michael Hanselmann

jqueue: Factorize code to modify job

A new function will be added to change a job's priority.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Bernardo Dal Seno <>

552328b8 10/25/2012 03:16 pm Michael Hanselmann

cli: Use callback for --priority

If the option is used elsewhere, the numeric value is directly
available.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Bernardo Dal Seno <>

bb921668 10/25/2012 03:16 pm Michael Hanselmann

jqueue: Add docstring for _DetermineJobDirectories

Somehow this was missed in commit 0422250e.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Helga Velroyen <>

42d49574 10/25/2012 03:16 pm Michael Hanselmann

jqueue: Fix comments in _SubmitJobUnlocked

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Helga Velroyen <>

c87440f5 10/25/2012 03:16 pm Michael Hanselmann

Drop SSHS_FORCE constant

It is not actually used.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Helga Velroyen <>

b183c4a8 10/23/2012 07:09 pm Iustin Pop

Improve logging of AssertionErrors

Currently, when we have an assertion error raised from cmdlib, it looks like this:

[cluster] root@node4:~# gnt-instance grow-disk instance1 0 1G
Failure: command execution error:

This is very very confusing. This patch adds a bit of traceback...

1facaf11 10/23/2012 07:08 pm Michael Hanselmann

tools.prepare_node_join: Fix pep8 errors

Pep8 didn't agree with the indentation.

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

d12b9f66 10/23/2012 06:32 pm Michael Hanselmann

Add initial implementation of prepare-node-join

This is a new tool as per the design document “design-ssh-setup”. It
receives a JSON data structure on its standard input and configures the
SSH daemon and root's SSH keys accordingly. Unit tests are included....

8a3c9e8a 10/23/2012 03:59 pm Michael Hanselmann

ssh.GetUserFiles: RSA support, unit tests

This patch changes “ssh.GetUserFiles” to support two different kinds of
SSH keys, RSA and DSA. Before it would always use DSA. Newly written
unit tests are included.

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

48e175a2 10/19/2012 05:55 pm Iustin Pop

Update blockdev's "info" at instance rename

Currently, we set "info" metadata on block devices at device creation
time, but we never update it, leading to stale data in case of
instance renames. This would not be a big problem in case of regular
renames (assuming this is a rare operation), but importing instances...

a1556cfa 10/19/2012 05:55 pm Iustin Pop

LVM: remove old tags when adding new ones

This patch adds a small helper function to clear an LV's tags, and
calls it at SetInfo time. We need this to be able to correctly track
instance renames, once we will call SetInfo at such times.

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

e398546b 10/19/2012 05:55 pm Iustin Pop

Add a small bdev helper function

I wanted to write that snippet the third time, which is too much :)

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

ba147ff8 10/19/2012 04:57 pm Iustin Pop

Fix disk adoption interaction with ipolicy checks

In Ganeti 2.6, disk adoption is broken due to the ipolicy checks being
done before we read volume size from remote nodes. We fix this by
simply moving these checks to after the disk adoption code which
updates the disk size; it's not that nice that we fail a (almost)...

0232b768 10/19/2012 02:43 pm Michael Hanselmann

Compare significant fields only for simple SSH keys

For simple SSH keys, that is those without options such as
“command="…"”, only the first two parts need to be compared. The third
field is a free-form comment.

This patch changes the comparison used in...

a4b247f0 10/18/2012 01:52 pm Michael Hanselmann

Merge branch 'devel-2.6'

  • devel-2.6:
    ensure-dirs: Don't accept arguments
    ensure-dirs: Fix program name on usage screen
    cli: Fix small typo

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

fca74633 10/18/2012 01:43 pm Michael Hanselmann

ensure-dirs: Don't accept arguments

Before they would just be silently ignored.

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

8d77ac10 10/18/2012 01:43 pm Michael Hanselmann

ensure-dirs: Fix program name on usage screen

No string replacements are used, so doubling of the percent sign is not
necessary.

Before: Usage: %ensure-dirs [--full-run]
After: Usage: ensure-dirs [--full-run]

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

659d769d 10/17/2012 07:45 pm Dato Simó

Merge branch 'devel-2.6' into master

  • devel-2.6:
    htools-excl.test: add test case for exclusion tags in hbal
    Instance.hs: rename 'tags' to 'exclTags', provide 'allTags'
    Group.hs: add 'allTags'; adjust loaders and test data for it
    Add hbal-excl-tags.data to Makefile.am, missed in 0397694...
90efd920 10/17/2012 06:44 pm Michael Hanselmann

cli: Fix small typo

s/it/if/

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Dato Simó <>
Reviewed-by: Helga Velroyen <>

6b6e335b 10/17/2012 04:13 pm Dato Simó

Group.hs: add 'allTags'; adjust loaders and test data for it

This commit adds a Group.allTags field to store the tags of node groups,
and teaches each loader backend in HTools to populate it (additionally, the
IAllocator class in lib/cmdlib.py now includes tags for groups too). Test...

a7862455 10/17/2012 02:56 pm Iustin Pop

Remove support for PUT in noded

This takes care of a FIXME; 2.6 already uses the new method, so we're
good during upgrades.

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

5a7cb9d3 10/17/2012 02:12 pm Iustin Pop

Ignore empty/comment lines in OS variants file

Per a conversation on :

- gnt-os diagnose ; gnt-os list take in consideration blank lines in
/etc/ganeti/instance-image/variants.list that could be confusing.

Let's fix this and also let's ignore comment lines....

e1c701e7 10/17/2012 02:12 pm Michael Hanselmann

gnt-job cancel: Confirmation and selection of jobs

New parameters, “--pending”, “--queued” and “--waiting”, are added to
select all jobs in the respective state. If one of those options is used
and “--force” is not given, the user is asked to confirm the operation....

1eaddbc6 10/16/2012 06:05 pm Michael Hanselmann

Add new constant for pending job status

This constant contains the job status' “queued”, “waiting” and
“cancelled”.

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

11f53fdb 10/16/2012 05:43 pm Michael Hanselmann

Merge branch 'devel-2.6'

  • devel-2.6:
    ensure-dirs: Fix permissions on master socket
    Update security document for version 2.6
    Update NEWS and bump version to 2.6.1
    Text.hs: update field lists in parseData comments

Conflicts:
NEWS: Trivial
lib/tools/ensure_dirs.py: constant moved to pathutils...

48e3db76 10/16/2012 05:38 pm Michael Hanselmann

ensure-dirs: Fix permissions on master socket

A socket shouldn't have its executable bit set.

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

300e5450 10/12/2012 01:37 pm Michael Hanselmann

errors: Document arguments to QueryFilterParseError

Also fix one small mistake in the docstring for QuitGanetiException.

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

8bd977e9 10/11/2012 03:34 pm Sébastien Bocahu

Add support for cpu_cap and cpu_weight Xen params

This patch adds support for Xen's CPU scheduler 'cpu_cap' and
'cpu_weight' parameters.

Ganeti default values (cap: 0=unlimited, weight: 256) are Xen defaults.

cpu_cap is not validated correctly because of actual Ganeti limitation...

47130d50 10/11/2012 01:05 pm Michael Hanselmann

LUClusterVerifyGroup: Localize virtual file paths

The check for file consistency didn't properly handle virtual paths
in case of a virtual cluster. This didn't cause any breakage as in
a standard virtual cluster setup with only one node all files are
visible for every node....

9fbf0098 10/11/2012 01:03 pm Iustin Pop

Enable query socket usage in gnt-node/gnt-group

This switches gnt-node/gnt-group (and their equivalent RAPI resources)
to go over the query socket.

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

fe4f6dca 10/11/2012 12:56 pm Michael Hanselmann

vcluster: Don't virtualize /etc/hosts path

/etc/hosts is a bit special as it's a system-wide file and the virtual
cluster/node root doesn't apply. The modification of /etc/hosts should
be disabled in virtual clusters. If it isn't, however, the vcluster
functions would raise an exception complaining about a path outside of...

72043dac 10/11/2012 12:56 pm Michael Hanselmann

cli: Stop hardcoding /etc/hosts path

There is a constant for this purpose.

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

ee045466 10/11/2012 12:56 pm Michael Hanselmann

Move constant for /etc/hosts to pathutils

Needed for coming patches.

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

6a74f584 10/11/2012 12:38 pm Michael Hanselmann

Merge branch 'devel-2.6'

  • devel-2.6:
    verify-disks: Explicitely state nothing has to be done
    Add list of design documents implemented in version 2.6
    Better list of replace-disks arguments + typos fixed
    jqueue: Look at archived jobs when watching
    Show old primary/secondary node on disk replacement...
c44356fd 10/11/2012 12:24 pm Michael Hanselmann

Merge branch 'stable-2.6' into devel-2.6

  • stable-2.6:
    verify-disks: Explicitely state nothing has to be done
    Add list of design documents implemented in version 2.6
    Better list of replace-disks arguments + typos fixed
    jqueue: Look at archived jobs when watching...
0422250e 10/11/2012 12:23 pm Michael Hanselmann

gnt-job: List archived jobs if requested

If requested via a filter or by including the “archived” output,
archived jobs will be loaded and shown. This is significantly slower
than just listing normal jobs, therefore by default they are not loaded
at all....

43d51ef2 10/11/2012 12:23 pm Michael Hanselmann

gnt-job list: Add option to include archived jobs

This provides a convenience option to include archived jobs in the
output list. It's equivalent to using “-o +archived”, but tab completion
is nicer.

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

4c27b231 10/11/2012 12:23 pm Michael Hanselmann

jqueue: Correct docstring

The description was not accurate.

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

8a3cd185 10/11/2012 12:23 pm Michael Hanselmann

jqueue: Add new in-memory attribute for archived jobs

This attribute is set to True for jobs which were restored from an
archived file. A new filter will act on this field.

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

52aa1efa 10/11/2012 12:23 pm Michael Hanselmann

query: Report data type for unary operators

All data kinds (used to restrict the data collected) referenced in a
filter can be requested once it's been “compiled”. However, the kinds
of fields used in boolean expressions (e.g. ["?", "xyz"]) were not
recorded. This patch changes the code accordingly and provides a unit...

9b99be28 10/11/2012 12:15 pm Michael Hanselmann

verify-disks: Explicitely state nothing has to be done

Example output:
$ gnt-cluster verify-disks
Submitted jobs 4327
Waiting for job 4327 ...
No disks need to be activated.

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

1ca7b773 10/11/2012 12:11 pm Michael Hanselmann

Add basic unit tests for "gnt-cluster epo"

This patch adds some unit tests for “gnt-cluster epo”. Not everything is
covered, but at least the bug fixed in the previous patch is.

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

3008f56c 10/10/2012 03:37 pm Iustin Pop

Fix pylint breakage due to unused var in gnt_cluster

The usage of that variable was removed in 45a36f36, but accidentally
the enumerate() was left in.

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

45a36f36 10/10/2012 02:27 pm Michael Hanselmann

cluster epo: Fix bug where IndexError is raised

Updating the “node_query_list” variable would fail if no arguments were
passed and the “--all” option wasn't specified. A follow-up patch will
add unit tests.

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

39d1744a 10/09/2012 01:46 pm Iustin Pop

Fix usage of errors.ResolverError

This exception is documented to have three arguments, but in one case
we raise it with a simple string argument. Let's fix that.

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

012f9bc3 10/09/2012 11:16 am Iustin Pop

Remove unused/deprecated error classes

It seems a few of the error classes are no longer used:

- LVMError, deprecated in 8c5533a5 (before ganeti 1.2.2!)
- ConfdRequestError, deprecated in b0dcdc10
- SshKeyError, introduced in the initial open source commit but never used (⁈)...

b3589802 10/08/2012 02:39 pm Michael Hanselmann

backend: Use utils.IsBelowDir instead of local code

utils.IsBelowDir is actually tested and doesn't allow writes to
“…/queue*”, like the old code here did.

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

4fdedd09 10/08/2012 02:39 pm Michael Hanselmann

jstore: Nicer error message on non-numeric file content

An error like “invalid literal for int() with base 10” can be quite
confusing.

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

8a6dbce8 10/05/2012 11:34 pm Michael Hanselmann

bdev: Remove unnecessary empty line

My local pylint didn't complain.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Bernardo Dal Seno <>

50c1e351 10/05/2012 07:32 pm Bernardo Dal Seno

Better list of replace-disks arguments + typos fixed

The man page and the bultin-in help for gnt-instance replace-disks were
inconsistent. Also fixed some typos in man pages.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Michael Hanselmann <>

3439fd6b 10/05/2012 07:27 pm Michael Hanselmann

Check fingerprint of file with allowed file storage paths

This makes differences show up in “gnt-cluster verify”.

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

43a8f36a 10/05/2012 07:23 pm Bernardo Dal Seno

Explicitly ask for the default iallocator in commands

Now "gnt-instance recreate-disks" uses the default iallocator when "." is
specified as the iallocator. For uniformity, the same behavior applies to
these commands:
gnt-node evacuate
gnt-instance migrate...

52ecc063 10/05/2012 07:23 pm Bernardo Dal Seno

Support for the default iallocator in replace-disks

"gnt-instance replace-disks" now behaves like the other commands, and uses
the default iallocator when "." is passed as the iallocator parameter.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Michael Hanselmann <>

fbdac0d9 10/05/2012 07:22 pm Michael Hanselmann

bdev: Add functions to verify file storage paths

- LoadAllowedFileStoragePaths: Loads a list of allowed file storage
paths from a file
- CheckFileStoragePath: Checks a path against the list of allowed paths

The unit test for “utils.IsBelowDir” is updated with cases which weren't...

e4cf42d4 10/05/2012 07:14 pm Michael Hanselmann

jqueue: Look at archived jobs when watching

First: This enables the use of “gnt-job watch $id” for archived jobs.

Now, the reason for actually making this work is that during
sufficiently large group or node evacuations jobs are archived before
the client gets to poll for their output. This led to situations where...

04569469 10/05/2012 06:46 pm Michael Hanselmann

jqueue: Look at archived jobs when watching

First: This enables the use of “gnt-job watch $id” for archived jobs.

Now, the reason for actually making this work is that during
sufficiently large group or node evacuations jobs are archived before
the client gets to poll for their output. This led to situations where...

63a3d8f7 10/05/2012 05:17 am Michael Hanselmann

backend: Check for shared storage also

If normal file storage was disabled but shared storage enabled,
“_TransformFileStorageDir” would still throw an exception.

in “opcodes._CheckStorageType” there's also a check, but I wasn't quite
sure what the correct way of handling it was, so I added a TODO comment....

6a9b9778 10/05/2012 04:52 am Michael Hanselmann

utils.FilterEmptyLinesAndComments: Return list

We don't use generators often and lists are easier to re-use.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Bernardo Dal Seno <>

fa8ef9d6 10/05/2012 04:50 am Michael Hanselmann

Wipe added space when growing disks

This patch adds code to wipe newly added disk space when growing disks
using “gnt-instance grow-disk”. “New disk space” is defined as the delta
between the old block device size (not necessarily equal to the amount
recorded in the configuration) and the new recorded size. Extra caution...

461eb201 10/04/2012 05:58 pm Michael Hanselmann

cmdlib._WipeDisks: Code formatting

- LogInfo takes *args, no need to replace values right away
- Don't overwrite wipe_chunk_size right after it's been set

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Bernardo Dal Seno <>

2cbe9af3 10/04/2012 04:42 pm Michael Hanselmann

Factorize removing comments and empty lines from string

This will also be used for verifying the file storage directory.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Bernardo Dal Seno <>

5506d7a9 10/04/2012 04:58 am Michael Hanselmann

ssconf: Fix mistake made in commit ee501db

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

ee501db1 10/04/2012 04:38 am Michael Hanselmann

Move a function from backend to ssconf

The “WriteSsconfFiles” function is used to write ssconf files. By moving
it we can avoid importing backend into bootstrap. The latter is imported
by CLI programs and backend doesn't have much to do with them.

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

f0f8d060 10/04/2012 02:58 am Michael Hanselmann

Show old primary/secondary node on disk replacement

People unfamiliar with Ganeti's internals might be confused with the
different hostnames showing up later in the process.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Bernardo Dal Seno <>

33e26038 10/03/2012 08:00 pm Michael Hanselmann

cmdlib: Change wording of messages during disk wipe

Error messages don't need to say “please” and it's already obvious some
investigation is needed. LogWarning already logs the message using
“logging.error” internally.

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

0188611b 10/03/2012 06:03 pm Michael Hanselmann

Remove constant for disk wipe block size

It is dangerous to have this block size as a global constant as that
could give the impression of it being easily changed. Doing so without
further adjustments to how “dd” is called will lead to disks not being
wiped properly....