(2.13) qmp: Add helper methods to verify hotplug support
Introduce CheckDiskHotAddSupport() and CheckNicHotAddSupport()helper methods that will be used to verify hotplug support.Both check for fdsend python module and if the required qmpcommands are supported....
(2.13) qmp: Add GetFd() wrapper around getfd command
getfd qmp command will be used to pass an fd using SCM_RIGHTSand name it properly so that NIC hot-add can take place.
Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>Reviewed-by: Hrvoje Ribicic <riba@google.com>
(2.13) qmp: Refactor of add-fd and remove-fd commands
Instead of sending the qmp command along with the SCM_RIGHTS controlmessage we send just a blank (idea taken from qemu iotests). Then weinvoke the corresponding command (add-fd, remove-fd) with theregular way (qmp.Execute). Since the qmp connection does not close...
(2.13) utils: Introduce GetFreeSlot() function
Since this is a generic function that implements bitarray logic moveit from kvm to utils so that it can be easily used across all modules.
Make it raise errors.GenericError if it cannot find a free slot in...
(2.13) kvm: Minor refactor of MonitorSocket
Create socket upon connect(), keep the status of connection(self._connected = False) in close(), make existing connect()method protected and let connect() act as a reconnect method.
Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>...
(2.13) Let drbd disks resync during cluster verify
Commit 9b0e86e issues an error during cluster verify if the statusof DRBD is degraded and if the local disk is not UpToDate.
Still in case of a newly created instance or a newly attached disk with--no-wait-for-sync, if a cluster verify runs it will report errors...
(2.12) Gen nic_type related opts inside _WriteNicConfig()
The xen-hvm hypervisor has two extra hvparams concerning NICS;nic_type, and vif_type. Let _WriteNicConfig() calculate all neededextra options for the instance's NICs based on its hvparams.
(2.12) Fix NIC options in Xen's config files
Commit e32cc48 added wrongly an extra comma between mac andtype in NIC options. Fix this.
Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>Signed-off-by: Klaus Aehlig <aehlig@google.com>Reviewed-by: Klaus Aehlig <aehlig@google.com>
(2.12) Refactor NIC configuration for Xen
Extract common code between the PVM and HVM Xen hypervisors regardingNIC configuration.
Signed-off-by: Jose A. Lopes <jabolopes@google.com>Reviewed-by: Hrvoje Ribicic <riba@google.com>
(2.12) Move 'ConfigureNIC' to 'hv_base'
... so it can be reused by the Xen hypervisor.
Signed-off-by: Jose A. Lopes <jabolopes@google.com>Reviewed-by: Hrvoje Ribicic <riba@google.com>Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
(2.13) Fix size handling in ExtStorage
Commit 9504487 introduced the Snapshot() method in ExtStrorage,where the snap_size was erroneously exported to the externalscript's environment without making it a string. This patch fixesthat in the following manner: The size/snap_size/grow of a disk are...
(2.13) Check if chroot/SM is used without add-fd support
..and raise HotplugError inside VerifyHotplugSupport(). Thisway disk hot-add is not supported only if chroot or user/poolsecurity model is used AND QMP does not support add-fd command(QEMU versions < 1.7) OR fdsend python module is missing....
(2.13) Support disk hot-add even with chroot or SM
Up until now we did not allow disk hot-add in case of chrootor pool/user security model because the running QEMU processdoes not have access permissions on the disk link.
This patch slightly changes the way we hot-add a disk; before...
(2.13) Some minor kvm refactoring wrt hotplug
Make _CallHotplugCommands() a classmethod, rename _PassTapFd()to _HMPPassFd() and make it a wrapper for MonitorSocket's GetFd().
Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>Reviewed-by: Helga Velroyen <helgav@google.com>
(2.13) Add helper methods for passing fds via SCM_RIGHTS
..through qemu monitor sockets using fdsend.
For the hmp the `get-fd` command is used while for the qmp the`add-fd` command is used, where the fd is added to the firstavailable fdset. Currently the first one is used during NIC hot-add...
(2.13) Let the snapshot script be optional
..for the ExtStorage providers. This way we do not breakcompatibility with existing providers that do not implementsuch a functionality.
In case an action that is not supported is requested raisethe proper exception....
(2.13) Update docs wrt snapshot support for ext
Mention the new snapshot script and the new exported variablesin both docs and man pages.
(2.13) Add snap_name/size to the blockdev_snapshot RPC
Currently, this remains unused, until we add support forexplicitly snapshotting instance disks.
(2.13) Support Snapshot() for the ExtStorage interface
The `snapshot` script is added to the interface and the new variablesVOL_SNAPSHOT_NAME and VOL_SNAPSHOT_SIZE are exported to theenvironment.
(2.13) Introduce Snapshot() method at bdev
Currently the Snapshot() method is used only during`gnt-backup export` and is only implemented in the LogicalVolume()class.
This patch makes this method a BlockDev() method, changes itssignature so that it can take both snap_size and snap_name and...
(2.13) Export logical_id info to hooks env
..and let utils compute the hooks environment related to disks.
Until now, the only exported information regarding disks in hookscontext was their size, mode, name and uuid.
With this patch, depending on the disk template, we export the info...
(2.13) Allow NICs with routed mode and no IP
..in case attached to a network.
This allows us to define an IPv6 only network (currently with adummy IPv4 subnet) with connectivity mode 'routed' and let a NICinside this network have only an IPv6 address, e.g. an...
(2.13) Pass the access parameter to ExtStorage template
Add the ExtStorage template to the set of templates that accept the'access' parameter. The default 'access' of the node-group forExtStorage devices will be 'kernelspace'.
Update the man page for gnt-instance to state that ExtStorage templates...
(2.13) Handle IDISK_ACCESS parameter in ComputeDisks
The IDISK_ACCESS disk parameter was not handled in the 'ComputeDisks'function, thus the 'access' parameter was ignored during the instancecreation. This patch fixes this and also fixes a typo in'_VerifyDiskModification'....
(2.13) Implement GetUserspaceAccessUri for ExtStorage
Allow ExtStorage devices to support userspace access.The 'attach' script of an ExtStorage provider is now allowed to returnmore than one line. The first line will contain as always the blockdevice path. Each one of the extra lines will contain a URI to be used...
(2.13) Move ExtStorage code out from bdev
Move the ExtStorage related code out from bdev to a newfile called 'extstorage.py'.
Signed-off-by: Ilias Tsitsimpis <iliastsi@grnet.gr>Signed-off-by: Thomas Thrainer <thomasth@google.com>Reviewed-by: Thomas Thrainer <thomasth@google.com>...
(2.13) Design document for ExtStorage userspace access
This patch extends the 'shared-storage' design document and morespecifically the ExtStorage Interface to support userspace disk access.
Signed-off-by: Ilias Tsitsimpis <iliastsi@grnet.gr>Signed-off-by: Thomas Thrainer <thomasth@google.com>...
(2.13) Add 'access' disk option to man pages
Update 'gnt-instance' man page and document the 'access' disk option.Also fix a typo in 'metavg' disk parameter.
Signed-off-by: Ilias Tsitsimpis <iliastsi@grnet.gr>Signed-off-by: Klaus Aehlig <aehlig@google.com>...
(2.13) Make 'access' an optional disk parameter
This patch makes 'access' an optional disk parameter just likespindles, mode, name, vg and metavg. This option can only be set to'kernelspace' or 'userspace'. When 'userspace' is used, the instancewill access this disk directly without going through a block device....
(2.12) Add support for KVM multiqueue virtio-net
This patch adds support for multiqueue virtio-net1 which sets a number ofqueues (file descriptors) from virtio_net_queues parameter for tap deviceto parallelize packets sending or receiving. Tap devices will be created with...
(2.12) Add DiskParams to Disk object
The 'DiskParams' slot was missing from Haskell's Disk objects.Since Wconfd is now responsible for writting the config file this wascausing the 'params' slot to not be written in the config file.
Signed-off-by: Ilias Tsitsimpis <iliastsi@grnet.gr>...
(2.12) Rename DiskParams to GroupDiskParams
DiskParams was used for the cluster/group disk parameters type. Thispatch renames it to GroupDiskParams and uses the DiskParams type forthe parameters of one single Disk object.
(2.12) QMP: make QmpConnection act as a context manager
This will allow automatic connection and socket cleanup on commandcompletion.
We also repeat the Qmp tests using the context manager. For this to befeasible, we move the test scenario to class variables and modify...
(2.12) QMP: always return the command result
According to the QEMU Machine Protocol Specification, the messages sentby QMP as a response to a command can be of two types: either an errormessage (identified by the "error" key), or a success message(identified by the "return" key)....
(2.12) QMP: keep greeting message version info
QMP will always report the QEMU version and package-specific string inthe greeting message, as per the QEMU Machine Protocol Specification. Westore this information and make it available to users of the monitor....
(2.12) QMP: test supported_commands
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>
(2.12) QMP: raise exception on unsupported QMP command
Raise a special exception, qmp.QmpCommandNotSupported, whenever anunsupported QMP command is about to be executed. This is intended toassist in falling back to the human monitor for hotplug operations. As...
(2.12) QMP: fetch supported commands on connect
Store the set of supported QMP commands inQmpConnection.supported_commands. This allows selective error handlingto give the caller a chance to downgrade to HMP when unsupportedcommands are encountered.
The `query-commands` QMP command used to implement this, appeared in...
(2.12) KVM: move tap control functions to a submodule
Move all tap-related functionality to the hv_kvm.netdev submodule.We rename _OpenTap to OpenTap, since it will now be used as a publicfunction.
Also, change the hv_kvm tests to import the new code....
(2.12) Convert QmpMessage to a new-style class
Signed-off-by: Apollon Oikonomopoulos <apoikos@gmail.com>Reviewed-by: Hrvoje Ribicic <riba@google.com>
(2.12) KVM: move monitor & QMP classes to a submodule
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>Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
(2.12) Convert hv_kvm to a package
Weighing in at 3k LOC, it is probably time to split hv_kvm into anumber of modules before adding new code.
(2.12) kvm: Add migration capabilities as an hvparam
Latest QEMU versions support various migration capabilities. Eachcan be enabled/disabled with 'migrate_set_capability' monitorcommand.
Version 1.7.0 defines x-rdma-pin-all, auto-converge, zero-blocks,...
(2.12) Add TAP interface name as argument in '_OpenTap'
This is necessary in order to create TAP interfaces for thecommunication mechanism, which are named 'gnt.com.%d', where '%d' is aunique number within a given node.
Signed-off-by: Jose A. Lopes <jabolopes@google.com>...
(2.12) Rename 'CdromOption' to '_CdromOption'
... because it is a protected definition.
Signed-off-by: Jose A. Lopes <jabolopes@google.com>Reviewed-by: Michele Tartara <mtartara@google.com>Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
(2.12) Fix KVM cdrom image URL in the second cdrom drive
(2.12) kvm: check that the ISO image is there if it's a URL
Perform a simple urllib2 check on ISO images specified as URL beforeinstance start, so as to work around qemu bug #597575 [1].
[1] https://bugs.launchpad.net/qemu/+bug/597575
Signed-off-by: Apollon Oikonomopoulos <apollon@noc.grnet.gr>...
(2.12) Allow KVM to boot from HTTP
New versions of KVM support booting from HTTP-hosted ISO images, vialibcurl. This patch adds a proper check to allow defining either a sane,absolute path or an HTTP URL as an iso image path.
Remove "format=raw" from the cdrom device options when iso_image starts...
(2.11) Add andRestArguments to IDiskParams
In this way, we cann pass through the opaque parametersrequired for disk creation and modification in the case ofexternal storage.
Signed-off-by: Klaus Aehlig <aehlig@google.com>Reviewed-by: Petr Pudlak <pudlak@google.com>...
(2.11) Add function providing the canonical andRestArguments
The field catching the remaining fields will always be of the sameshape, so add a function for this to make usage simple.
« Previous 1 2 3 4 ... 322 Next » (51-100/16089) | Per page: 25, 50, 100
Also available in: Atom