- Feb 28, 2008
-
-
Guido Trotter authored
Some options were missing in the gnt-cluster init man page. This patch adds them, removes an empty line, and clarifies a bit more some requirements. Reviewed-by: schreiberal
-
Guido Trotter authored
Even if the target instance is down or we are not checking for IP conflicts changing an instance name to a new one which is already in the cluster is doomed to fail, because in a lot of places (among which figures the mind of most users/admins) instance names are assumed to be unique. Reviewed-by: imsnah
-
Alexander Schreiber authored
Reviewed-by: imsnah
-
- Feb 27, 2008
-
-
Michael Hanselmann authored
Reviewed-by: iustinp
-
Michael Hanselmann authored
Reviewed-by: ultrotter
-
- Feb 26, 2008
-
-
Michael Hanselmann authored
Reviewed-by: iustinp
-
Michael Hanselmann authored
Reviewed-by: iustin
-
- Feb 25, 2008
-
-
Michael Hanselmann authored
Change comments to printed information, some cleanup. These changes are from November 2007. The test is not perfect yet. Reviewed-by: iustinp
-
Manuel Franceschini authored
This patch replaces some hardcoded strings with their corresponding constant in `_GenerateDiskTemplate()`. Reviewed-by: iustinp
-
- Feb 23, 2008
-
-
Guido Trotter authored
The cron file in ganeti's example directory is now static, and executes ganeti-watcher in /usr/local/sbin no matter where it's really installed. With this patch we generate it at build time substituting the right value of @SBINDIR@ from ganeti.cron.in. We also make sure ganeti-watcher exists and is executable before running it. This is targeted at 1.2 as well. Reviewed-by: iustinp
-
- Feb 22, 2008
-
-
Manuel Franceschini authored
-
Manuel Franceschini authored
-
Iustin Pop authored
This patch switches from the twisted usage for inter-node protocol to simple BaseHTTPServer/httplib. The patch has more deletions because we use no authentication, no encryption at all. As such, this is just for trunk, and only for testing. What it brings is the ability to use the rpc library from within multiple threads in parallel (or it should so). Since the changes are very few and non-intrusive, they can be reverted without impacting the rest of the code. This passes burnin. QA was not tested. Reviewed-by: imsnah
-
- Feb 21, 2008
-
-
Guido Trotter authored
- Check that even a shared acquire() fails on a deleted lock - Check that delete() fails on a lock you share (must own it or nothing) These are assumptions I build on in future code, so better check for them. Currently no code change is necessary for them to be valid. Reviewed-by: iustinp
-
- Feb 20, 2008
-
-
Guido Trotter authored
The _doItDelete helper code was supposed to be used to dispatch threads that deleted the SharedLock. It actually just acquired it exclusively. This remained unnoticed as the helper thread is just used to test interaction, not the delete code by itself, and delete requires an exclusive acquire anyway. Reviewed-by: imsnah
-
Guido Trotter authored
gnt-instance replace-disks used to be called replace_disks. Reviewed-by: iustinp
-
- Feb 19, 2008
-
-
Guido Trotter authored
This new operation lets a lock be cleanly deleted. The lock will be exclusively held before deletion, and after it pending and future acquires will raise an exception. Other SharedLock operations are modify to deal with delete() and to avoid code duplication. This patch also adds unit testing for the new function and its interaction with the other lock features. The helper threads are sligtly modified to handle and report the condition of a deleted lock. As a bonus a non-related unit test about not supporting non-blocking mode yet has been added as well. This feature will be used by the LockSet in order to support deadlock-free delete of resources. This in turn will be useful to gracefully handle the removal of instances and nodes from the cluster dealing with the fact that other operations may be pending on them. Reviewed-by: iustinp
-
- Feb 18, 2008
-
-
Guido Trotter authored
Use the actual class name rather than a spaced version of it. Reviewed-by: iustinp
-
Iustin Pop authored
Note: we don't update for now the install.sgml file with the new version number, as there are no other changes. We'll update the web site to indicate that the current install.html document is valid for 1.2.3 too. Reviewed-by: imsnah,ultrotter
-
Iustin Pop authored
This reverts commit 604 as the upgrade tool should not be in the 1.3 branch. Reviewed-by: schreiberal
-
Alexander Schreiber authored
Reviewed-by: imsnah
-
Iustin Pop authored
This patch adds the DRBD upgrade tool in the archive and in the installed tools dir, and its associated README in the doc_DATA target. Reviewed-by: ultrotter
-
- Feb 16, 2008
-
-
Guido Trotter authored
Due to an indentation error only the last instance queried got returned by LUQueryInstanceData. Moving the append() call inside the for cycle to fix this issue. This is a one-liner targeted at 1.2.3 Reviewed-by: iustinp
-
- Feb 15, 2008
-
-
Michael Hanselmann authored
Reviewed-by: iustinp
-
Iustin Pop authored
QA suite which tests gnt-instance modify has uncovered another issue related to mac export. Reviewed-by: imsnah
-
- Feb 14, 2008
-
-
Iustin Pop authored
This tiny patch fixes the breakage that the previous patch about activation did by removing the Close() call after activation. The initial reason for that call was that if the device is already active and open, but we need it closed, we close it automatically. This however conflicts with the 2-step open in the case the instance is already open. It makes sense to remove the call since in the current Ganeti setup, just doing Close() is not enough to change the device from (e.g.) primary to secondary, as some devices (e.g. md) might need Shutdown not Close. It also gets rid of a Close() in the CreateBlockDevice function, due to the same reasoning (although in Create the child should not have a different status anyway). Reviewed-by: imsnah
-
Iustin Pop authored
This tiny patch fixes the verbose option to actually work, and also when creating instances it logs the secondary node too (even if this doesn't apply for plain templates, it doesn't create an error). Reviewed-by: imsnah
-
Iustin Pop authored
This patch adds a new field available for selection in gnt-instance list names "status" which represents the combined value of "admin_state" and "oper_state". Since this is much easier to parse (e.g. gnt-instance list |grep ERROR), we also modify the default field list to use this instead of the admin/oper state fields. Reviewed-by: imsnah
-
Michael Hanselmann authored
Reviewed-by: iustinp
-
- Feb 12, 2008
-
-
Guido Trotter authored
DRBD 8.2 uses a double integer field ad protocol version, rather than a single one. This patch fixes the ganeti parsing code, allowing both the old and the new version type. In order to do so the internal _GetVersion function is changed to return a dict, rather than a list, and the second protocol field is added, only if present, as proto2. This is a fix for issue 24. Reviewed-by: iustinp
-
- Feb 10, 2008
-
-
Iustin Pop authored
Reviewed-by: ultrotter
-
- Feb 08, 2008
-
-
Guido Trotter authored
Adding a locking.py file for the ganeti locking library. Its first component is the implementation of a non-recursive blocking shared lock complete with a testing library. Reviewed-by: imsnah, iustinp
-
- Feb 06, 2008
-
-
Iustin Pop authored
This patch adds some documentation about the proposed client API. It's not yet complete, but should be a usable draft for the initial implementation. Reviewed-by: ultrotter
-
- Feb 05, 2008
-
-
Iustin Pop authored
This can be used for testing purposes. Reviewed-by: ultrotter,imsnah
-
Iustin Pop authored
This patch is a first step in reducing the chance of causing DRBD activation failures when the primary node has not-perfect data. This issue is more seen with DRBD8, which has an 'outdate' state (in which it can get more often). But it can (and before this patch, usually will) happen with both 7 and 8 in the case the primary has data to sync. The error comes from the fact that, before this patch, we activate the primary DRBD device and immediately (i.e. as soon as we can run another shell command) we try to make it primary. This might fail - since the primary knows it has some data to catch up to - but we ignored this error condition. The failure was visible later, in either md failing to activate over a read-only storage or by instance failing to start. The patch has two parts: one affecting bdev.py, which changes failures in BlockDev.Open() from returning False to raising errors.BlockDeviceError; noone (except a generic method inside bdev.py) checked this return value and we logged it but the master didn't know about it; now all classes raise errors from Open if they have a failure. The other part, affecting cmdlib.py, changes the activation sequence from: - activate on primary node as primary and secondary as secondary, in whatever order a function returns the nodes to the following: - activate all drives as secondaries, on both the primary and the secondary nodes of the instance - after that, on the primary node, re-activate the device stack as primary This is in order to give the chance to DRBD to connect and make the handshake. As noted in the comments, this just increases the chances of a handshake/connect, not fixing entirely the problem. However, it is a good first step and it passes all tests of starting with stale (either full or partial) primaries, with both drbd 7 and 8, and also passes a burnin. Note that the patch might make the device activation a little bit slower, but it is a reasonable trade-off. Reviewed-by: imsnah
-
- Feb 04, 2008
-
-
Iustin Pop authored
Reviewed-by: imsnah
-
Iustin Pop authored
This patch completes the change introduced in r566 (trunk) and r568 (branch-1.2). Reviewed-by: imsnah
-
- Jan 31, 2008
-
-
Guido Trotter authored
Currently just the bridge and ip address are passed. Add an environment variable for the mac address. Reviewed-by: iustinp
-
Alexander Schreiber authored
Reviewed-by: imsnah
-
- Jan 30, 2008
-
-
Guido Trotter authored
gnt-backup export used to export the ip and mac of each nic, but not which bridge it was connected to. Adding this information. Reviewed-by: iustinp
-