- Nov 06, 2012
-
-
Guido Trotter authored
Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
This replaces direct calls to “os.access” and “os.path.exists”/“os.path.isfile”. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@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
This tests that the same Luxi calls are defined in Python and Haskell. It doesn't test yet that their serialisation is correct though. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Guido Trotter authored
* devel-2.6: Disable E1101 on ganeti/http/server.py:424 Fix live migration under xl Don't check for xend port when using xl Conflicts: lib/hypervisor/hv_xen.py: trivial Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
* stable-2.6: Disable E1101 on ganeti/http/server.py:424 Fix live migration under xl Don't check for xend port when using xl Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
Until now the only way to make live migration work in conjunction with "xl" was to add ssh known_hosts keys for every node's secondary ip on every other node. With this command we remove the target key verification: this is not worse than what we were doing before with "xm", and allows the migration to happen under either toolstack, without extra manual work. Of course the full security of ssh is not used by live migration, then. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Guido Trotter authored
If the toolstack is set to "xl" we shouldn't ping xend for liveness before attempting a live migration. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Up until now “IsBelowDir("/", …)” would never return True. The reason was that an additional slash was added to the root path resulting in “//", which is “implementation-defined” in posix and treated specially by “os.path.normpath”. This patch fixes the behaviour for this special case and adds tests (also for IsNormAbsPath). A typo in the docstring is fixed. Calls to “assert_” and “assertFalse” are changed to pass a message by keyword argument. It is a bit of a mess, but I hope the resulting behaviour is correct. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Dato Simó <dato@google.com>
-
Michael Hanselmann authored
The name “priority” is already used. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
Michael Hanselmann authored
The function in is simplified in its structure and duplicated checks have been merged. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
- Nov 05, 2012
-
-
Dato Simó authored
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 specifically for the case of the cluster, it seems more correct to use None, rather than an arbitrary string (that is not used by the callee). Additionally: note in opcodes.py that groups also expect a name; the previous comment only referred to nodes and instances. Signed-off-by:
Dato Simó <dato@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Nov 02, 2012
-
-
Bernardo Dal Seno authored
A call to _CalculateGroupIPolicy wasn't refactored during the merge. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Nov 01, 2012
-
-
Michael Hanselmann authored
* 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 Improve handling of lock exceptions Add note about developing on a production machine Fix runtime memory increases Fix validation of vgname in OpClusterSetParams Fix removal of storage directory on shared file storage Switch non-redundant check to disk template-based Document the new --yes-do-it option for master-failover Add option to force master-failover without voting Update instance modify message Force tap's MAC prefix to "fe" Fix disk adoption interaction with ipolicy checks Better NEWS file for 2.6.1 Conflicts: lib/cmdlib.py: Trivial tools/kvm-ifup.in: Space vs. tab Signed-off-by: Michael Hanselmann <hansmi@google.com> Reviewed-by: Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
* 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 Improve handling of lock exceptions Add note about developing on a production machine Fix runtime memory increases Fix validation of vgname in OpClusterSetParams Fix removal of storage directory on shared file storage Switch non-redundant check to disk template-based Document the new --yes-do-it option for master-failover Add option to force master-failover without voting Update instance modify message Force tap's MAC prefix to "fe" Fix disk adoption interaction with ipolicy checks Better NEWS file for 2.6.1 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
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. This fixes issue 296. 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
Commit 52c47e4e (July 2010) added the exact test twice, probably due to a copy & paste error. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Iustin Pop authored
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) can lead to hard to diagnose errors. This patch abstracts the name checking from LUInstanceRename into a separate function, which is then reused in both instance rename and instance create. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
Iustin Pop authored
This addresses issue 290: when receiving new jobs, logging is incomplete, and we don't have the job ID(s) 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 logging. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
Iustin Pop authored
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 completely miss that - second, an actual honest lock conflict is not an internal error; it's simply an optimistic lock failing, and as such we should not return internal error, but rather resource_not_unique This addresses issue 287. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
- Oct 30, 2012
-
-
Iustin Pop authored
This is the bit of documentation missing for issue 170. Doing development on a machine which already has Ganeti installed kind of works, but only when the installed and the developed version are very similar, and even then it can be problematic. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
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 <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
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 <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
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 filesystem. Fixes issue 262. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
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 <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Oct 29, 2012
-
-
Bernardo Dal Seno authored
The directory must we writable also by the confd daemon user. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Iustin Pop authored
Sorry, this should have gone in the previous commit, I forgot about it. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
Iustin Pop authored
This fixes issue 282. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
- Oct 26, 2012
-
-
Iustin Pop authored
This a bit too complex patch converts the result of Luxi calls (submitJob, query*, etc.) from Result to ErrorResult. It then immediately revers this in the HTools/Backend/Luxi module, where we don't need necessarily the full error type (just a nice error message), and does the same in Hbal's job execution functions. While at first sight this doesn't seem to do much, what we get is actual error messages from Ganeti, plus improvements to the result parsing: instead of "can't parse char", we now get properly (note, wrapped manually): Executing jobset for instances instance1, … Job submission error: Failure: the job queue is marked for drain and doesn't accept new requests Or: Job submission error: Unhandled exception: LuxiError "parsing job id: cannot parse string 'a956101'" Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Michael Hanselmann authored
When file storage is used this file is now mandatory. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
The configuration is no longer used for verifying file storage paths. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
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 <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
With the move away from “setup-ssh”, Paramiko is no longer necessary to configure SSH on nodes. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
It has been superseeded by “prepare-node-join”. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
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 keyword parameter. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Instead of building the dictionary locally, the global version in “ssh.py” can be used. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
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 <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-