- 08 Apr, 2014 7 commits
-
-
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 13 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>
-
Klaus Aehlig authored
Verify that every owner mentioned in the output of listAllLocksOwners actually owns the locks claimed. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Klaus Aehlig authored
Add a test verifying that whenever an owner owns a lock, it is also mentioned in the output of listAllLocksOwners. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Klaus Aehlig authored
As listAllLocks is supposed to list all locks currently in use, this should be a superset listAllLocksOwners, i.e., of all locks actively owned by some user. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Klaus Aehlig authored
This function will be used to provide the information required to answer lock queries. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Klaus Aehlig authored
...to simplify debugging the lock status. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Klaus Aehlig authored
Make wconfd provide information about the list of all locks currently in use. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Klaus Aehlig authored
Verify that all locks owned by someone are included in the list of all (active) locks. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Klaus Aehlig authored
Add a function that extracts from a LockAllocation the list of all locks that are in use (directly or indirectly). Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
- 03 Apr, 2014 5 commits
-
-
Petr Pudlak authored
Remove unused imports and update the 'buildCall' call in tests. Signed-off-by:
Petr Pudlak <pudlak@google.com> Reviewed-by:
Klaus Aehlig <aehlig@google.com>
-
Petr Pudlak authored
The client is generated automatically by Ganeti.THH.HsRPC. It also includes helper functions for creating a client object. Signed-off-by:
Petr Pudlak <pudlak@google.com> Reviewed-by:
Klaus Aehlig <aehlig@google.com>
-
Petr Pudlak authored
It uses TH to create client functions with the corresponding signature from a given list of server functions. Signed-off-by:
Petr Pudlak <pudlak@google.com> Reviewed-by:
Klaus Aehlig <aehlig@google.com>
-
Petr Pudlak authored
.. and also a function for extracting a type argument from a type. Signed-off-by:
Petr Pudlak <pudlak@google.com> Reviewed-by:
Klaus Aehlig <aehlig@google.com>
-
Petr Pudlak authored
.. to that they're available for other Luxi-like RPC clients as well. While at it, rename validateResult to parseResponse to be consistent with the names of the other functions. Signed-off-by:
Petr Pudlak <pudlak@google.com> Reviewed-by:
Klaus Aehlig <aehlig@google.com>
-