- Oct 07, 2010
-
-
Iustin Pop authored
Currently, GenericMain does a two-staged workflow: - Check, before forking - then Exec, after forking This means we don't have any possibility to treat preparation work (before the daemon is ready for work) different from the actual work. The patch adds another PreExec function that is run just before Exec, and which should ensure that the daemon is ready for serving client before it returns. Its result is then sent as the third argument to Exec. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
This patch merges the pid file handling used for ganeti-* daemons and impexp daemons. The latter version is used, since it's more reliable: uses locked pid files as opposed to checking 'live' processes. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
This does some slight changes: - Daemonize() doesn't explicitly close the file-descriptors anymore, but only implicitly via the usage of dup2 - StartDaemonChild uses separate devnull for stdin (rdonly) and stdout/stderr (wronly), or if using a log file, it uses it in append mode Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
This patch abstracts the chdir/umask/setsid functionality, which is identical in the code functions, just that Daemonize did the chdir/umask in the second child; with this change it does it in the first, as StartDaemon. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Oct 06, 2010
-
-
Iustin Pop authored
* devel-2.2: QA: Fix instance move tests Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
The instance move tests were moving the instance from node pair (A,_) to (B, A), and left it there. This patch makes sure that the first step moves the instance to (B,A) but the second one back to (A,B), so that the instance is left on the same primary node. The original secondary node is lost though, if I read the code correctly. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Oct 05, 2010
-
-
Michael Hanselmann authored
* devel-2.2: Add simple unittest for utils.CommaJoin LUDelTags: Improve formatting of error message LUGetTags: Acquire locks in shared mode gnt-cluster: Replace hardcoded “xenvg” with value retrieved from master Export VG name via LUQueryConfigValues RAPI QA: Override MAC address when moving instance move-instance: Allow overriding instance parameters cli: Move parsing of --net option to separate function kvm: collapse two consecutive extend calls kvm: Introduce support for -mem-path Conflicts: test/ganeti.cli_unittest.py: Trivial 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
Use utils.CommaJoin to add spaces after comma, clean up code a bit. Before: Tag(s) 'bar','baz','foo','moo' not found After: Tag(s) 'bar', 'baz', 'foo', 'moo' not found Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Retrieving tags can be done while the lock is shared. Only writing needs to be exclusive. Also add a FIXME for cluster tags, where the code currently doesn't use any locks except the config lock. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
This fixes issue 125 (http://code.google.com/p/ganeti/issues/detail?id=125 ) Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
This will be used by LUXI client programs to display the VG name. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
This will make this test work again. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
When moving a single instance within the same cluster, the NIC is not allowed to re-use an existing MAC address. To avoid this, NIC parameters must be overridden. BE, HV, OS and NIC parameters can be overridden after applying this patch. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
This function will also be used in tools/move-instance. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
- Typos - Fix capitalization - Fix quoting in some places - Rewrite part of privilege separation section to match with subsection titles Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Michael Hanselmann authored
This patch enables all tests by default, unless when they're explicitely disabled in the config file. This will make sure newly added tests are run even when an old configuration file is used. A comment is also added qa-sample.json. 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>
-
Guido Trotter authored
Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Miguel Di Ciurcio Filho authored
Using hugepages, KVM instances can get a good performance boost. To activate that, we need to pass the -mem-path argument to KVM along with the mount point of the hugetlbfs file system on the node. For the sake of memory availability computation, we use the -mem-prealloc argument when enabling hugepages, so KVM will reserve all hugepages it needs when it starts. This avoids allocating an instance on a node that will not have enough pages in case other instance needs more than what is available after it boots. Signed-off-by:
Miguel Di Ciurcio Filho <miguel.filho@gmail.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
* devel-2.2: Rename the _oss cluster vars to _os Conflicts: lib/objects.py (trivial, strange that this one, and only this one, conflicted) Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Per the mailing list discussion, rename _oss to _os, both in cluster parameters and in the rest of the code. This is just an s/_oss/_os, with the exception of a small bit of cleanup around the helper_os function in cmdlib.py. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
* devel-2.2: gnt-job info: Sort input fields KVM: Add function to check the hypervisor version Bump version to 2.2.0, update NEWS Fix instance rename regression from 3fe11ba3 Fix instance rename regression from 3fe11ba3 Update RAPI documentation for /2/nodes/[node_name]/migrate Sort OS names and variants in LUDiagnoseOS Add some trivial QA tests for the new OS states Change behaviour of OpDiagnoseOS w.r.t. 'valid' Allow gnt-os modify to change the new OS params Add two more _T-type tests Add blacklisted/hidden OS support in LUDiagnoseOS Restrict blacklisted OSes in instance installation Add two new cluster settings Abstract OS name/variant functions Add OS new states to the design doc Remove the RPC changes from the 2.2 design Remove 'Detailed Design' from design-2.2.rst Conflicts: lib/cli.py lib/cmdlib.py lib/objects.py scripts/gnt-os All conflicts were trivial. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Oct 04, 2010
-
-
Michael Hanselmann authored
* stable-2.2: Bump version to 2.2.0, update NEWS Fix instance rename regression from 3fe11ba3 Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Michael Hanselmann authored
This helps to find a value for complex opcodes. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Iustin Pop authored
Committ 3fe11ba3 broke the instance rename as we don't use the FQDN anymore. This fixes it. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Sep 30, 2010
-
-
Iustin Pop authored
Committ 3fe11ba3 broke the instance rename as we don't use the FQDN anymore. This fixes it. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Michael Hanselmann authored
This was forgotten in commit 52194140. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Iustin Pop authored
The OS list and variants as returned from LUDiagnoseOS is not sorted, and gnt-instance reinstall doesn't sort it either. This means that it the menu that users are present with is inconsistent across clusters, and that is confusing. To make this consistent across all users of the LU, we sort the names in the LU itself. 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:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
This patch changes the behaviour of OpDiagnoseOS with regards to the 'valid' field to be similar to the one for the hidden/blacklisted fields: unless this field is requested, invalid OSes are filtered out. The rationale is that, except for the gnt-os info/diagnose, all other users of this opcode are requesting the valid field just to filter out invalid OSes, and not for any other use. Thus, changing this behaviour makes these callers simpler. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
These are useful for more in-depth checking of some kinds of arguments. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
This changes the behaviour of LUDiagnoseOS significantly. The addition of hidden/blacklisted OSes would mean that each user-facing client would have to filter intentionally such OSes from display, which is not a good choice. Rather, the patch makes LUDiagnoseOS not return any hidden or blacklisted OSes unless the hidden or respectively the blacklisted status is requested. While unconventional, this makes `gnt-instance reinstall --select-os` work as intended without any changes; similar for gnt-os list. gnt-os diagnose/gnt-os info are changed to query for, and display the new fields. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
The new variables are: - a list of hidden OSes, that should not be displayed to the users in interactive selection (e.g. reinstall); however, if they are selected, they can be used - a list of OSes that should be hidden and blocked from install-time selection The filtering will apply at pure OS name level, not OS+variant level. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
Currently, the computation of the 'pure' name or the variant is hardcoded and spread around the functions that need it. This is not nice, and in the future we'd spread it even more with more usage of variants/pure os names. This patch abstracts these functions into the OS class, and then replaces the hardcoded uses with the new functions. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-