Francesco Romani has uploaded a new change for review.
Change subject: spice: support to agent file transfer disable
......................................................................
spice: support to agent file transfer disable
Spice has agent based file transfer support.
This option can be disabled in QEMU, and libvirt has support
to pass this flag to the underlying QEMU.
This patch expose this capability in VDSM, in the VM definition,
implementing the VDSM part of bz983019.
The new parameter is optional and enabled by default for backward
compatibility.
No XML changes are produced at all unless the new parameter is
specified.
Change-Id: Icc98a346baca4ab163ff30e891ae80535e49caa4
Bug-Url:
https://bugzilla.redhat.com/983019
Signed-off-by: Francesco Romani <fromani(a)redhat.com>
---
M debian/control
M tests/vmTests.py
M vdsm.spec.in
M vdsm/virt/vm.py
M vdsm_api/vdsmapi-schema.json
5 files changed, 40 insertions(+), 8 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/17/26917/1
diff --git a/debian/control b/debian/control
index 45c2b1c..ddbaab3 100644
--- a/debian/control
+++ b/debian/control
@@ -20,7 +20,7 @@
python-cpopen (>= 1.3),
python-dmidecode,
python-ethtool (>=0.8),
- python-libvirt (>= 1.0.2),
+ python-libvirt (>= 1.2.2),
python-m2crypto,
python-netaddr,
python-nose,
@@ -81,8 +81,8 @@
libnl1,
libsanlock-client1 (>= 2.4),
libsanlock-dev (>= 2.4),
- libvirt-bin (>= 1.0.2),
- libvirt0 (>= 1.0.2),
+ libvirt-bin (>= 1.2.2),
+ libvirt0 (>= 1.2.2),
linux-image-generic (>= 3.6),
logrotate,
lvm2 (>= 2.02.95),
@@ -98,7 +98,7 @@
python-dmidecode,
python-ethtool (>= 0.8),
python-ethtool (>= 0.8),
- python-libvirt (>= 1.0.2),
+ python-libvirt (>= 1.2.2),
python-m2crypto,
python-netaddr,
python-parted,
@@ -294,7 +294,7 @@
Package: vdsm-hook-sriov
Architecture: all
-Depends: ${shlibs:Depends}, ${misc:Depends}, python (>=2.7.3), vdsm (>=
${source:Version}), libvirt-bin (>= 1.0.2-1)
+Depends: ${shlibs:Depends}, ${misc:Depends}, python (>=2.7.3), vdsm (>=
${source:Version}), libvirt-bin (>= 1.2.2-1)
Description: sr-iov support for VDSM
sr-iov hook enable to add virtual functions exposed by the device
directly to a virtual machine.
diff --git a/tests/vmTests.py b/tests/vmTests.py
index 91ee466..11695b3 100644
--- a/tests/vmTests.py
+++ b/tests/vmTests.py
@@ -421,6 +421,20 @@
passwdValidTo="1970-01-01T00:00:01" port="-1"
tlsPort="-1" type="spice">
<channel mode="secure" name="main"/>
+ </graphics>""",
+
+ """
+ <graphics autoport="yes" listen="0"
passwd="*****"
+ passwdValidTo="1970-01-01T00:00:01" port="-1"
+ tlsPort="-1" type="spice">
+ <filetransfer enable="no"/>
+ </graphics>""",
+
+ """
+ <graphics autoport="yes" listen="0"
passwd="*****"
+ passwdValidTo="1970-01-01T00:00:01" port="-1"
+ tlsPort="-1" type="spice">
+ <channel mode="secure" name="main"/>
</graphics>"""]
vmConfs = [
@@ -432,6 +446,16 @@
{'type': 'graphics', 'device': 'spice',
'specParams': {
'port': '-1', 'tlsPort': '-1',
+ 'spiceSecureChannels': 'smain'}},
+
+ {'type': 'graphics', 'device': 'spice',
+ 'specParams': {
+ 'port': '-1', 'tlsPort': '-1',
+ 'fileTransferEnable': 'false'}},
+
+ {'type': 'graphics', 'device': 'spice',
+ 'specParams': {
+ 'port': '-1', 'tlsPort': '-1',
'spiceSecureChannels': 'smain'}}]
self._verifyGraphicsXML(expectedXMLs, vmConfs, False)
diff --git a/vdsm.spec.in b/vdsm.spec.in
index fd47bf6..af339e2 100644
--- a/vdsm.spec.in
+++ b/vdsm.spec.in
@@ -131,7 +131,7 @@
%endif
%if 0%{?rhel} >= 7 || 0%{?fedora} >= 18
-Requires: libvirt-daemon >= 1.0.2-1
+Requires: libvirt-daemon >= 1.2.2-1
Requires: libvirt-daemon-config-nwfilter
Requires: libvirt-daemon-driver-network
Requires: libvirt-daemon-driver-nwfilter
@@ -140,7 +140,7 @@
%if 0%{?rhel}
Requires: libvirt >= 0.10.2-29.el6_5.4
%else
-Requires: libvirt >= 1.0.2-1
+Requires: libvirt >= 1.2.2-1
%endif
%endif
Requires: libvirt-python, libvirt-lock-sanlock, libvirt-client
diff --git a/vdsm/virt/vm.py b/vdsm/virt/vm.py
index d68c292..27c2aab 100644
--- a/vdsm/virt/vm.py
+++ b/vdsm/virt/vm.py
@@ -1415,6 +1415,10 @@
clipboard = XMLElement('clipboard', copypaste='no')
graphics.appendChild(clipboard)
+ if not utils.tobool(self.specParams.get('fileTransferEnable', True)):
+ filetransfer = XMLElement('filetransfer', enable='no')
+ graphics.appendChild(filetransfer)
+
# handle deprecated channel name in a smart way,
# not just chop 1st char!
if graphicsAttrs['type'] == 'spice':
diff --git a/vdsm_api/vdsmapi-schema.json b/vdsm_api/vdsmapi-schema.json
index 0300a27..0a8c506 100644
--- a/vdsm_api/vdsmapi-schema.json
+++ b/vdsm_api/vdsmapi-schema.json
@@ -2523,12 +2523,16 @@
# @copyPasteEnable: #optional Specify if copy and paste is enabled.
# Currently relevant for @spice devices only.
#
+# @fileTransferEnable: #optional Specify if file transfer is enabled.
+# Currently relevant for @qxl devices only.
+#
# Since: 4.15.0
##
{'type': 'VmGraphicsDeviceSpecParams',
'data': {'port': 'uint', '*tlsPort': 'uint',
'*keyMap': 'str',
'*disableTicketing': 'bool', '*displayNetwork':
'str',
- '*spiceSecureChannels': 'str', '*copyPasteEnable':
'bool'}}
+ '*spiceSecureChannels': 'str', '*copyPasteEnable':
'bool',
+ '*fileTransferEnable': 'bool'}}
##
# @VmGraphicsDevice:
--
To view, visit
http://gerrit.ovirt.org/26917
To unsubscribe, visit
http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Icc98a346baca4ab163ff30e891ae80535e49caa4
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Francesco Romani <fromani(a)redhat.com>