- Feb 26, 2010
-
-
Michael Hanselmann authored
The first can be problematic if poll(2) returns POLLHUP|POLLERR on a socket. Before it would be only be respected for SOCKOP_RECV, but since they can also occur on other socket operations, esp. in combination with OpenSSL, letting the socket functions handle POLLHUP|POLLERR seems to be the right thing. The second is a typo leading to an endless loop if the first line of an HTTP connection is empty (simply "\r\n"). Instead of removing the empty line, it would remove anything after it. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
LUQueryConfigValues supports multiple output fields. If the client asked for the watcher pause status, it would not get a list, but simply the value. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Feb 25, 2010
-
-
Michael Hanselmann authored
The first argument to _ErrorIf should always be True in this case. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Feb 18, 2010
-
-
Iustin Pop authored
In case we add a node with “--no-ssh-key-check”, this should override any default yes/ask values in the system-wide (or user) ssh key check. Currently this only works in batch mode, whereas in non-batch we only override a 'no'. The patch fixes SshRunner such that in non-batch mode we enforce the value of StrictHostKeyChecking in all cases. Bug found and initial investigation by Theo Van Dinter. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Feb 10, 2010
-
-
Michael Hanselmann authored
While commit 413b7472 fixed the issue of poll(2) returning too soon, it didn't work when the poll(2) call should've been blocking. This is now fixed and verified. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Iustin Pop noticed unusually high CPU usage with 2.1's master daemon, even with very simple opcodes like OP_TEST_DELAY. As it turns out, we inadvertently passed seconds as milliseconds to a call to poll(2). Due to the way the loop around the call works it didn't break competely, but caused higher CPU usage by the poll(2) call returning too early. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Feb 08, 2010
-
-
Michael Hanselmann authored
When evacuating nodes, the iallocator was run for all instances without taking planned changes into consideration. This patch delays part of CheckPrereq and running the iallocator for node evacuation. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Feb 03, 2010
-
-
Iustin Pop authored
This doesn't implement the full functionality, we need to add the debug level to the opcodes too, but at least won't require changing the RPC calls during the 2.1 series. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Michael Hanselmann authored
My previous patch, commit 785d142e, fixed the case where a node is marked offline. With this patch it'll also handle other failures correctly. * Hooks Results - ERROR: node node2.example.com: Communication failure in hooks execution: Connection failed (111: Connection refused) Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
[…] * Other Notes - NOTICE: 1 offline node(s) found. * Hooks Results Failure: command execution error: iteration over non-sequence Commit a0c9776a introduced an error simulation mode to LUVerifyCluster. Due to a small mistake, offline nodes weren't skipped when checking the results of verification hooks and iterating over None raises an “iteration over non-sequence” error. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Before this patch, it would always sleep for at least the time specified as the upper limit. Now it actually limits the sleep time. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Feb 01, 2010
-
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jan 29, 2010
-
-
Alessandro Cincaglini authored
Xen instances nic definitions miss the target bridge. This bug was introduced in commit 503b97a9. Signed-off-by:
Alessandro Cincaglini <alessandro.ciancaglini@gmail.com> Reviewed-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com> Signed-off-by:
Guido Trotter <ultrotter@google.com>
-
- Jan 28, 2010
-
-
Guido Trotter authored
Currently unofflining or undraining an already functional master candidate node, can cause it to demote itself. In order to avoid that we only trigger the self-promotion check if the node is not currently a candidate. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jan 22, 2010
-
-
Guido Trotter authored
Specify string format arguments as logging function parameters Signed-off-by:
Guido Trotter <ultrotter@google.com>
-
Guido Trotter authored
Before, when doing kvm live migrations we use to accept an "unknown status" but to reject anything that didn't match our regexp. Since we've seen "info migrate" return a completely empty answer, we'll be more tolerant of completely unknown results (while still logging them) and at the same time we'll limit the number of them which we're willing to accept in a row. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jan 20, 2010
-
-
Michael Hanselmann authored
Commit 9fe72672 added code to not write spaces at the end of each line. Unfortunately it didn't work properly when not printing headers—there would still be spaces. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jan 14, 2010
-
-
Guido Trotter authored
Since the peer list is shuffled by the client, we don't keep a reference to the list which was passed in, but copy it internally. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jan 13, 2010
-
-
Guido Trotter authored
This makes it slightly easier to cut&paste its content. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Michael Hanselmann authored
When the queue was empty, the calculation for unchecked jobs while archiving would return -1. ``last_touched`` is set to 0, the job ID list (``all_job_ids``) is empty. Calculating ``len(all_job_ids) - last_touched - 1`` resulted in -1. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
With this change, there won't be unnecessary space characters at the end of lines. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Before it would log something like “starting task (<ganeti.http.client._HttpClientPendingRequest object at 0x2aaaad176790>,)”, which isn't really useful for debugging. Now it'll log “[…] <ganeti.http.client._HttpClientPendingRequest req=<ganeti.http.client.HttpClientRequest 172.24.x.y:1811 PUT /node_info at 0x2aaaaab7ed10> at 0x2aaaaab823d0>”. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
This way it shows up in debug logs. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Having a proper name instead of just a number makes debugging easier. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
This patch fixes a race condition when acquiring all locks in a LockSet instance. The list of lock names needs to be sorted to guarantee a consistent locking order, but the names were not sorted when acquiring all locks in the set. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Reading and comparing sorted lists is easier when debugging locking problems. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Michael Hanselmann authored
In case an exception was thrown while acquiring the lock, not necessarily all owned locks are also really acquired. Before this change, an exception could be masked by another exception thrown here. There is no good clean-up strategy when acquiring a lock fails with an exception in either case. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jan 11, 2010
-
-
René Nussbaumer authored
This change will normalize the MAC to all lower after validation. Signed-off-by:
René Nussbaumer <rn@google.com> Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jan 05, 2010
-
-
Iustin Pop authored
This changes from submitting jobs to get the tags (in cli scripts) to queries, which (since the tags query is a cheap one) should be much faster. The tags queries are already done without locks (in the generic query paths for instances/nodes/cluster), so this shouldn't break tags query via gnt-* list-tags. On a small cluster, the runtime of gnt-cluster/gnt-instance list tags more than halves; on a big cluster (with many MCs) I expect it to be more than 5 times faster. The speed of the tags get is not the main gain, it is eliminating a job when a simple query is enough. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
Since the cluster name might be used for various purposes on nodes, we should let all nodes "know" about a cluster rename by running the post hook on all nodes. This will make cluster rename slightly slower/costlier, but it is not/shouldn't be an operation that is run very often. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Olivier Tharan <olive@google.com>
-
- Jan 04, 2010
-
-
Iustin Pop authored
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 <iustin@google.com> Reviewed-by:
Olivier Tharan <olive@google.com>
-
Iustin Pop authored
A piece of old code in bdev.py uses a for loop over a single variable because we can 'break' out of the loop or exit on the 'else' path. This is not a nice usage of the for loop, it should be converted to a standard if...elif...else structure. In the meantime we silence a warning from pylint (it is actually invalid, IMHO) and add a TODO. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Olivier Tharan <olive@google.com>
-
Iustin Pop authored
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 <iustin@google.com> Reviewed-by:
Olivier Tharan <olive@google.com>
-
Iustin Pop authored
The node_list argument to _DiagnoseByOS is not used, and is obsoleted by the fact that the rlist argument already has the valid nodes as keys (assuming RPC behaviour didn't change). Thus, we remove it and silence the warning. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Olivier Tharan <olive@google.com>
-
Iustin Pop authored
The disk template is not needed, all that's used is the disk data. As such, remove this parameter from the function. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Olivier Tharan <olive@google.com>
-
Iustin Pop authored
Currently only the rpc call, but not its description (which also shows the argument) is logged. We change this to log failmsg too, and this also silences a warning. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Olivier Tharan <olive@google.com>
-
Iustin Pop authored
So we just silence the warning. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Olivier Tharan <olive@google.com>
-
Iustin Pop authored
The 'name' argument is not used anymore, probably since before 2.0. Since this is an internal function, we can just remove it (from its caller too). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Olivier Tharan <olive@google.com>
-