- Feb 11, 2010
-
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
This reverts commit 83d9f436. man is still unable to wrap some long lines, so we simply revert this patch (and filter out the specific message in autotools/check-man). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
This should fix issue 68: some hooks should be run on more nodes than currently. GrowDisk runs on both nodes, remove run the post hook on the instance's nodes, and failover and migrate run the post hook on the source node too. Thanks to Maxence for the initial investigation and patch. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Per issue 71, the migrate and failover need special variables for keeping the nodes consistent during instance migrations. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
A long PREFIX variable (to configure) will result in very long LOCALSTATEDIR, which when concatenated with lib/ganeti/ (and even more items under it) will go over the 80 char line length we enforce in the man checker. To workaround this, we change two things: - use a specific REPLACE_VARS_MAN which adds breaking points after each slash in paths - replace some <filename> entries with <literallayout> so that docbook generates a non-fill block around them (only a few cases need this after the breaking points are added Note that with normal prefixes (e.g. / or /usr/local) this won't happen. The patch also fixes a wording in the watcher man page. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
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 <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
This patch changes SubmitOpCode and SubmitOrSend such that we have a single function that does generic CLI options to opcode attributes function. This will allow, once all scripts pass the opts argument to SubmitOpCode, to pass the debug parameter or the dry-run one to the LUs. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
This changes from boolean to integer/count (for a future differentiation based on the actual debug level). All the uses of the code only test it's boolean status, so it still works as an integer value. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Also automatically fix opcodes which have this missing in the LU init routine. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Feb 10, 2010
-
-
Iustin Pop authored
Commit 154b9580 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 across all parent classes (if any), and use this instead of __slots__ directly. Note: the _all_slots() function is duplicated between objects.py and opcodes.py, but the only other options is to introduce a lang.py for such very basic language items. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Michael Hanselmann authored
One fix is necessary in gnt-cluster.sgml. Also adding “DELETE_ON_ERROR” target to remove output file if an error occurred while building it (in this case the manpage). This was reported by Iustin Pop in issue 87 and proposed check method taken from Lintian. http://code.google.com/p/ganeti/issues/detail?id=87 Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Feb 09, 2010
-
-
Iustin Pop authored
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 secondary nodes are released early. This is valid for change secondary (where we remove the storage on the old secondary, and release the locks on the old and new secondary) and replace on secondary (where we remove the old storage and release the lock on the secondary node. Using this, on a three node setup: - instance1 on nodes A:B - instance2 on nodes C:B It is possible to run in parallel a replace-disks -s (on secondary) for instances 1 and 2. Replace on primary will remove the storage, but not the locks, as we use the primary node later in the LU to check consistency. It is debatable whether to also remove the locks on the primary node, and thus making replace-disks keep zero locks during the sync. While this would allow greatly enhanced parallelism, let's first see how removal of secondary locks works. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Feb 08, 2010
-
-
Iustin Pop authored
* stable-2.1: TLReplaceDisks: Delay iallocator when evacuating node Implement debug level across OS-related RPC calls Second try to fix LUVerifyCluster LUVerifyCluster: Fix bug with offline nodes utils: Fix retry delay calculator Bump RPC protocol version to 30 Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
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>
-
Michael Hanselmann authored
* origin/stable-2.1: Bump version to 2.1.0~rc5 Fix missing bridge for xen instances Fix flipping MC flag bug ganeti-watcher: ensure confd is running as well
-
Michael Hanselmann authored
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>
-
Iustin Pop authored
* devel-2.0: Three small typos in man pages Conflicts: man/gnt-cluster.sgml (trivial) Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
… instead of disk size, which is not as reliable. This actually simplifies the code; but it still leaves the possibility of stack overflows if the disk data structure is corrupted. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
The credit goes again to Lintian. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@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>
-
Guido Trotter authored
Ganeti-confd should be running on all 2.1 nodes. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Iustin Pop authored
This patch adds a configure-time parameter that will set the defaults used by all programs, and command-line parameters in the daemons that allow overriding it. Syslog 'yes' enables syslog in addition to file-based logging, 'only' enables syslog and disables file-based syslog. The log entries will be of the form: Jan 27 08:45:04 node2 ganeti-noded[14504]: INFO 172.24.227.5:50850 PUT /jobqueue_update HTTP/1.0 200 Jan 27 08:45:05 node2 ganeti-noded[14505]: INFO 172.24.227.5:50853 PUT /lv_list HTTP/1.0 200 and (for a multi-threaded program): Jan 27 08:51:48 node1 ganeti-masterd[15491]: (MainThread) INFO ganeti-masterd daemon startup Jan 27 08:51:49 node1 ganeti-masterd[15491]: (MainThread) INFO Inspecting job queue Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Jan 27, 2010
-
-
Iustin Pop authored
In case the queue dir cannot be create/initialized, currently ganeti-noded exits. This means that a read-only filesystem or a permission error breaks all node daemon functionality, including powercycle. This is not good for the usual failure case for nodes. To workaround this, we don't require successful initialization at node daemon startup; if we can't init the queue dir/lock, we retry at every RPC call requiring a job queue lock, and if we still can't acquire the lock, we raise an exception (which is catched in HandleRequest and transformed into an RPC failure). This allows the node daemon to start in face of queue issues, and the master node to power-cycle it. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
If the open of the lock file fails (due to whatever reason), 'self' won't have the 'fd' attribute, and thus we fail in Close/__del__, which will ruin proper error reporting: IOError: [Errno 30] Read-only file system: '/var/lib/ganeti/queue/lock' Exception exceptions.AttributeError: "'FileLock' object has no attribute 'fd'" in <bound method FileLock.__del__ of <ganeti.utils.FileLock object at 0x2aaaad0bebd0>> ignored Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
In some versions of bash, here-docs and here-strings use temporary files, which means daemon-util needs a writable temporary filesystem. Since echo is a bash builtin anyway, it's simple to switch to it and remove this dependency. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Michael Hanselmann authored
The variable is called “IMPORT_INDEX”, not “IMPORT_IDX”. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
This patch missing @type information for all public methods, modifies one to conform to the rest, and removes some information from @param when it's been expressed in @type. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Balazs Lecz authored
According to http://docs.python.org/reference/datamodel.html#slots * The action of a __slots__ declaration is limited to the class where it is defined. As a result, subclasses will have a __dict__ unless they also define __slots__ (which must only contain names of any /additional/ slots). * If a class defines a slot also defined in a base class, the instance variable defined by the base class slot is inaccessible (except by retrieving its descriptor directly from the base class). This renders the meaning of the program undefined. In the future, a check may be added to prevent this. Signed-off-by:
Balazs Lecz <leczb@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com> Signed-off-by:
Iustin Pop <iustin@google.com>
-
- Jan 26, 2010
-
-
Iustin Pop authored
* devel-2.0: Fix the mocks.py for 2.0 unittests LURemoveNode safety in face of wrong node list Fix an unsafe formatting bug Ensure all int/float conversions are handled right Conflicts: lib/backend.py - trivial merge lib/cmdlib.py - merge, and took 2.0's version of LURemoveNode BuildHooksEnv lib/mcpu.py - kept ours lib/objects.py - trivial merge lib/utils.py - trivial merge scripts/gnt-backup - kept ours scripts/gnt-instance - trivial merge Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-