- Feb 10, 2009
-
-
Iustin Pop authored
This attribute will be used to prevent any allocation on the node (any of replace-disks with new secondary this node, failover to the node, migration to the node). The patch adds the attribute and initializes it correctly in cluster init and for new nodes. Reviewed-by: imsnah
-
Iustin Pop authored
Reviewed-by: imsnah
-
Iustin Pop authored
This patch converts the _CheckMetaSize method to raise exceptions instead of logging and returning False. This fits now in the new rpc return types, so it's a cheap change. Reviewed-by: ultrotter
-
Iustin Pop authored
This big patch converts the bdev Assemble() methods and the supporting functions to raise exceptions instead of returning False. This is a big patch, since the assembly functions touch other functions: add children, creation, etc. However, the patch does not add much new code, rather it reworks existing code. One of the biggest changes is in the rework of the DRBD8._SlowAssemble() method (one of the most complicated/ugly ones). Hopefully the new version is a little bit more readable. Reviewed-by: ultrotter
-
Iustin Pop authored
Currently, the Remove() methods of block devices return True/False. This doesn't permit any error detail reporting. This patch changes the return type to None for success, and raises BlockDeviceError in case of failure. This permits the details to be passed up the stack. The patch also simplifies a little the Remove method of file-based devices (no stat first, just try unlink). Reviewed-by: ultrotter
-
Iustin Pop authored
This converts the backend and cmdlib modules to a (status, data) implementation of the blockdev_remove rpc call. bdev.py is not yet converted, so we don't actually have error information. We also fix a bug in _RemoveDisks by not reusing a variable. Reviewed-by: ultrotter
-
Iustin Pop authored
Currently, the Shutdown() methods of block devices return True/False. This doesn't permit any error detail reporting. This patch changes the return type to None for success, and raises BlockDeviceError in case of failure. This permits the details to be passed up the stack. For LVM and file-backed devices, this is a simple change. For DRBD, we first remove the shutdown of disks in case of network activation failures (since with static minors the minor is used anyway, we don't gain anything by clearing it), and the we simply change _ShutdownAll() to raise an exception. Reviewed-by: ultrotter
-
Iustin Pop authored
This converts the backend and cmdlib modules to a (status, data) implementation of the blockdev_shutdown rpc call. bdev.py is not yet converted, so we don't actually have error information. We also fix a bug in _ShutdownInstanceDisks by not reusing a variable. Reviewed-by: ultrotter
-
Iustin Pop authored
This converts the RPC call blockdev_assemble to the new-style result format. Note that we won't usually have error information, but it's the first step toward it. Reviewed-by: ultrotter
-
Iustin Pop authored
Child classes of _R_TAGS must define TAG_LEVEL, but for good style let's define it also here to at least ensure we don't get a 'Unknown attribute' exception. Of course, this also silences a pylint warning. Reviewed-by: amishchenko
-
Guido Trotter authored
In LUSetInstanceParam we used to save the dict without defaults for the instance params as hv_inst, but to use the populated one for the instance (hv_new). Fixing this leads to instances without all the parameters set. Reviewed-by: iustinp
-
Guido Trotter authored
The comment is not really true anymore, as we have a lot of parameters nowadays. Reviewed-by: iustinp
-
Guido Trotter authored
1) Only instance_name is available 2) There was a missing string parameter Reviewed-by: iustinp
-
Iustin Pop authored
This was skipped in the previous QA patch. Reviewed-by: imsnah
-
- Feb 09, 2009
-
-
Guido Trotter authored
In some cases 'mouse' may work better than 'tablet', so we'll handle both by allowing the user to specify a parameter. By default no mouse is used. Reviewed-by: iustinp
-
Guido Trotter authored
With this patch we allow KVM instances to be booted off the network. The only issue is that this is not compatible with virtio nics, so we disallow them, when booting from the net. Reviewed-by: iustinp
-
Guido Trotter authored
When executing the KVM runtime we load the nic type from the runtime hvparams and use it to specify the nic model type. As for the disk we translate the DEV_PARAVIRTUAL type to 'virtio'. Reviewed-by: iustinp
-
Guido Trotter authored
They'll be used to set the nic type when we execute the runtime, since the nics are processed later. We need to save the hvparams because we want to use the same one as when we saved the runtime, rather than use the current instance ones, to avoid applying only some changed parameters when the runtime is loaded. Reviewed-by: iustinp
-
Guido Trotter authored
By passing the relevant if= value to the disk we support different disk types. The only change is that we'll translate "paravirtual" to "virtio" to keep only one "paravirtualized" value, around ganeti. The if= value is calculated outside the disks loop, as it's the same for all disks (as currently ganeti doesn't support per-disk params). Reviewed-by: iustinp
-
Guido Trotter authored
Copy the message from the KVM one, adding a missing 'the' and a list of possible values, to help the user in his decision. Reviewed-by: iustinp
-
Guido Trotter authored
- Add a bunch of NICs and DISKs types - Specify which one are valid disks and nics for KVM (the new ones toghether with some of the old ones) - Add the default values (paravirtual) - Allow the disk and nic types as parameters and check their validity Reviewed-by: iustinp
-
Guido Trotter authored
These are not HVM specific, so have been given an HT generic name. Reviewed-by: iustinp
-
Guido Trotter authored
The VNC base port has nothing to do with HVM itself, and is general to VNC itself, so we're removing the HT_HVM prefix to the constant. Reviewed-by: iustinp
-
Iustin Pop authored
This patch adds a new instance query flag called disk_usage that retrieves the overall space used by an instance on each of its nodes. This can be used when balancing the cluster or checking N+1 status. The flag is also exported in RAPI. Note the flag is currently broken for file-based instances, as it represents the amount of space in the cluster volume group. Reviewed-by: ultrotter
-
Iustin Pop authored
Currently, the names of the functions in backend.py that are actually RPC procedures and are called from ganeti-noded are not corresponding to the RPC names. This makes it hard to actually see which functions are exported and which functions are internal to backend. This patch renames all blockdevice-related functions in backend.py match the name of the RPC call (without the ‘call’ or ‘perspective’ prefix). This should make it easier to grep for a given function called in cmdlib, without having to open and check in ganet-inoded what backend function it corresponds to. The patch also does two minor extra cleanups (rename a variable and change a logging level). Reviewed-by: ultrotter
-
Iustin Pop authored
This patch adds two utility functions for raising BlockDeviceError exceptions and for running functions while ignoring this error. Most of the manual “raise errors.BlockDeviceError” cases are converted to _ThrowError, as this makes the code clearer. We also change most of the DRBD error messages to include the minor number because with the parallel execution of commands it's not longer possible to identify the failed DRBD just from the timestamp, and the minor number can be mapped back to the instance easier. Reviewed-by: ultrotter
-
Iustin Pop authored
This patch converts the call_blockdev_find - which searches for block devices and returns their status - to the (status, data) format. We also modify the backend function name to match the rpc call. Reviewed-by: ultrotter
-
Iustin Pop authored
This is a hand-picked forward patch of commit 1755 on the 1.2 branch (hand-picked since the trees diverged too much since then): The patch changed the xen hypervisor to compute the number of cpu sockets/nodes and enables the command line and the RAPI to show this information (for RAPI is enabled by default in node details, for gnt-one one can use the new “cnodes” and “csockets” fields). Originally-Reviewed-by: ultrotter For the KVM and fake hypervisors, the patch just exports 1 for both nodes and sockets. This can be fixed, by looking at the /sys/devices/system/cpu/cpuN/topology directories, and computing the actual information, but that should be done in a separate patch. Reviewed-by: imsnah
-
Iustin Pop authored
This patch fixes the error handling in the add OS to instance function with regard to invalid OSes. Previously, we didn't handle any such errors, with the end result that the user would have to look in the node daemon log. The patch also renames the name of the function to match the RPC call name. Reviewed-by: ultrotter
-
Iustin Pop authored
Currently the return value or errors from the block device Open() method are ignored. This patch catches any BlockDeviceErrors and returns a well-formatted result. Reviewed-by: ultrotter
-
Iustin Pop authored
By using the RemoteFailMsg() or the payload field of RpcResult, we can simplify a few functions in cmdlib. Reviewed-by: ultrotter
-
Iustin Pop authored
For results which use the (status, payload) response type, it's easier to define a ‘payload’ field on the result holding the payload than to extract it using “data[1]” in the caller code. Reviewed-by: ultrotter
-
Iustin Pop authored
In lockless queries, it's better if we see the instance in ADMIN_down rather than ERROR_down during the time it's installed. As such, we change the LU to only mark the instance 'up' at the time we are ready to start it. Reviewed-by: ultrotter
-
- Feb 07, 2009
-
-
Guido Trotter authored
Apparently it's not supported. Also add -boot command line parameters to kvm, since they seem to help booting from the right place. Everything will still only work when not using a kernel, but well... :) Reviewed-by: iustinp
-
Guido Trotter authored
Reviewed-by: iustinp
-
Guido Trotter authored
The cdrom image has the same meaning than in Xen HVM, and so does boot_order, even though it has a slightly different syntax, and uses the value 'disk' too boot from disk and 'cdrom' to boot from cdrom. Reviewed-by: iustinp
-
Guido Trotter authored
Confusingly, as a leftober from 1.2, there was a constants.HT_HVM_DEFAULT_BOOT_ORDER constant, with a value opposite to the default HV_BOOT_ORDER hv param that got enabled only if HV_BOOT_ORDER was set to None. Since setting it to None is very hard/impossible for the user, and we didn't handle other "empty" values (False, ''), we'll just force the parameter to have a valid value (after all we have a default, and that's the way we use hvparams) and get rid of the old constant altoghether. Reviewed-by: iustinp
-
- Feb 06, 2009
-
-
Iustin Pop authored
Since we by default now use SSL for RAPI, we need to switch the QA tests to SSL too. Reviewed-by: amishchenko
-
Iustin Pop authored
This patch fixes a couple of issues with the job listing: - in case of a non-existing job, nicely raise 404 instead of 500 - in the job detail listing, also list the job log, the job timestamps, etc. - the opcode migrate instance was missing its description field Reviewed-by: imsnah
-
- Feb 05, 2009
-
-
Iustin Pop authored
This patch fixes the SSL mode (by actually constructing SSL parameters from the command line options) and enables SSL by default; the old “-S” option which enabled SSL is now changed to “--no-ssl”. The certificate and key are by default pointing to the Ganeti auto-generated certificate for rapi. Reviewed-by: imsnah
-