- May 20, 2009
-
-
Guido Trotter authored
Signed-off-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
This patch modifies the watcher to keep on-disk a file with the instance status; this can be used from outside of ganeti to react to instances being down (when the watcher cannot restart them). 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>
-
- May 19, 2009
-
-
Iustin Pop authored
Currently we have bad behaviour in SafeEncode: - binary strings are actually not handled correctly (ahem) - the encoding is not stable, due to use of string_escape For this reason, we replace the use of string_escape with part of the code of string escape (PyString_Repr in Objects/stringobject.c); we don't escape backslashes or single quotes, since that is that makes it nonstable. Furthermore, we only use the encode('ascii', ...) for unicode inputs. The patch also adds unittests for the function that test basic behaviour. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
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
Bugs in either our code or in associated libraries can bring the master daemon down, and this (due to the 2.0 architecture) stops all work on the cluster. Since the watcher already does periodic checks on the cluster, we modify it to try to start the master automatically in case of failures to connect. This will be tried only once per cycle. Also, in this case, we modify the code so that the watcher status file is not updated - its timestamp will reflect thus the time of last successful connection to the master. Side note: the except errors.ConfigurationError part could be cleaned up, since in 2.0 we don't usually get that directly, and if we do it's an error and we shouldn't touch the file anyway; but that is not a rc5 change. Signed-off-by:
Iustin Pop <iustin@google.com>
-
Iustin Pop authored
This patch adds for current instance a ‘disk_space_total’ key, similar to the key for the new instance in case of new allocations. 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 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>
-
- May 12, 2009
-
-
Guido Trotter authored
Currently the KVM hypervisor returns strings for the memory and cpu values, while the xen hypervisor returns integers. Making this uniform converting the values to integers in KVM as well. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
LUSetInstanceParam currently assumes that the 'memory' value of a call_instance_info result is an integer, while the rest of the code explicitely converts it to int(). Converting it to int works around a bug which prevents changing the memory allocation of a live instance if the remote call returns the memory in string format. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@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>
-
Iustin Pop authored
In Ganeti 1.2, “none” was used to signify no initrd. In 2.0 we have changed to “no_” as a prefix (i.e. “-H no_initrd_path”) and thus we document in the manpage this. The QA suite is changed accordingly. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
The _TransformPath function is not used anymore in 2.0, let's remove it. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Tim Boring authored
Patch for adding network_port to the instance attributes exported by the RAPI. [iustin@google.com: slightly changed the formatting] Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- May 09, 2009
-
-
Tim Boring authored
Minor patch to clarify the URL necessary for accessing the RAPI. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Iustin Pop authored
The version is 2.0, and we don't build PDFs by default, only HTML files. 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
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>
-
Iustin Pop authored
Currently “gnt-debug submit-job” takes a single argument and has non-trivial startup-costs; in order to exercise the job system, it is better to be able to submit multiple jobs with a single invocation of the script. This patch extends it to take multiple argument, de-serialize the opcodes and then submit all of them as fast as possible, in order to increase pressure on the master daemon. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Alexander Schreiber <als@google.com>
-