[virt-tools-list] [PATCH 1/3] virtinst: Add vsock device type
Slavomir Kaslev
kaslevs at vmware.com
Thu Dec 6 19:53:10 UTC 2018
Signed-off-by: Slavomir Kaslev <kaslevs at vmware.com>
---
virtinst/devices/__init__.py | 1 +
virtinst/devices/vsock.py | 41 ++++++++++++++++++++++++++++++++++++
virtinst/guest.py | 3 ++-
3 files changed, 44 insertions(+), 1 deletion(-)
create mode 100644 virtinst/devices/vsock.py
diff --git a/virtinst/devices/__init__.py b/virtinst/devices/__init__.py
index 6da0766d..6120f5d0 100644
--- a/virtinst/devices/__init__.py
+++ b/virtinst/devices/__init__.py
@@ -22,6 +22,7 @@ from .redirdev import DeviceRedirdev
from .rng import DeviceRng
from .tpm import DeviceTpm
from .video import DeviceVideo
+from .vsock import DeviceVsock
from .watchdog import DeviceWatchdog
diff --git a/virtinst/devices/vsock.py b/virtinst/devices/vsock.py
new file mode 100644
index 00000000..beb00e50
--- /dev/null
+++ b/virtinst/devices/vsock.py
@@ -0,0 +1,41 @@
+# Copyright (C) 2018 VMware, Inc.
+#
+# Copyright 2018
+# Slavomir Kaslev <kaslevs at vmware.com>
+#
+# This work is licensed under the GNU GPLv2 or later.
+# See the COPYING file in the top-level directory.
+
+from .device import Device
+from ..xmlbuilder import XMLProperty
+
+
+class DeviceVsock(Device):
+ XML_NAME = "vsock"
+
+ model = XMLProperty("./@model")
+ auto_cid = XMLProperty("./cid/@auto", is_yesno=True)
+ cid = XMLProperty("./cid/@address", is_int=True)
+
+
+ ##############
+ # Validation #
+ ##############
+
+ def validate(self):
+ if not self.auto_cid and (self.cid is None or self.cid < 3):
+ raise ValueError(_("guest CID {0} must be >= 3").format(self.cid))
+
+
+ ##################
+ # Default config #
+ ##################
+
+ def set_defaults(self, guest):
+ if not self.model:
+ self.model = "virtio"
+
+ if self.auto_cid is None and self.cid is None:
+ self.auto_cid = True
+ if self.cid is None and not self.auto_cid:
+ self.cid = 3
diff --git a/virtinst/guest.py b/virtinst/guest.py
index eeb40cb6..9acff3b9 100644
--- a/virtinst/guest.py
+++ b/virtinst/guest.py
@@ -29,7 +29,7 @@ class _DomainDevices(XMLBuilder):
'smartcard', 'serial', 'parallel', 'console', 'channel',
'input', 'tpm', 'graphics', 'sound', 'video', 'hostdev',
'redirdev', 'watchdog', 'memballoon', 'rng', 'panic',
- 'memory']
+ 'memory', 'vsock']
disk = XMLChildProperty(DeviceDisk)
@@ -53,6 +53,7 @@ class _DomainDevices(XMLBuilder):
rng = XMLChildProperty(DeviceRng)
panic = XMLChildProperty(DevicePanic)
memory = XMLChildProperty(DeviceMemory)
+ vsock = XMLChildProperty(DeviceVsock)
def get_all(self):
retlist = []
--
2.19.1
More information about the virt-tools-list
mailing list