Revision:

Revisions

# Date Author Comment
ad0dec28 11/29/2014 02:15 pm Dimitris Aragiorgis

(2.13) kvm: Use the new interface during instance start

Use new OpenTap() and _GetNetworkDeviceFeatures() interfaces
during _ExecuteKVMRuntime().

Signed-off-by: Dimitris Aragiorgis <>
Reviewed-by: Hrvoje Ribicic <>

8e9936c9 11/29/2014 02:14 pm Dimitris Aragiorgis

(2.13) monitor: Extend HotAddNic() for advanced features

In case vhost is enabled we have to pass the vhostfds as returned by
OpenTap() via SCM_RIGHTS prior issuing netdev_add command with vhost
and vhostfds extra arguments.

In case multiqueue is enabled we add the mq and vectors extra...

f056ea6e 11/29/2014 02:14 pm Dimitris Aragiorgis

(2.13) kvm: Refactor _GetNetworkDeviceFeatures() helper

Make _GetNetworkDeviceFeatures() return a tuple of (dict, str, str).
The first item should be a dictionary including the enabled
netdev/device features (vhost, vnet_hdr, mq). The other two are
strings to be appended to --netdev and --device qemu options....

ebd94bb8 11/29/2014 02:14 pm Dimitris Aragiorgis

(2.13) netdev: Refactor OpenTap for future use

Make OpenTap() helper method to take a dictionary with the features
that should be enabled or not. Currently these features are: vhost,
vnet_hdr, multiqueue.

In case vhost is enabled, along with the tapfds we return a list of...

69efb683 11/29/2014 02:14 pm Dimitris Aragiorgis

(2.13) hotplug: Use QMP in VerifyHotplugCommand

This used to check whether a specific hotplug action has succeeded.
Use HasPCIDevice() qmp method to verify if the requested device
exists or not.

Signed-off-by: Dimitris Aragiorgis <>
Reviewed-by: Hrvoje Ribicic <>

a5d3c214 11/29/2014 02:14 pm Dimitris Aragiorgis

(2.13) hotplug: Use QMP in VerifyHotplugSupport

This used to check whether a specific hotplug action is supported.
Since everything is about to be done via qmp commands delegate these
checks to QmpConnection class.

Signed-off-by: Dimitris Aragiorgis <>...

7522d70a 11/29/2014 02:14 pm Dimitris Aragiorgis

(2.13) monitor: Close socket fd if already connected

We close the socket fd only if we have an active connection.
We hide this logic in the public close() method, and all
the actions are moved to a private method.

Signed-off-by: Dimitris Aragiorgis <>...

d4b2c7d3 11/29/2014 02:14 pm Dimitris Aragiorgis

(2.13) kvm: New _with_qmp decorator

The decorator takes the hypervisor and the instance object as passed
to all hotplug related commands and ensures a valid QmpConnection()
object is found in hypervisor's qmp attribute.

This decorator is responsible for all actions related to the...

d9b87669 11/29/2014 02:13 pm Dimitris Aragiorgis

(2.13) qmp: Add Disk hotplugging related methods

HotAddDisk() uses blockdev-add and device_add after getting the
drive fd and passing it with the AddFd() helper method. Please note
that in case of userspace access mode this step will be omitted.

HotDelDisk() uses device_del. Please note that drive_del is...

185cf1a0 11/29/2014 02:13 pm Dimitris Aragiorgis

(2.13) qmp: Add NIC hotplugging related methods

HotAddNic() uses netdev_add and device_add after passing the tapfd
to the running process with the GetFd() helper method.

HotDelNic() uses device_del and netdev_del qmp commands.

Signed-off-by: Dimitris Aragiorgis <>...

abcf0d71 11/29/2014 02:13 pm Dimitris Aragiorgis

(2.13) qmp: Helper methods for parsing query-pci output

Introduce GetPCIDevices() that gets the devices of the first PCI bus
of a running instance, HasPCIDevice() that will be used to verify
if a specific device is correctly hotplugged or not, and
GetFreePCISlot() that will be used during hot-add to find the first...

10879ac0 11/29/2014 02:13 pm Dimitris Aragiorgis

(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 qmp
commands are supported....

e58692cb 11/29/2014 02:13 pm Dimitris Aragiorgis

(2.13) qmp: Add GetFd() wrapper around getfd command

getfd qmp command will be used to pass an fd using SCM_RIGHTS
and name it properly so that NIC hot-add can take place.

Signed-off-by: Dimitris Aragiorgis <>
Reviewed-by: Hrvoje Ribicic <>

75f507c7 11/29/2014 02:13 pm Dimitris Aragiorgis

(2.13) qmp: Refactor of add-fd and remove-fd commands

Instead of sending the qmp command along with the SCM_RIGHTS control
message we send just a blank (idea taken from qemu iotests). Then we
invoke the corresponding command (add-fd, remove-fd) with the
regular way (qmp.Execute). Since the qmp connection does not close...

8bccb5c0 11/29/2014 02:13 pm Dimitris Aragiorgis

(2.13) utils: Introduce GetFreeSlot() function

Since this is a generic function that implements bitarray logic move
it 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...

750e33de 11/29/2014 02:12 pm Dimitris Aragiorgis

(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 <>...

d97ed74a 11/29/2014 02:12 pm Dimitris Aragiorgis

(2.13) Let drbd disks resync during cluster verify

Commit 9b0e86e issues an error during cluster verify if the status
of 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...

c1d63849 11/29/2014 01:14 pm Dimitris Aragiorgis

(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 needed
extra options for the instance's NICs based on its hvparams.

Signed-off-by: Dimitris Aragiorgis <>...

d9327062 11/29/2014 01:14 pm Dimitris Aragiorgis

(2.12) Fix NIC options in Xen's config files

Commit e32cc48 added wrongly an extra comma between mac and
type in NIC options. Fix this.

Signed-off-by: Dimitris Aragiorgis <>
Signed-off-by: Klaus Aehlig <>
Reviewed-by: Klaus Aehlig <>

21d7d1dd 11/29/2014 01:14 pm Jose A. Lopes

(2.12) Refactor NIC configuration for Xen

Extract common code between the PVM and HVM Xen hypervisors regarding
NIC configuration.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Hrvoje Ribicic <>

155de6fa 11/29/2014 01:14 pm Jose A. Lopes

(2.12) Move 'ConfigureNIC' to 'hv_base'

... so it can be reused by the Xen hypervisor.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Hrvoje Ribicic <>
Signed-off-by: Dimitris Aragiorgis <>

8b18a1fa 11/29/2014 01:14 pm Dimitris Aragiorgis

(2.13) Fix size handling in ExtStorage

Commit 9504487 introduced the Snapshot() method in ExtStrorage,
where the snap_size was erroneously exported to the external
script's environment without making it a string. This patch fixes
that in the following manner: The size/snap_size/grow of a disk are...

651f440a 11/29/2014 01:14 pm Dimitris Aragiorgis

(2.13) Check if chroot/SM is used without add-fd support

..and raise HotplugError inside VerifyHotplugSupport(). This
way disk hot-add is not supported only if chroot or user/pool
security model is used AND QMP does not support add-fd command
(QEMU versions < 1.7) OR fdsend python module is missing....

09a1a0a3 11/29/2014 01:14 pm Dimitris Aragiorgis

(2.13) Support disk hot-add even with chroot or SM

Up until now we did not allow disk hot-add in case of chroot
or pool/user security model because the running QEMU process
does not have access permissions on the disk link.

This patch slightly changes the way we hot-add a disk; before...

3faa2e90 11/29/2014 01:14 pm Dimitris Aragiorgis

(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 <>
Reviewed-by: Helga Velroyen <>

aa0650a1 11/29/2014 01:14 pm Dimitris Aragiorgis

(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 first
available fdset. Currently the first one is used during NIC hot-add...

b269dc53 11/29/2014 01:14 pm Dimitris Aragiorgis

(2.13) Let the snapshot script be optional

..for the ExtStorage providers. This way we do not break
compatibility with existing providers that do not implement
such a functionality.

In case an action that is not supported is requested raise
the proper exception....

954c7be2 11/29/2014 01:14 pm Dimitris Aragiorgis

(2.13) Update docs wrt snapshot support for ext

Mention the new snapshot script and the new exported variables
in both docs and man pages.

Signed-off-by: Dimitris Aragiorgis <>
Reviewed-by: Hrvoje Ribicic <>

f9696790 11/29/2014 01:14 pm Dimitris Aragiorgis

(2.13) Add snap_name/size to the blockdev_snapshot RPC

Currently, this remains unused, until we add support for
explicitly snapshotting instance disks.

Signed-off-by: Dimitris Aragiorgis <>
Reviewed-by: Hrvoje Ribicic <>

f138c4e8 11/29/2014 01:14 pm Dimitris Aragiorgis

(2.13) Support Snapshot() for the ExtStorage interface

The `snapshot` script is added to the interface and the new variables
VOL_SNAPSHOT_NAME and VOL_SNAPSHOT_SIZE are exported to the
environment.

Signed-off-by: Dimitris Aragiorgis <>
Reviewed-by: Hrvoje Ribicic <>

fc3cb1ee 11/29/2014 01:14 pm Dimitris Aragiorgis

(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 its
signature so that it can take both snap_size and snap_name and...

6858cff7 11/29/2014 01:14 pm Dimitris Aragiorgis

(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 hooks
context was their size, mode, name and uuid.

With this patch, depending on the disk template, we export the info...

1d02c193 11/29/2014 01:14 pm Dimitris Aragiorgis

(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 a
dummy IPv4 subnet) with connectivity mode 'routed' and let a NIC
inside this network have only an IPv6 address, e.g. an...

89228e27 11/29/2014 01:14 pm Ilias Tsitsimpis

(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 for
ExtStorage devices will be 'kernelspace'.

Update the man page for gnt-instance to state that ExtStorage templates...

b6cc13ae 11/29/2014 01:14 pm Ilias Tsitsimpis

(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 instance
creation. This patch fixes this and also fixes a typo in
'_VerifyDiskModification'....

2e74adab 11/29/2014 01:14 pm Ilias Tsitsimpis

(2.13) Implement GetUserspaceAccessUri for ExtStorage

Allow ExtStorage devices to support userspace access.
The 'attach' script of an ExtStorage provider is now allowed to return
more than one line. The first line will contain as always the block
device path. Each one of the extra lines will contain a URI to be used...

263671b0 11/29/2014 01:14 pm Ilias Tsitsimpis

(2.13) Move ExtStorage code out from bdev

Move the ExtStorage related code out from bdev to a new
file called 'extstorage.py'.

Signed-off-by: Ilias Tsitsimpis <>
Signed-off-by: Thomas Thrainer <>
Reviewed-by: Thomas Thrainer <>...

afe0ff87 11/29/2014 01:14 pm Ilias Tsitsimpis

(2.13) Design document for ExtStorage userspace access

This patch extends the 'shared-storage' design document and more
specifically the ExtStorage Interface to support userspace disk access.

Signed-off-by: Ilias Tsitsimpis <>
Signed-off-by: Thomas Thrainer <>...

f4b9b8a9 11/29/2014 01:14 pm Ilias Tsitsimpis

(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 <>
Signed-off-by: Klaus Aehlig <>...

c364219a 11/29/2014 01:14 pm Ilias Tsitsimpis

(2.13) Make 'access' an optional disk parameter

This patch makes 'access' an optional disk parameter just like
spindles, mode, name, vg and metavg. This option can only be set to
'kernelspace' or 'userspace'. When 'userspace' is used, the instance
will access this disk directly without going through a block device....

4bd7ab19 11/29/2014 01:14 pm Luka Blaskovic

(2.12) Add support for KVM multiqueue virtio-net

This patch adds support for multiqueue virtio-net1 which sets a number of
queues (file descriptors) from virtio_net_queues parameter for tap device
to parallelize packets sending or receiving. Tap devices will be created with...

e8cb51a1 11/29/2014 01:14 pm Ilias Tsitsimpis

(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 was
causing the 'params' slot to not be written in the config file.

Signed-off-by: Ilias Tsitsimpis <>...

e3b8ba58 11/29/2014 01:14 pm Ilias Tsitsimpis

(2.12) Rename DiskParams to GroupDiskParams

DiskParams was used for the cluster/group disk parameters type. This
patch renames it to GroupDiskParams and uses the DiskParams type for
the parameters of one single Disk object.

Signed-off-by: Ilias Tsitsimpis <>...

8bc9c55d 11/29/2014 01:14 pm Apollon Oikonomopoulos

(2.12) QMP: make QmpConnection act as a context manager

This will allow automatic connection and socket cleanup on command
completion.

We also repeat the Qmp tests using the context manager. For this to be
feasible, we move the test scenario to class variables and modify...

6400254b 11/29/2014 01:14 pm Apollon Oikonomopoulos

(2.12) QMP: always return the command result

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)....

b2f36dca 11/29/2014 01:14 pm Apollon Oikonomopoulos

(2.12) QMP: keep greeting message version info

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....

4cfc2bef 11/29/2014 01:14 pm Apollon Oikonomopoulos

(2.12) QMP: test supported_commands

Add test for supported_commands.

Signed-off-by: Apollon Oikonomopoulos <>
Signed-off-by: Thomas Thrainer <>
Reviewed-by: Thomas Thrainer <>

965fdbd7 11/29/2014 01:14 pm Apollon Oikonomopoulos

(2.12) QMP: raise exception on unsupported QMP command

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...

cbcd86f9 11/29/2014 01:14 pm Apollon Oikonomopoulos

(2.12) QMP: fetch supported commands on connect

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...

9a02c8c2 11/29/2014 01:14 pm Dimitris Aragiorgis

(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 public
function.

Also, change the hv_kvm tests to import the new code....

« Previous 1 2 3 4 5 6 ... 322 Next » (151-200/16089) | Per page: 25, 50, 100

Also available in: Atom