- May 19, 2009
-
-
Iustin Pop authored
* commit 'origin/next': (25 commits) Move more hypervisor strings into constants Add -H/-B startup parameters to gnt-instance call_instance_start: add optional hv/be parameters Fix gnt-job list argument handling Instance reinstall: don't mix up errors Don't check memory at startup if instance is up gnt-cluster modify: fix --no-lvm-storage LUSetClusterParams: improve volume group removal gnt-cluster info: show more cluster parameters LUQueryClusterInfo: return a few more fields Add the new DRBD test files to the Makefile Remove some superfluous imports Make Python interpreter selectable for test scripts Pass optional arguments to the daemons ganeti.initd: include defaults file, if present Fix ;; indentation in the main initd loop Avoid DeprecationWarning on Python >= 2.6 ganeti-noded: add bind address option Fix compatibility with DRBD 8.3 Fix compatibility with DRBD 8.2 ...
-
Iustin Pop authored
This patch adds constants for the mouse and boot order strings; while there are still some issues remaining, we're trying to cleanup hardcoded strings from the hypervisors. Since the formatting of frozensets is currently wrong, we also add an utility function for this and change all the error messages to use it. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
This patch modifies the start instance script, opcode and logical unit to support temporary startup parameters. Different from 1.2, where only the kernel arguments were supporting changes (and thus xen-pvm specific), this version supports changing all hypervisor and backend parameters (with appropriate checks). This is much more flexible, and allows for example: - start with different, temporary kernel - start with different memory size Note: in later versions, this should be extended to cover disk parameters as well (e.g. start with drbd without flushes, start with drbd in async mode, etc.). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
This patch modifies the rpc.call_instance_start - the master side - to take optional hv/be parameters. The noded side is unchanged and oblivious to the change. This will allow implementation of single-user capability and such on startup (temporary, as opposed to permanent). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- May 18, 2009
-
-
Guido Trotter authored
Currently QueryJob returns "None" when a wrong job ID is passed. Handle this in gnt-job list, by printing an error for each wrong job, and still giving output for all the jobs which actually do exist. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- May 15, 2009
-
-
Guido Trotter authored
If the remote info rpc call fails we can't assume that the instance is up. Signed-off-by:
Guido Trotter <ultrotter@google.com>
-
Guido Trotter authored
Signed-off-by:
Guido Trotter <ultrotter@google.com>
-
- May 14, 2009
-
-
Guido Trotter authored
Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
Initial design for the OS parameter changes proposed for 2.1. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Iustin Pop authored
This moves yet another hardcoded value to a hypervisor parameter. I removed the 64/32 difference as it doesn't seem valid to me - it's more of a local site config rather than arch config. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
For the xen-hvm hypervisor, the KERNEL_PATH parameter is needed but today is hardcoded to a constants in the xen hypervisor library (argh!). This patch moves this to a hypervisor constant with the default value being the current hardcoded path. This will allow cluster/instance customisation based on the installed xen version. This should fix Debian bug #528618. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Guido Trotter authored
This patch proposes a mini-design to improve redistribute-config and integrate it better with other logical units. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- May 13, 2009
-
-
Guido Trotter authored
Currently doing a gnt-cluster-modify --no-lvm-storage is silently ignored, as it passes a None value in vg_name, which is the same as not modifying that parameter. Explicitely set the passed value to '', so the non-true not-None value can be evaluate to actually remove a volume group. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
Currently LUSetClusterParams will remove the volume group if the vg_name field passed in is not true, but not None. Setting the target volume group to False or the empty string, though, is a bad idea because it's not a boolean value, and at cluster init we set it to None if --no-lvm-storage is passed. With this fix we handle '' (or any other non-None false value) as the "unset" value, but actually store None in the config. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
Even if we cannot modify all of them, they are useful information about the current cluster. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
Some fields can be set at cluster init, and perhaps even modifed with SetClusterParams but there's no way to know them. With this patch we export them in the cluster info query. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
If a change modifies the way all/most LUs work it should also be considered core. Signed-off-by:
Guido Trotter <ultrotter@google.com>
-
- May 12, 2009
-
-
Guido Trotter authored
This removes some code which was duplicated in shutdown and migrate. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Iustin Pop authored
We change some formatting to sphinx-specific, to show how the documentation can be improved. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
Currently we have an insignificant glossary at the end of the design-2.0 document. This patch moves it to a separate file with the goal that it will grow and all files can refer to it. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
This big patch converts the documentation build system to sphinx (http://sphinx.pocoo.org/ ). Since that uses reStructuredText sources too, there is no change (yet) in the documents themselves, just in the build system. As before, the docs are pre built by the maintainer, and the end-user doesn't need sphinx or other rst tools to build the docs. Note that we are not distributing PDFs, so building that will require the tools. The docs will be stored under doc/html and the build system also need an extra directory doc/build. These are considered (by automake) maintainer-related objects and are removed at maintainer-clean time. The patch also fixes some small issues: add a docpng variable, add doc/api (also generated by maintainer) in maintainer-clean-local, etc. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
This patch removes the autogeneration of the RAPI docs from the code (based on docstrings) and moves the current autogenerated output to the rapi.rst file. The reasons behind this are multiple: - the build system becomes a little more simple (this could have been achieved also by distributing the built documentation, though) - it's hard to actually write documentation in docstrings; you have to fit restructured text inside the docstrings, and this results in not really nice output - even by being close to the code, the documentation manages to get out of sync (not paying attention to docstrings) This will also help with the move to sphinx. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- May 11, 2009
-
-
Iustin Pop authored
These were forgotten in commit 01e2ce3a, and caused “make distcheck” to fail. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- May 07, 2009
-
-
Carlos Valiente authored
This is for Python 2.6 compatibility. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Carlos Valiente authored
The Python interpreter used to run the test cases is hard-coded to be /usr/bin/python. If we use the first one from $PATH instead, it is much easier to test ganeti with other Python versions. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- May 06, 2009
-
-
Guido Trotter authored
Sometimes reinstalls are slightly different than new installs. For example certain partitions may need to be preserved accross reinstalls. In order to do that on a per-os basis we pass in the INSTANCE_REINSTALL variable to inform the create script about when a reinstall is happening. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
This document contains a skeleton for the 2.1 design process. For now it just has introductory paragraphs and a structure for the various areas' design, but some sections still don't have a text, as we're still in the early design phases. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
These can be set in the defaults file, default to no arguments being passed, and make it easy for local installation to customize the way the ganeti daemons are called. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin <iustin@google.com>
-
Guido Trotter authored
In the example init script we'll execute an optional defaults file to make it easier to add local customizations to the ganeti startup. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin <iustin@google.com>
-
Guido Trotter authored
Currently two of the ;; ending the case bodies are not indented with anything. Reindent all of them to the body of the loop, as it's done somewhere else in the init script. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin <iustin@google.com>
-
- May 05, 2009
-
-
Carlos Valiente authored
Python 2.6 complains about module 'sha' being deprecated. It makes execution of Ganeti commands a bit annoying, and when you run 'ganeti-watcher' in cron jobs, you get a mail message after every execution. Tests pass under under Python 2.6 and Python 2.4. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Carlos Valiente authored
Python 2.6 complains about module 'sha' being deprecated. It makes execution of Ganeti commands a bit annoying, and when you run 'ganeti-watcher' in cron jobs, you get a mail message after every execution. Tests pass under under Python 2.6 and Python 2.4. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
This allows ganeti-noded to bind only on one interface rather than all the ones on the machine. The default behaviour doesn't change. Signed-off-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
DRBD 8.3 changes two more things compared to 8.2: - /proc/drbd format changed in multiple ways; the part we're interested is the ‘st:’ to ‘ro:‘ change (in the changelog named as “Renamed 'state' to 'role'” - “drbdsetup /dev/drbdN show” changed the ‘device’ stanza from: device "/dev/drbd0"; to: device minor 0; This patch fixes these both and adds data files and unittests for DRBD 8.3.1. Signed-off-by:
Iustin Pop <iustin@google.com>
-
Karsten Keil authored
This patch adds (and suppresses) the extra ipv4/ipv6 words before the actual address that newer DRBD versions add. [iustin@google.com: slightly changed the patch to conform to style guide, and changed the commit message] Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Iustin Pop authored
In case of missing programs, currently utils.RunCmd doesn't show any information to help debugging, only 'No such file or directory'. This patch adds error handling for the ENOENT case such that at least we have this information in the node daemon logs. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
Currently both hv_fake and hv_kvm implement practically identical code to get the node information. Since future container-like hypervisors will also need this functionality, this patch moves it into the base class (as a separate function) which can then be called from classes which need this info. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
This patch fixes two issues with LUSetClusterParams and argument checking. First, this LU used the wrong function name (CheckParameters instead of CheckArguments), which means that no parameter checking was done at all; this impacted the candidate_pool_size checks (the only one done at this stage). Second, int() can raise both ValueError and TypeError, and we should correctly handle both. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- May 04, 2009
-
-
Iustin Pop authored
Currently we always try to remove the new file, even if the rename succeeded. This patch tracks the existence of the new file and doesn't try to remove it if we managed to rename it. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
Currently, lib/luxi.py used lib/serializer.py for encoding/decoding messages, but the master daemon uses directly the simplejson module. This is wrong as any non-trivial change to serializer.py will break the master daemon. The patch changes masterd to use exactly the same functions as luxi.py for encoding/decoding of messages. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-