- Feb 10, 2009
-
-
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
-
Iustin Pop authored
The start_action function is changed so that it can be called with arguments - this could be used to parse a defaults file, etc. Reviewed-by: imsnah
-
Guido Trotter authored
With this parameters VNC for KVM is able to be protected by tls, optionally with an x509 certificate, and optionally verifying the client as well. Additionally in this patch we limit the bind address to being a directory, rather than a file or a directory, for simplicity, as it allows for the same level of control anyway. Reviewed-by: iustinp
-
Guido Trotter authored
Before we forced the VNC_BIND_ADDRESS to be an ip. Now we also accept a path, and bind the instance to it, or to a file in it if it's a directory. Reviewed-by: iustinp
-
Iustin Pop authored
This patch converts some more jobs with only queries into cheaper luxi queries (no job created), and fixes some fallout from the lockless queries changes. Reviewed-by: ultrotter
-
Iustin Pop authored
This patch fixes the RAPI QA tests to work with today's RAPI code and also does some other minor improvements: - QA: only create the cluster if so configured (‘create-cluster’ key), this allows running parts of the QA suite against existing clusters - export the “hvparams” for instances in RAPI Reviewed-by: imsnah
-