Statistics
| Branch: | Tag: | Revision:

root / lib @ a9b42993

# Date Author Comment
a9b42993 05/26/2011 03:40 pm Michael Hanselmann

TLReplaceDisks: Move assertion checking locks

Commit 1bee66f3 added assertions for ensuring only the necessary locks
are kept while replacing disks. One of them makes sure locks have been
released during the operation. Unfortunately the commit added the check...

cb156a3e 05/24/2011 07:48 pm Iustin Pop

node evac: don't call IAllocator if no instances

Currently we generate an empty list only for the '-n node' invocation,
but for iallocator we still call the iallocator (which needs an RPC
call, etc.). By moving the computation of instances outside of the if...

9a914f7a 05/24/2011 12:37 pm René Nussbaumer

RPC/Backend: Make UploadFile uid and gid agnostic

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

b604d0c8 05/24/2011 12:37 pm René Nussbaumer

Resolve uid/gid upon mainloop run

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

44fbd23b 05/24/2011 12:37 pm René Nussbaumer

GetEntResolver: Make it possible to resolve uid/gid to name

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

0a9a0e5a 05/24/2011 12:37 pm René Nussbaumer

utils.algo: Add InvertDict to invert a dict

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

03881cb0 05/24/2011 12:37 pm René Nussbaumer

autotools: Add noded group

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

2ba39b8f 05/16/2011 04:24 pm Iustin Pop

Implement no_remember at RAPI level

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

885a0fc4 05/16/2011 04:24 pm Iustin Pop

Implement no_remember at CLI level

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

9b64e486 05/16/2011 04:24 pm Iustin Pop

Introduce instance start/stop no_remember attribute

This will allow stopping or starting an instance without changing the
remembered state. While this seems counter-intuitive at first (it will
create cluster verify errors), it can help in a few corner cases:...

f01738fc 05/12/2011 03:40 pm Iustin Pop

Preload the string-escape code in noded

This encoding, part of the standard Python installation, is used by
the pickle module (in turn used by subprocess when handling
failures in program execution). Preloading it means that Python will
cache it in memory so that even if the disk goes away or just the...

4b9e8c93 05/12/2011 03:40 pm Iustin Pop

Abstract ignore_consistency opcode parameter

Two opcodes already use it and we need it for a third, time to add a
constant for it.

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

bb851c63 05/12/2011 03:40 pm Iustin Pop

Fix a bug in LUInstanceMove

The opcode parameter ignore_consistency was used in the LU, but not
actually declared in the OpCode. The patch adds it in the opcode and
the command line client.

ObQuote — Please, please, can I have static typing?

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

b92a2f3e 05/11/2011 07:14 pm Iustin Pop

Try to prevent instance memory changes N+1 failures

There are multiple bugs with the code checking for N+1 failures in the
instance memory changes which needs significant changes, in the
meantime we can at least:

- change the warning message into an error (--force will skip checks)...

fba7f911 05/10/2011 07:40 pm Marco Casavecchia

Use floppy disk and a second CDROM on KVM

Hi all,
this patch will add 3 new KVM parameters and a new option.

New Parameters:
- floppy_image_path = "" -> Specify the floppy image to load as
floppy disk.
- cdrom2_image_path = "" -> Specify a second cdrom image to load on...

7adf7814 05/10/2011 11:48 am René Nussbaumer

Make root_path an optional hypervisor parameter

This will allow us an easy migration to pv-grub, because a set root_path
confused pv-grub.

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

519719fd 05/09/2011 02:22 pm Marco Casavecchia

Add 2 new variables to the OS scripts environment

Add INSTANCE_PRIMARY_NODE and INSTANCE_SECONDARY_NODES. These new
values are useful for OS scripts that needs to know the nodes where
the instance lives.. or has lived.

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

456798ab 05/09/2011 02:22 pm Iustin Pop

Add --no-wait-for-sync when converting to drbd

Currently, when converting an instance from plain to DRBD, the
instance is blocked during the entire resync period. This patch adds
the --no-wait-for-sync so that the operation finishes as soon as the
DRBD sync has started, without waiting for the entire sync. This makes...

c8a96ae7 05/09/2011 12:18 pm Iustin Pop

Recreate instance disks: allow changing nodes

This patch introduces the option of changing an instance's nodes when
doing the disk recreation. The rationale is that currently if an
instance lives on a node that has gone down and is marked offline,
it's not possible to re-create the disks and reinstall the instance on...

931413f6 05/06/2011 05:35 pm Iustin Pop

Rename instance: only show new name when different

It makes not sense to show messages like:
Fri May 6 02:04:01 2011 - INFO: Resolved given name 'instance18' to
'instance18'

So we'll skip the message if the resolved name is identical to the
requested one....

9d5b1371 05/06/2011 01:46 pm Michael Hanselmann

Fix race condition in LUGroupAssignNodes

The original code would get all node information and their groups
without before acquiring the necessary locks. With this patch the node
information is only retrieved once all locks have been acquired. Groups
are locked optimistically and verified after acquiring the node locks....

958d01f8 05/03/2011 06:53 pm Michael Hanselmann

cmdlib: Fix typo, s/nick/NIC/

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

8dddc5bc 05/03/2011 12:25 pm Iustin Pop

A small optimisation in cluster verify

This removes (count of instances + count of nodes) lock
acquires/releases.

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

72740756 05/02/2011 04:08 pm Iustin Pop

A few docstring fixes

At least one generates an epydoc error :)

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

d143f2c6 05/02/2011 03:41 pm Iustin Pop

luxi: do not handle KeyboardInterrupt

With the current code, it's possible to mistake a ^C for a protocol
error:

node1# gnt-job info 221691
[press ^C]
Unhandled protocol error while talking to the master daemon:
Error while deserializing response:

(and note empty error message)....

225e2544 05/02/2011 03:41 pm Iustin Pop

Handle EPIPE errors while writing to the terminal

This handles EPIPE errors in two places: ToStream (to catch logging
done in GenericMain itself) and in GenericMain (to cover also plain
print statements).

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

20d317d4 05/02/2011 03:41 pm Iustin Pop

Cluster verify: check for missing bridges

Currently cluster verify doesn't check for bridge information; the
only checks are done at instance create and failover/migrate
time. This means a cluster that seems healthy will fail creation jobs.

This patch implements a simple verification that all nodes (in the...

29b8eaee 04/29/2011 03:56 pm Michael Hanselmann

TLReplaceDisks: Use implicit loop for dictionary

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

1bee66f3 04/29/2011 03:55 pm Michael Hanselmann

Release unneeded locks while replacing disks

If an iallocator is used, “gnt-instance replace-disks” would acquire the
locks of all nodes (only the allocator will decide which node to use).
Unfortunately the unneeded locks were not released during the operation,...

07cba1bc 04/29/2011 03:41 pm Michael Hanselmann

locking: Export “list_owned” from lock manager

This is analog to “is_owned” and will be used for assertions.

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

d8d838cb 04/29/2011 03:41 pm Michael Hanselmann

gnt-instance: Fix typo in error message

The iallocator parameter is “-I”, not “-i”.

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

adc523ab 04/29/2011 03:05 pm Iustin Pop

mlock: fail gracefully if libc.so.6 cannot be loaded

This allows noded to continue instead of blowing up if the libc major
number changes.

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

87001920 04/28/2011 01:03 pm Iustin Pop

Allow creating the DRBD metadev in a different VG

This is a simple change to allow specifying a different VG for the
meta device during the creation of instances and addition of disks via
gnt-instance modify.

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

c260fa25 04/28/2011 01:03 pm Iustin Pop

Make _GenerateDRBD8Branch accept different VG names

This is a small change to make this function take a list of VG names,
instead of a single one.

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

1d39e245 04/28/2011 01:02 pm Iustin Pop

Fix WriteFile with unicode data

Unicode is fun, indeed:

len(buffer("abc"))

3

len(buffer(u"abc"))

12

So we can't pass unicode data to buffer(), as the result will be to
write the in-memory (usually UTF-32) representation to disk.

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

88aa7f66 04/27/2011 06:26 pm Doug Dumitru

Fix for multiple VGs - PlainToDrbd and replace-disks

Converting an instance from 'plain' to 'drbd'. The old code would
create the drbd volumes in the default VG and then the renames would
fail. This fix pulls the plain VG names from the existing volumes and...

fd09d178 04/27/2011 06:26 pm Iustin Pop

Replace disks: keep the meta device in the same VG

This patch enhances the multi-VG support in replace disks, by keeping
the meta device in the same VG, as opposed to moving it to the data
device VG (note that we don't have a way to create the meta in a
different VG in the first place, but at least we correctly handle a...

cce6f357 04/27/2011 06:26 pm Iustin Pop

Fix punctuation in an error message

IIRC we don't use punctuation at the end of error messages.

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

d833acc6 04/27/2011 06:26 pm Iustin Pop

Prevent readding of the master node

This breaks Ganeti in multiple ways. If we don't make the check in
gnt-node itself, then bootstrap.SetupNodeDaemon will restart the
master daemon, making the operation fail:

node1# gnt-node add --readd node1
Cannot communicate with the master daemon....
2db04578 04/27/2011 06:26 pm Iustin Pop

Improve error messages in cluster verify/OS

A few issues in the clarity of the error messages are fixed:

- "ERROR: node node3: OS API version lenny-image": no preposition
between the parameter type and the OS name, changed to "for
lenny-image"

- "API version lenny-image differs from reference node node1: 10, 5...

437c3e77 04/27/2011 06:26 pm Iustin Pop

Fix potential data-loss in utils.WriteFile

os.write can do incomplete writes, as long as at least some bytes have
been written (like write(2)):

os.write(fd, " " * 1300)

1300

os.write(fd, " " * 1300)

1300

os.write(fd, " " * 1300)

1300

os.write(fd, " " * 1300)...

dadf6b7d 04/21/2011 03:41 pm Michael Hanselmann

cli: Fix wrong argument kind for groups

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

97b40f39 04/20/2011 03:37 pm Michael Hanselmann

Fix typo in LUGroupAssignNodes

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

5c097318 04/20/2011 02:54 pm Iustin Pop

gnt-instance info: automatically request locking

Commit dae661a4 added support for controlling the locking, but it
didn't modify the gnt-instance info code, which leads to this command
always showing:

Wed Apr 20 04:10:48 2011 - WARNING: Non-static data requested, locks...

675e2bf5 04/19/2011 07:41 pm Iustin Pop

Fix master IP activation in failover with no-voting

Thanks to for reporting this. The logic in
masterd.CheckMasterd did an early return in case of no_voting, hence
skipping the master IP activation. We just change the ifs to not
return but simply continue through the function....

6e7f0cd9 04/19/2011 06:41 pm Iustin Pop

disk wiping: fix bug in chunk size computation

The current wipe_chunk_size computation is doing min(int_value,
float_value). For small disks (below 10GiB), the actual formula will
result into the float value being chosen. This results into very
interesting behaviour:...

a0aa6b49 04/19/2011 03:38 pm Michael Hanselmann

Fix bug in watcher

If “utils.RunParts” were to raise an exception, a log message was
written and the code continued to run. Due to the exception the
“results” variable would not be defined.

Also change the code to log a backtrace (getting an exception is rather...

4a2c0db0 04/14/2011 01:33 pm Michael Hanselmann

Release locks before wiping disks during instance creation

Ganeti 2.3 introduced an optional feature to overwrite an instance's
disks on creation. Unfortunately the code kept all locks while doing the
wipe, slowing down the creation of multiple instances in parallel....

a9d68e40 04/13/2011 01:01 pm Michael Hanselmann

utils.WriteFile: Close file before renaming

Issue 154 (http://code.google.com/p/ganeti/issues/detail?id=154)
reported an “Operation not supported” error when writing instance
exports to a mounted CIFS filesystem. Experimentation showed the error
to only occur when using rename(2) on an opened file. Various references...

accbf5e3 04/13/2011 01:01 pm Michael Hanselmann

Nicer formatting for group query error

Before this patc the message would look like “Some groups do not exist:
[u'foo', u'bar']”, now it's “Some groups do not exist: foo, bar”.

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

76ae1d65 04/07/2011 12:46 pm Michael Hanselmann

Merge branch 'stable-2.4' into devel-2.4

  • stable-2.4:
    Add error checking and merging for cluster params
    Clarify --force-join parameter message
    Treat empty oob_program param as default
    Fix bug in instance listing with orphan instances
    Fix bug related to log opening failures...
dae661a4 04/06/2011 07:47 pm Michael Hanselmann

LUInstanceQueryData: Don't acquire locks unless requested

Until now LUInstanceQueryData always acquired locks for the instance(s)
and nodes involved. In combination with long-running operations this
prevented the use of “gnt-instance info”, even with the “--static”...

d385a174 04/06/2011 03:49 pm Iustin Pop

Increase the lock timeouts before we block-acquire

This has been observed to cause problems on real clusters via the
following mechanism:

- a long job (e.g. a replace-disks) is keeping an exclusive lock on an
instance
- the watcher starts and submits its query instances opcode which...

fe295df3 04/04/2011 02:47 pm Iustin Pop

daemon.py: move startup log message before prep_fn

Before this, the output in the rapi daemon log was:
2011-04-04 03:09:51,026: ganeti-rapi pid=17447 INFO Reading users file
at /var/lib/ganeti/rapi/users
2011-04-04 03:09:51,027: ganeti-rapi pid=17447 INFO ganeti-rapi daemon...

0942620b 04/04/2011 02:47 pm Iustin Pop

Display the actual memory values in N+1 failures

This changes the display from:
Mon Apr 4 02:29:46 2011 * Verifying N+1 Memory redundancy
Mon Apr 4 02:29:46 2011 - ERROR: node node2: not enough memory to
accomodate instance failovers should node node1 fail...

ebcd61bb 03/31/2011 07:47 pm Iustin Pop

ssh.VerifyNodeHostname: remove the quiet flag

This is not needed for this function, and can interfere with debugging
of ssh failures.

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

d1b47b16 03/24/2011 02:49 pm Michael Hanselmann

Fix output for “gnt-job info”

If the result of an opcode was a non-empty dictionary, it
would be impossible to differenciate between input and result:

Input fields:
[…]
debug_level: 0
fields: cluster_name,master_node,volume_group_name
jobs: [[True, u'37922'], [True, u'37923'], [True, u'37924']]...
f0a80b01 03/17/2011 06:39 pm Michael Hanselmann

watcher: Fix misleading usage output

When “ganeti-watcher” is called with an argument, it would hint at
a non-existing “-f” parameter. With this patch the separate usage
string is no longer necessary.

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

50769215 03/17/2011 12:17 pm Stephen Shirley

Clarify --force-join parameter message

This isn't only used during cluster merge.

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

e4e35357 03/16/2011 07:37 pm Michael Hanselmann

locking: Fix race condition in lock monitor

In some rare cases it can happen that a lock is re-created very soon
after deletion, while the old instance hasn't been destructed yet. In
such a case the code would detect a duplicate name and raise an
exception....

7d4da09e 03/15/2011 02:50 pm Michael Hanselmann

utils: Export NiceSortKey function

The ability to split a string into a list of strings and integers can be
handy elsewhere and is necessary for sorting query results by names.

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

d62ed502 03/10/2011 04:45 pm Stephen Shirley

Treat empty oob_program param as default

There is currently no way to reset oob_program back to its default from
the cmdline, which causes problems for cluster-merge. This patch means
that the following now works:
gnt-cluster modify --node-parameters oob_program=...

377972f4 03/10/2011 04:30 pm Iustin Pop

Fix bug in instance listing with orphan instances

Nodes can return unknown instances, so we shouldn't use the name as an
index without checking.

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

c24e519e 03/10/2011 04:29 pm Iustin Pop

Fix bug related to log opening failures

If opening the log file fails, then we shouldn't attempt to use that
variable.

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

37aeca89 03/07/2011 12:36 pm Iustin Pop

Merge branch 'devel-2.3' into devel-2.4

  • devel-2.3:
    Fix LUClusterRepairDiskSizes and rpc result usage
    Fix RPC mismatch in blockdev_getsize[s]
    RAPI: fix evacuate node resource

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

2ca60304 03/07/2011 10:59 am Iustin Pop

Merge branch 'devel-2.2' into devel-2.3

  • devel-2.2:
    Fix LUClusterRepairDiskSizes and rpc result usage
    Fix RPC mismatch in blockdev_getsize[s]

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

e50d8807 03/04/2011 12:41 pm Iustin Pop

Fix LUClusterRepairDiskSizes and rpc result usage

This LU was introduced before the RPC result conversion from .data to
.payload, and it has managed to keep the old-style usage (how? it's
the only LU that does so). Fix by changing to payload, and add some...

4ae52cc6 03/04/2011 12:41 pm Iustin Pop

Fix RPC mismatch in blockdev_getsize[s]

Commit 92fd2250 added consistency checks in the RPC layer, which broke
the call_blockdev_getsizes RPC call (declared with 's' at the end in
rpc.py, without 's' in the node daemon).

The immediate fix is to correct the rpc function name, the long term...

63ea9789 03/04/2011 12:34 pm Iustin Pop

RAPI: fix evacuate node resource

PollJob returns the whole op_results, hence a list of opcode results.

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

df1f3c62 03/02/2011 11:36 pm Guido Trotter

Merge remote branch 'stable-2.4' into devel-2.4

  • origin/stable-2.4:
    Fix typo in kvm-ifup script
    NEWS: Replace smartquotes, start lines with uppercase
    Update NEWS and release 2.4.0 rc3
    Fix potential data-loss bug in disk wipe routines

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

3ae70d76 02/28/2011 08:40 pm Michael Hanselmann

Fix LU processor's GetECId

The exception was never actually raised.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Adeodato Simo <>

de039dd4 02/28/2011 04:08 pm Iustin Pop

Merge branch 'devel-2.4' into stable-2.4

  • devel-2.4:
    1-char comment typo fix
    Expand some acronyms, add to glossary
    query_unittest: Fix argument to set()

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

4ecb94d5 02/28/2011 02:56 pm Iustin Pop

Fix potential data-loss bug in disk wipe routines

For the 2.4 release, we only add the missing RPC calls. However, this
needs to be fixed properly, by preventing usage of mis-configured
disks.

Also add a bit more logging so that it's directly clear on which node...

73f1d185 02/25/2011 05:18 pm Stephen Shirley

1-char comment typo fix

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

3d5ebbf0 02/24/2011 06:33 pm Stephen Shirley

Expand some acronyms, add to glossary

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

f5182ecb 02/22/2011 08:03 pm Michael Hanselmann

Fix title of query field containing instance name

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

b31393a1 02/21/2011 12:07 pm Iustin Pop

Merge branch 'devel-2.4' into stable-2.4

  • devel-2.4: (23 commits)
    Fix pylint warnings
    Change the list formatting to a 'special' chars
    Add support for merging node groups
    Add option to rename groups on conflict
    Fix minor docstring typo
    Fix HV/OS parameter validation on non-vm nodes...
f0b1bafe 02/18/2011 04:47 pm Iustin Pop

Change the list formatting to a 'special' chars

And also enable verbose display via the, well, verbose option. Man
page and tests are updated, and the formatting is moved from 4 if
statements to a data structure.

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

fecbc0b6 02/18/2011 04:35 pm Stephen Shirley

Fix minor docstring typo

Signed-off-by: Stephen Shirley <>
Reviewed-by: Iustin Pop <>

bd0807fe 02/18/2011 02:16 pm Guido Trotter

RAPI: remove required parameters for reinstall

Before c744425f354f1bef2d0d7d306e2d00c494d67d2b instance reinstall
accepted the "os" and "nostartup" optional query parameters. With that
commit it was changed to allow "os" "start" and "osparams" via body
rather than encoded in the URL. Unfortunately that commit introduced a...

74f258b6 02/17/2011 07:25 pm Iustin Pop

NodeQuery: don't query non-vm_capable nodes

Because non-vm_capable nodes most likely don't have a hypervisor
configured and/or storage, so the call will fail anyway.

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

effab4ca 02/17/2011 07:25 pm Iustin Pop

NodeQuery: mark live fields as UNAVAIL for non-vm_capable nodes

Since we don't have the data per design, UNAVAIL is appropriate here,
while NODATA is not.

The patch also adds a comment: if we extend the live fields list to
contain other data in the future, we need to reevaluate this solution....

9c24736c 02/17/2011 07:25 pm Iustin Pop

Fix HV/OS parameter validation on non-vm nodes

Currently, there is at least one LU that does wrong validation of HV
parameters (against all nodes, LUClusterSetParams). It's possible to
fix this case, but I went and modified the base functions to filter
out non-vm_capable nodes so all callers are protected....

043beb38 02/17/2011 07:24 pm Iustin Pop

Fix LUClusterRepairDiskSizes and rpc result usage

This LU was introduced before the RPC result conversion from .data to
.payload, and it has managed to keep the old-style usage (how? it's
the only LU that does so). Fix by changing to payload, and add some...

ccfbbd2d 02/17/2011 07:24 pm Iustin Pop

Fix RPC mismatch in blockdev_getsize[s]

Commit 92fd2250 added consistency checks in the RPC layer, which broke
the call_blockdev_getsizes RPC call (declared with 's' at the end in
rpc.py, without 's' in the node daemon).

The immediate fix is to correct the rpc function name, the long term...

80a01808 02/10/2011 06:00 pm Iustin Pop

Fix bug in iallocator data structures build

Commit a1cef11c fixed non-vm_capable nodes export, but broke
inadvertently offline nodes. The update of the dict only needs to
happen for online nodes, in the 'if' block.

Without this patch, offline nodes keep the data from the last node...

11dcce87 02/09/2011 01:23 pm Iustin Pop

Fix error msg for instances on offline nodes

Currently, for both primary and secondary offline nodes, we give the
same message:
- ERROR: instance instance14: instance lives on offline node(s) node3
- ERROR: instance instance15: instance lives on offline node(s) node3...

a3de2ae7 02/09/2011 10:53 am Iustin Pop

cluster verify and instance disks on offline nodes

Currently, cluster-verify says:

- ERROR: instance instance14: couldn't retrieve status for disk/0 on node3: node offline
- ERROR: instance instance14: instance lives on offline node(s) node3
- ERROR: instance instance15: couldn't retrieve status for disk/0 on node3: node offline...

f7661f6b 02/09/2011 10:52 am Iustin Pop

Cluster verify and N+1 warnings for offline nodes

Currently, cluster verify shows warnings N+1 warnings for offline
nodes having any redundant instances since the memory data that we
have for those nodes is zero, so any instance will trigger the
warning....

c37bb2c6 02/08/2011 02:41 pm Stephen Shirley

Handle gnt-instance shutdown --all for empty clusters

The current code gives:
Failure: prerequisites not met for this operation:
error type: wrong_input, error details:
Selection filter does not match any instances

Signed-off-by: Stephen Shirley <>...

61413377 02/04/2011 04:21 pm Stephen Shirley

Add --force-join option to gnt-node add

This is needed so cluster-merge can add nodes from other clusters.

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

81635b5a 02/03/2011 06:02 pm Iustin Pop

Bump up intra-cluster import connect timeout

Currently, the export timeout is 10 times 20 seconds, but the import
is only 30 seconds. I'm raising this to 60 seconds with two goals in
mind:

- when debugging manually, this allows for easier synchronisation of...

c9300bb3 02/03/2011 04:52 pm Iustin Pop

Import-export: fix logging of daemon output

In case of failures, the recent daemon output is logged as %r on a
list of unicode strings, which results in the (ugly):

Thu Feb 3 05:13:34 2011 snapshot/0 failed to send data: Exited with status 1 (recent output: [u' DUMP: Date of this level 0 dump: Thu Feb 3 05:13:18 2011', u' DUMP: Dumping /dev/mapper/6369a5f7-1e67-4d0d-a4f0-956b3649c6d7.disk0_data.snap-1 (an unlisted file system) to standard output', u' DUMP: Label: none', u' DUMP: Writing 10 Kilobyte records', u' DUMP: mapping (Pass I) [regular files]', u' DUMP: mapping (Pass II) [directories]', u' DUMP: estimated 54301 blocks.', u' DUMP: Volume 1 started with block 1 at: Thu Feb 3 05:13:19 2011', u' DUMP: dumping (Pass III) [directories]', u' DUMP: dumping (Pass IV) [regular files]', u'socat: E SSL_write(): Connection reset by peer', u"dd: dd: writing `standard output': Broken pipe", u' DUMP: Broken pipe', u' DUMP: The ENTIRE dump is aborted.'])...

8a53b55f 02/03/2011 02:42 pm Iustin Pop

Fix handling of ^C in the CLI scripts

This adds a message and nice handling of ^C, especially useful for
``gnt-job watch``.

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

ee841437 02/03/2011 01:38 pm Michael Hanselmann

Merge branch 'devel-2.3' into devel-2.4

  • devel-2.3:
    backend: Disable compression in export info file

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

775b8743 02/03/2011 01:38 pm Michael Hanselmann

backend: Disable compression in export info file

The new import/export infrastructure in Ganeti 2.2 and up handles
compression differently. It no longer writes compressed files to the
destination. Unfortunately changing this behaviour would be non-trivial,...

9a6813ac 02/02/2011 06:02 pm Michael Hanselmann

utils.SetupLogging: Return function to reopen log file

This function can be used from a SIGHUP handler to reopen log files.
Initial, simple unittests are included.

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

8cabf472 02/02/2011 06:02 pm Michael Hanselmann

Reopen log files upon SIGHUP in daemons

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

cfcc79c6 02/02/2011 06:02 pm Michael Hanselmann

utils.SetupLogging: Make program a mandatory argument

It's passed in by most users (daemons, CLI scripts) and for the others
(burnin, watcher) it certainly doesn't hurt, especially when using
syslog.

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

aa0cc3e5 02/02/2011 05:57 pm Michael Hanselmann

utils.log: Restrict I/O error handling coverage

The I/O error will occur while opening the file, not while adding
and configuring the handler.

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