- Jan 21, 2008
-
-
Iustin Pop authored
LVM code sometimes adds an extra separator at the end of the field list. Make the code strip it if exists. Reviewed-by: imsnah
-
- Jan 20, 2008
-
-
Iustin Pop authored
Currently, the function backend._GetVGInfo only checks for errors via the exit code of the 'vgs' command. However, there are other ways of failure so we need to also check for valid output before parsing. Furthermore, the checks on the exit code were reported via a 'raise LVMError', however this exception is not handled anywhere and so the remote caller will not get reasonable data. This patch does two main things: - change the calling protocol for this function to not raise an error, and instead return the same type of argument always (dict) with the requested keys but values changed into None; this allows in the parent rpc call node_info to have valid memory information but "error" value for disk space, if there's an error with disks - check the validity of the output so that in case we fail to parse it, we don't abort with a backtrace in the node daemon but instead return the default result value (containing errors), and log these cases in the node daemon log file We also bump the protocol version to 11. Reviewed-by: ultrotter
-
Iustin Pop authored
This patch does two things: - checks that the result values from call_node_info are valid integer values and aborts otherwise - skips disk space computation for the DT_DISKLESS case The most important point of the patch is the verification of results from the rpc call, as it prepares for a patch that allows failures to be better reported from the remote node. Reviewed-by: ultrotter
-
Iustin Pop authored
The checking of a node's free memory (via rpc.call_node_info) is done in both start instance an failover. This patch abstracts this call, together with the appropriate error handling, into a separate function called _CheckNodeFreeMemory. The patch also has some related changes: - the check is done in prereq and not in exec for start instance - the redundant check in exec for failover has been removed Reviewed-by: ultrotter
-
Iustin Pop authored
The function backend.UploadFile still uses "/etc/hosts" directly instead of the existing constant; this patch fixes this. Reviewed-by: ultrotter
-
Iustin Pop authored
Currently the fake hypervisor has hardcoded ‘/var/run’ as a base directory for its store. This patch adds a constant RUN_DIR that is used for both the fake hypervisor and for BDEV_CACHE_DIR. Reviewed-by: ultrotter
-
- Jan 16, 2008
-
-
Iustin Pop authored
This is a merge from the 1.2 branch Reviewed-by: imsnah
-
Iustin Pop authored
This is a merge from the 1.2 branch Reviewed-by: imsnah
-
- Jan 14, 2008
-
-
Iustin Pop authored
This patch fixes two name typos and a style issue (which makes pylint complain). Reviewed-by: ultrotter
-
Guido Trotter authored
Some new paramenters of the CreateInstance opcode are optional (namely kernel_path, initrd_path and hvm_boot_order) but their absence makes the code crash. Fix this by initializing them to a default value if they're not present. Reviewed-by: iustinp
-
- Jan 11, 2008
-
-
Alexander Schreiber authored
This patch adds support for specifying and changing the boot device order for HVM instances. The boot device order specification is ignored for non HVM instances. Reviewed-by: iustinp
-
- Jan 09, 2008
-
-
Alexander Schreiber authored
First step to support custom boot device order for HVM instances, add a location to actually store that information for the instance. Reviewed-by: iustinp
-
- Jan 08, 2008
-
-
Iustin Pop authored
Reviewed-by: schreiberal
-
Iustin Pop authored
This patch changes the hypervisor to use the new kernel and initrd instance attributes. They kernel is handled as expected (use the custom or the default one), but the initrd is treated a little bit special, in order to keep compatibility with previous behaviour: - if customized and not found, raise an error - if default and not found, do not use one Reviewed-by: imsnah
-
Iustin Pop authored
This patch changes the info subcommand to nicely show the kernel and initrd paths. Reviewed-by: imsnah
-
Iustin Pop authored
This patch adds support for defining the kernel/initrd at instance creation time, using the same interface as in instance modify. Reviewed-by: imsnah
-
Iustin Pop authored
This patch adds support in ‘gnt-instance modify’ to set the kernel and initrd paths. The user can pass either 'default' or 'none' (none is not valid for kernel). Reviewed-by: imsnah
-
Iustin Pop authored
This patch adds two new attributes to the instance object: - kernel_path - object_path The code ignores them and the configuration handling is not broken by this addition. Reviewed-by: imsnah
-
- Jan 07, 2008
-
-
Iustin Pop authored
This patch improves the ‘gnt-cluster verify-disks’ command by adding support for detecting broken volume groups and missing logical volume names. As such, we don't try anymore to activate disks for instances that are not likely to succeed anyway, and instead report them. Reviewed-by: schreiberal
-
Iustin Pop authored
This patch changes the Assemble() method for logical volumes from a noop to do a `lvchange -ay` on the logical volume; this ensures that if the logical volume is not active, we are able to activate and use it. Reviewed-by: imsnah
-
Iustin Pop authored
This patch fixes the double attach operation in bdev.AttachOrAssemble, which was an indentation mistake in the first place. Reviewed-by: imsnah
-
Iustin Pop authored
This patch changes the bdev.DRBD8._GetDevInfo to take a string instead of a minor, separates the `drbdsetup show` invocation into a new separate method (bdev.DRBD8._GetShowData) and modifies the rest of the DRBD8 class to make the appropriate calls. It also adds a unittest script and data files for testing various cases of device output. Reviewed-by: imsnah
-
- Dec 27, 2007
-
-
Alexander Schreiber authored
Allow the MAC address of an instance to be specified optionally during instance creation and later to be changed via instance modify. Reviewed-by: iustinp
-
- Dec 20, 2007
-
-
Alexander Schreiber authored
This patch implements a first proof-of-concept for HVM support in Ganeti. Due to the nature of this patch, it is intended for test environments only. Reviewed-by: iustinp
-
Alexander Schreiber authored
Wrap error handling around creating the instance config file. Reviewed-by: iustinp
-
Alexander Schreiber authored
Abstract the parts of the Xen hypervisor interface shared by both PVM and HVM into a generic interface, subclass the special case PVM from that. Prepatch for adding HVM support. Reviewed-by: iustinp
-
- Dec 19, 2007
-
-
Iustin Pop authored
Currently, RunCmd is written with the assumption that programs will have a small stderr output, therefore we read the child's stdout (which can be big, so we don't want to block the child) and then the stderr (which is small, so it shouldn't block). However, with the ‘gnt-cluster verify-disks’ command, we ourselves generate heavy stderr, therefore we break the ganeti-watcher which runs the verify-disks via utils.RunCmd. This patch turns the RunCmd command into an poll-based one, which means any kind of interleaved output by a child on stdout/stderr will be handled correctly. Of course, since the output is buffered in memory, there are other ways to break RunCmd(). But at least this should fix the common case. Reviewed-by: hansmi
-
- Dec 18, 2007
-
-
Alexander Schreiber authored
Change the internal hypervisor API for GetShellCommandForConsole, we now call it with the instance instead of just the instance name. This is a prep patch for HVM, since HVM needs more than just the instance name to determine a way of console access. (this is a resend due to mail adress tyop) Reviewed-by: iustinp
-
Alexander Schreiber authored
Move constant definitions for hypervisor into constants.py Reviewed-by: ultrotter
-
Guido Trotter authored
hint is declared as a named argument for the LogWarning function. Make its caller pass it naming it. Reviewed-by: iustinp
-
- Dec 17, 2007
-
-
Alexander Schreiber authored
Extends the instance object by adding a port item, also adds changes to print this port via gnt-instance info. Reviewed-by: iustinp
-
- Dec 12, 2007
-
-
Iustin Pop authored
When waiting for the lock and pressing ^C, the user will get a backtrace as the KeyboardInterrupt exception is not handled. The patch adds a simple method of handling it. Note that this is not about ^C in any other place. Reviewed-by: schreiberal,imsnah
-
Iustin Pop authored
This patch adds the OpVerifyDisks handling in mcpu.py and the verify-disks command in the gnt-cluster script, which for every instance computed by LUVerifyDisks submits a new OpActivateInstanceDisks request. Reviewed-by: imsnah
-
Iustin Pop authored
This patch adds a new LUVerifyDisks that implements the OpVerifyDisks. The algorithm is that by determining not-used logical volumes for instances that are supposed to be running, we presume from there that the DRBD devices are not online and therefore one should ‘activate-disks’ for those instances. Reviewed-by: imsnah
-
Iustin Pop authored
This patch adds the definition of a new opcode that will be used to compute the list of instances with not-online disks. Reviewed-by: imsnah
-
- Dec 11, 2007
-
-
Iustin Pop authored
Currently, the volume_list call returns only the volume size. However, it is useful to also have two other things: the 'inactive' state of the volume (which might trigger a ‘vgchange -a y’ on the volume group) and the online state (which shows if the volume is in use or not). Since this modifies an RPC call, we also bump the protocol version, although the single user of the call didn't care about the dictionary values, only about the keys. Reviewed-by: imsnah
-
- Dec 04, 2007
-
-
Michael Hanselmann authored
Reviewed-by: schreiberal
-
Alexander Schreiber authored
Use result.stdout instead of result.output to avoid potential confusion by merged in error messages from stderr. Reviewed-by: iustinp
-
Iustin Pop authored
Currently, the Hypervisor error raised on ‘xm create’ failure doesn't contain the actual output from the command, thus what we log to the node daemon log is not helpful enough. This patch fixes that. Reviewed-by: schreiberal
-
Alexander Schreiber authored
Reviewed-by: imsnah
-