- 08 Apr, 2014 20 commits
-
-
Hrvoje Ribicic authored
This patch adds the two parameters to gnt-backup export, documenting their meanings in the manual file as well. Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Jose A. Lopes <jabolopes@google.com>
-
Hrvoje Ribicic authored
This patch adds two parameters controlling the zeroing timeout - one that is fixed and another that depends on the amount of data (size of disks) to zero. Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Jose A. Lopes <jabolopes@google.com>
-
Hrvoje Ribicic authored
This patch moves towards the actual zeroing by providing a function that determines the necessary size and creates and destroys a temporary disk. Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Jose A. Lopes <jabolopes@google.com>
-
Hrvoje Ribicic authored
To create a temporary disk, it is necessary to know just how big this disk must be. This patch adds a function that retrieves this information for both data sources - a URL and a file. Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Jose A. Lopes <jabolopes@google.com>
-
Hrvoje Ribicic authored
Due to the need to determine the size of the temporary disk used for the VM helper, an RPC call capable of supplying this information has been added. It can be extended as needed to supply additional information provided by Python's os.stat. Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Jose A. Lopes <jabolopes@google.com>
-
Hrvoje Ribicic authored
The assert stating that the disk did not have to be activated made sense once the instance's disks were never completely deactivated. With zeroing, the assumption no longer holds true, and should be replaced by a check that the disks of the instance are indeed active. Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Jose A. Lopes <jabolopes@google.com>
-
Hrvoje Ribicic authored
The instance zeroing requires that a virtual appliance capable of performing it is used, and short of provisioning another VM, the best Ganeti can do is reuse the virtualization environment of the instance. To do this, a disk is needed to host the OS performing the zeroing, and this patch introduces a utility function that temporarily creates one. This disk is not meant to last, and almost all Ganeti checks will scream and flail upon seeing it. This is intentional. It should not survive any more than needed, and the context manager syntax should enforce its use as such. Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Jose A. Lopes <jabolopes@google.com>
-
Hrvoje Ribicic authored
Examining whether an instance is running is useful outside the instance state check, especially as the check relies on the admin_state recorded within the configuration, which the code treats as the desired rather than the actual state. This patch pulls the check out into a separate function. It also updates the function to account for possible user shutdowns, if the right option is passed. Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Jose A. Lopes <jabolopes@google.com>
-
Hrvoje Ribicic authored
This patch adds a node lock if zeroing is used, preventing any operations that might interfere with the amount of available space. Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Jose A. Lopes <jabolopes@google.com>
-
Hrvoje Ribicic authored
This patch adds the option, allowing the CLI client to use the zeroing option to save space when compressing images. Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Jose A. Lopes <jabolopes@google.com>
-
Hrvoje Ribicic authored
This patch adds a short description of the zeroing-image parameter to the manual page of gnt-cluster. Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Jose A. Lopes <jabolopes@google.com>
-
Hrvoje Ribicic authored
This patch adds the zeroing-image option to gnt-cluster and the OpBackupExport params. The many changes are all minor, yet necessary. Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Jose A. Lopes <jabolopes@google.com>
-
Hrvoje Ribicic authored
The image validity check has been implemented as a part of the OS installs, yet it could be useful for the zeroing image as well. This patch factors the utility out. Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Jose A. Lopes <jabolopes@google.com>
-
Hrvoje Ribicic authored
The first version of zeroing requires two things: that the self-initiated shutdown of the instance can be detected, and that the instance boots from the first disk supplied to it. This patch checks for these by examining the hypervisor parameters. Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Jose A. Lopes <jabolopes@google.com>
-
Hrvoje Ribicic authored
Although unused for now, add the zero-free-space option to the backup export opcode, and add a rudimentary check for whether it should be used. Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Jose A. Lopes <jabolopes@google.com>
-
Apollon Oikonomopoulos authored
According to the QEMU Machine Protocol Specification, the messages sent by QMP as a response to a command can be of two types: either an error message (identified by the "error" key), or a success message (identified by the "return" key). Since we explicitly handle errors by raising a HypervisorError, there is no reason to return the whole response message; instead we return only the response part, which is the dual behavior of accepting commands from the callers without the surrounding {"execute": ...} object. We also unexport the RETURN_KEY constant, which is now only used internally. Signed-off-by:
Apollon Oikonomopoulos <apoikos@gmail.com> Signed-off-by:
Thomas Thrainer <thomasth@google.com> Reviewed-by:
Thomas Thrainer <thomasth@google.com>
-
Apollon Oikonomopoulos authored
QMP will always report the QEMU version and package-specific string in the greeting message, as per the QEMU Machine Protocol Specification. We store this information and make it available to users of the monitor. Signed-off-by:
Apollon Oikonomopoulos <apoikos@gmail.com> Signed-off-by:
Thomas Thrainer <thomasth@google.com> Reviewed-by:
Thomas Thrainer <thomasth@google.com>
-
Apollon Oikonomopoulos authored
Add test for supported_commands. Signed-off-by:
Apollon Oikonomopoulos <apoikos@gmail.com> Signed-off-by:
Thomas Thrainer <thomasth@google.com> Reviewed-by:
Thomas Thrainer <thomasth@google.com>
-
Apollon Oikonomopoulos authored
Raise a special exception, qmp.QmpCommandNotSupported, whenever an unsupported QMP command is about to be executed. This is intended to assist in falling back to the human monitor for hotplug operations. As such, it is KVM-internal and therefore the exception is not defined in ganeti.errors. Signed-off-by:
Apollon Oikonomopoulos <apoikos@gmail.com> Signed-off-by:
Thomas Thrainer <thomasth@google.com> Reviewed-by:
Thomas Thrainer <thomasth@google.com>
-
Apollon Oikonomopoulos authored
Store the set of supported QMP commands in QmpConnection.supported_commands. This allows selective error handling to give the caller a chance to downgrade to HMP when unsupported commands are encountered. The `query-commands` QMP command used to implement this, appeared in QEMU 0.14.0 together with QMP itself, so it is supported by all instances featuring a QMP monitor. Signed-off-by:
Apollon Oikonomopoulos <apoikos@gmail.com> Signed-off-by:
Thomas Thrainer <thomasth@google.com> Reviewed-by:
Thomas Thrainer <thomasth@google.com>
-
- 07 Apr, 2014 15 commits
-
-
Jose A. Lopes authored
This patch makes the metadata daemon web server serve the OS scripts via the instance communication mechanism. This is achieved by retrieving the "os" field from the instance parameters and serving the file directly from the 'Constants.osSearchPath', typically '/srv/ganeti/os/*/{create,import,export,rename,verify}'. Signed-off-by:
Jose A. Lopes <jabolopes@google.com> Reviewed-by:
Hrvoje Ribicic <riba@google.com>
-
Jose A. Lopes authored
This will allow the metadata daemon to keep a more general instance configuration and thus serve more general requests, such as, serving information related to the OS scripts. Signed-off-by:
Jose A. Lopes <jabolopes@google.com> Reviewed-by:
Hrvoje Ribicic <riba@google.com>
-
Jose A. Lopes authored
... as an intermediate step before moving the responsbility of computing the final OS parameter configuration from the configuration server to the web server. This will allow the metadata daemon to store a more general configuration and thus reuse that configuration for replying to more general queries. Signed-off-by:
Jose A. Lopes <jabolopes@google.com> Reviewed-by:
Hrvoje Ribicic <riba@google.com>
-
Jose A. Lopes authored
Signed-off-by:
Jose A. Lopes <jabolopes@google.com> Reviewed-by:
Hrvoje Ribicic <riba@google.com>
-
Klaus Aehlig authored
...that was lost in the merge Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Hrvoje Ribicic <riba@google.com>
-
Klaus Aehlig authored
* stable-2.11 (no changes) * stable-2.10 KVM: use running HVPs to calc blockdev options KVM: reserve a PCI slot for the SCSI controller Check for LVM-based verification results only when enabled Fix "existing" typos Fix output of gnt-instance info after migration Verify configuration version number before parsing Conflicts: lib/config.py: manually apply 2dc0acb9 to the version on master Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Hrvoje Ribicic <riba@google.com>
-
Apollon Oikonomopoulos authored
Move all tap-related functionality to the hv_kvm.netdev submodule. We rename _OpenTap to OpenTap, since it will now be used as a public function. Also, change the hv_kvm tests to import the new code. Signed-off-by:
Apollon Oikonomopoulos <apoikos@gmail.com> Reviewed-by:
Hrvoje Ribicic <riba@google.com>
-
Apollon Oikonomopoulos authored
Signed-off-by:
Apollon Oikonomopoulos <apoikos@gmail.com> Reviewed-by:
Hrvoje Ribicic <riba@google.com>
-
Apollon Oikonomopoulos authored
We move the HMP and QMP classes to the hv_kvm.monitor module. Signed-off-by:
Apollon Oikonomopoulos <apoikos@gmail.com> Reviewed-by:
Hrvoje Ribicic <riba@google.com>
-
Apollon Oikonomopoulos authored
Weighing in at 3k LOC, it is probably time to split hv_kvm into a number of modules before adding new code. Signed-off-by:
Apollon Oikonomopoulos <apoikos@gmail.com> Reviewed-by:
Hrvoje Ribicic <riba@google.com>
-
Klaus Aehlig authored
* stable-2.10 KVM: use running HVPs to calc blockdev options KVM: reserve a PCI slot for the SCSI controller Check for LVM-based verification results only when enabled Fix "existing" typos Fix output of gnt-instance info after migration Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Hrvoje Ribicic <riba@google.com>
-
Klaus Aehlig authored
...instead of Either String JobId. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Klaus Aehlig authored
Verify that the JSON encoding of the ClientType can correctly be decoded. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Klaus Aehlig authored
Make ClientType a JSON instance, in the way lock owners are already encoded in JSON on the Python side. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Klaus Aehlig authored
While it is unlikely that lock owners will ever be represented by something different than a job id or, exceptionally, a string, this type will still improves type checking. Additionally, it will allow us to make it a separate instance of JSON and thus simplify the parts of WConfD related to communication. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
- 04 Apr, 2014 5 commits
-
-
Klaus Aehlig authored
Since WConfD is now the authoritative source for locks, make LuxiD query this daemon for lock information rather than the master daemon. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Hrvoje Ribicic <riba@google.com>
-
Klaus Aehlig authored
So far, the description of the locks fields was made under the assumption that lock queries wouldn't be answered by Luxid anyway, and hence it was enough to parse such requests. However, now luxid will answer these queries after getting a snapshot of the locks status from wconfd. Hence make the fields describe how to obtain the information from the data obtained at run time. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Klaus Aehlig authored
...as locks are queried by name. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Klaus Aehlig authored
...so that wconfd's point of view on locks can be debugged directly. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Klaus Aehlig authored
...so that LuxiD can ask for the lock status to answer lock queries. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-