Signed-off-by: Slavomir Kaslev <kaslevs@xxxxxxxxxx> --- 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@xxxxxxxxxx> +# +# 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 _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list