Merge branch '2.2' into 3.0

# Conflicts:
#	gns3server/compute/base_node.py
#	gns3server/compute/docker/docker_vm.py
#	gns3server/compute/iou/iou_vm.py
#	gns3server/controller/template_manager.py
#	gns3server/handlers/api/compute/docker_handler.py
#	gns3server/handlers/api/compute/dynamips_vm_handler.py
#	gns3server/handlers/api/compute/iou_handler.py
#	gns3server/handlers/api/compute/qemu_handler.py
#	gns3server/handlers/api/compute/virtualbox_handler.py
#	gns3server/handlers/api/compute/vmware_handler.py
#	gns3server/handlers/api/compute/vpcs_handler.py
#	gns3server/handlers/api/controller/node_handler.py
#	gns3server/version.py
#	requirements.txt
#	tests/controller/test_controller.py
#	tests/controller/test_project.py
#	tests/handlers/api/controller/test_node.py
pull/2082/head
grossmj 2 years ago
commit d303d13045

@ -1,5 +1,20 @@
# Change Log
## 2.2.33.1 21/06/2022
* Add missing file for web-ui v2.2.33
## 2.2.33 20/06/2022
* Release web-ui v2.2.33
* Upgrade sentry-sdk and psutil
* Remove parameter "Name" not useful to create a Docker container
* Support to reset all console connections. Ref https://github.com/GNS3/gns3-server/issues/1619
* Config option to disable built-in templates
* Add hostname entry to sample network config for Docker nodes. Fixes #2039
* Run Xtigervnc with MIT-SHM extension disabled for Docker VNC console support. Fixes #2071
* Added OpenRC init script
## 2.2.32 27/04/2022
* Docker: load custom interface files from /etc/network/interfaces (commented by default). Ref #2052

@ -85,6 +85,9 @@ allowed_interfaces = eth0,eth1,virbr0
; Default is virbr0 on Linux (requires libvirt) and vmnet8 for other platforms (requires VMware)
default_nat_interface = vmnet10
; Enable the built-in templates
enable_builtin_templates = True
[VPCS]
; VPCS executable location, default: search in PATH
;vpcs_path = vpcs

@ -33,6 +33,13 @@
"filesize": 1592000512,
"download_url": "https://software.cisco.com/download/home/286312239/type/282088129/release/10.1(1)"
},
{
"filename": "nexus9300v.9.3.8.qcow2",
"version": "9300v 9.3.8",
"md5sum": "f8bd834f8395c134dc98d895c98441af",
"filesize": 1976434688,
"download_url": "https://software.cisco.com/download/home/286312239/type/282088129/release/9.3(8)"
},
{
"filename": "nexus9500v.9.3.7.qcow2",
"version": "9500v 9.3.7",
@ -176,6 +183,13 @@
"bios_image": "OVMF-20160813.fd",
"hda_disk_image": "nexus9500v64.10.1.1.qcow2"
}
},
{
"name": "9300v 9.3.8",
"images": {
"bios_image": "OVMF-20160813.fd",
"hda_disk_image": "nexus9300v.9.3.8.qcow2"
}
},
{
"name": "9500v 9.3.7",

@ -27,6 +27,13 @@
"options": "-cpu core2duo"
},
"images": [
{
"filename": "EXOS-VM_v31.7.1.4.qcow2",
"version": "31.7.1.4",
"md5sum": "a70e4fa3bc361434237ad12937aaf0fb",
"filesize": 458227712,
"direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v31.7.1.4.qcow2"
},
{
"filename": "EXOS-VM_v31.1.1.3.qcow2",
"version": "31.1.1.3",
@ -99,6 +106,12 @@
}
],
"versions": [
{
"name": "31.7.1.4",
"images": {
"hda_disk_image": "EXOS-VM_v31.7.1.4.qcow2"
}
},
{
"name": "31.1.1.3",
"images": {

@ -24,125 +24,35 @@
},
"images": [
{
"filename": "FreeBSD-12.1-RELEASE-amd64.qcow2",
"version": "12.1",
"md5sum": "0079b4ca99f64bb825cfbaefcca10fd4",
"filesize": 3043229696,
"filename": "FreeBSD-13.0-RELEASE-amd64.qcow2",
"version": "13.0",
"md5sum": "e8e598959da456c03260421b5f9890de",
"filesize": 3466854400,
"download_url": "https://www.freebsd.org/where.html",
"direct_download_url": "https://download.freebsd.org/ftp/releases/VM-IMAGES/12.1-RELEASE/amd64/Latest/FreeBSD-12.1-RELEASE-amd64.qcow2.xz",
"direct_download_url": "https://download.freebsd.org/ftp/releases/VM-IMAGES/13.0-RELEASE/amd64/Latest/FreeBSD-13.0-RELEASE-amd64.qcow2.xz",
"compression": "xz"
},
{
"filename": "FreeBSD-12.0-RELEASE-amd64.qcow2",
"version": "12.0",
"md5sum": "4d2126ba79dad224628be6f25a908bd8",
"filesize": 2644836352,
"filename": "FreeBSD-12.3-RELEASE-amd64.qcow2",
"version": "12.3",
"md5sum": "3d7d5396f3d89ed30c2bfa2ee2e6b013",
"filesize": 3412000768,
"download_url": "https://www.freebsd.org/where.html",
"direct_download_url": "https://download.freebsd.org/ftp/releases/VM-IMAGES/12.0-RELEASE/amd64/Latest/FreeBSD-12.0-RELEASE-amd64.qcow2.xz",
"compression": "xz"
},
{
"filename": "FreeBSD-11.3-RELEASE-amd64.qcow2",
"version": "11.3",
"md5sum": "cdb35f676571b91584ff88502c48d399",
"filesize": 1698037760,
"download_url": "https://www.freebsd.org/where.html",
"direct_download_url": "https://download.freebsd.org/ftp/releases/VM-IMAGES/11.3-RELEASE/amd64/Latest/FreeBSD-11.3-RELEASE-amd64.qcow2.xz",
"compression": "xz"
},
{
"filename": "FreeBSD-11.2-RELEASE-amd64.qcow2",
"version": "11.2",
"md5sum": "44d37e65be4bb4054f067911c84d074a",
"filesize": 1630076928,
"download_url": "https://www.freebsd.org/where.html",
"direct_download_url": "https://download.freebsd.org/ftp/releases/VM-IMAGES/11.2-RELEASE/amd64/Latest/FreeBSD-11.2-RELEASE-amd64.qcow2.xz",
"compression": "xz"
},
{
"filename": "FreeBSD-11.1-RELEASE-amd64.qcow2",
"version": "11.1",
"md5sum": "d78b2a7d05ec62f799e14ded4817ea69",
"filesize": 1533345792,
"download_url": "https://www.freebsd.org/where.html",
"direct_download_url": "https://download.freebsd.org/ftp/releases/VM-IMAGES/11.1-RELEASE/amd64/Latest/FreeBSD-11.1-RELEASE-amd64.qcow2.xz",
"compression": "xz"
},
{
"filename": "FreeBSD-11.0-RELEASE-amd64.qcow2",
"version": "11.0",
"md5sum": "1b04999198f492afd6dc4935b8c7cc22",
"filesize": 1384382464,
"download_url": "https://www.freebsd.org/where.html",
"direct_download_url": "https://download.freebsd.org/ftp/releases/VM-IMAGES/11.0-RELEASE/amd64/Latest/FreeBSD-11.0-RELEASE-amd64.qcow2.xz",
"compression": "xz"
},
{
"filename": "FreeBSD-10.4-RELEASE-amd64.qcow2",
"version": "10.4",
"md5sum": "ad498873733c57d1f6d890d587a11e3c",
"filesize": 1013448704,
"download_url": "https://www.freebsd.org/where.html",
"direct_download_url": "https://download.freebsd.org/ftp/releases/VM-IMAGES/10.4-RELEASE/amd64/Latest/FreeBSD-10.4-RELEASE-amd64.qcow2.xz",
"compression": "xz"
},
{
"filename": "FreeBSD-10.3-RELEASE-amd64.qcow2",
"version": "10.3",
"md5sum": "1a00cebef520dfac8d2bda10ea16a951",
"filesize": 974651392,
"download_url": "https://www.freebsd.org/where.html",
"direct_download_url": "https://download.freebsd.org/ftp/releases/VM-IMAGES/10.3-RELEASE/amd64/Latest/FreeBSD-10.3-RELEASE-amd64.qcow2.xz",
"direct_download_url": "https://download.freebsd.org/ftp/releases/VM-IMAGES/12.3-RELEASE/amd64/Latest/FreeBSD-12.3-RELEASE-amd64.qcow2.xz",
"compression": "xz"
}
],
"versions": [
{
"name": "12.1",
"images": {
"hda_disk_image": "FreeBSD-12.1-RELEASE-amd64.qcow2"
}
},
{
"name": "12.0",
"images": {
"hda_disk_image": "FreeBSD-12.0-RELEASE-amd64.qcow2"
}
},
{
"name": "11.3",
"images": {
"hda_disk_image": "FreeBSD-11.3-RELEASE-amd64.qcow2"
}
},
{
"name": "11.2",
"images": {
"hda_disk_image": "FreeBSD-11.2-RELEASE-amd64.qcow2"
}
},
{
"name": "11.1",
"images": {
"hda_disk_image": "FreeBSD-11.1-RELEASE-amd64.qcow2"
}
},
{
"name": "11.0",
"images": {
"hda_disk_image": "FreeBSD-11.0-RELEASE-amd64.qcow2"
}
},
{
"name": "10.4",
"name": "13.0",
"images": {
"hda_disk_image": "FreeBSD-10.4-RELEASE-amd64.qcow2"
"hda_disk_image": "FreeBSD-13.0-RELEASE-amd64.qcow2"
}
},
{
"name": "10.3",
"name": "12.3",
"images": {
"hda_disk_image": "FreeBSD-10.3-RELEASE-amd64.qcow2"
"hda_disk_image": "FreeBSD-12.3-RELEASE-amd64.qcow2"
}
}
]

@ -26,6 +26,13 @@
"options": "-machine type=pc,accel=kvm -vga std -usbdevice tablet -cpu host"
},
"images": [
{
"filename": "huaweiar1k-5.170-V300R021C00SPC100T-Auto-update-esn.qcow2",
"version": "V300R021C00SPC100T",
"md5sum": "9d98b31d400a94af37b5af6e9cfe8d80",
"filesize": 673465344,
"download_url": "https://support.huawei.com/enterprise/en/routers/ar1000v-pid-21768212/software"
},
{
"filename": "ar1k-V300R019C00SPC300.qcow2",
"version": "V300R019C00SPC300",
@ -33,13 +40,21 @@
"filesize": 534904832,
"download_url": "https://support.huawei.com/enterprise/en/routers/ar1000v-pid-21768212/software"
}
],
"versions": [
{
"name": "V300R021C00SPC100T",
"images": {
"hda_disk_image": "huaweiar1k-5.170-V300R021C00SPC100T-Auto-update-esn.qcow2"
}
},
{
"name": "V300R019C00SPC300",
"images": {
"hda_disk_image": "ar1k-V300R019C00SPC300.qcow2"
}
}
]
}

@ -23,94 +23,55 @@
"console_type": "vnc",
"boot_priority": "c",
"kvm": "require",
"options": "-vga virtio"
"options": "-vga qxl"
},
"images": [
{
"filename": "Ubuntu 20.10 (64bit).vmdk",
"version": "20.10",
"md5sum": "d7fb9d7b5f6e55349204d493d00507d2",
"filesize": 7512915968,
"download_url": "http://www.osboxes.org/ubuntu/"
"filename": "Ubuntu 22.04 (64bit).vmdk",
"version": "22.04",
"md5sum": "208657d5c13fd1e041794794ada32581",
"filesize": 9110487040,
"download_url": "https://www.osboxes.org/ubuntu/"
},
{
"filename": "Ubuntu 20.04.2 (64bit).vmdk",
"version": "20.04.2",
"md5sum": "e995e5768c1dbee94bc02072d841bb50",
"filesize": 7625179136,
"download_url": "http://www.osboxes.org/ubuntu/"
"filename": "Ubuntu 20.04.4 (64bit).vmdk",
"version": "20.04.4",
"md5sum": "0482557da31d29f4f175945333e617f0",
"filesize": 8531083264,
"download_url": "https://www.osboxes.org/ubuntu/"
},
{
"filename": "Ubuntu 20.04 (64bit).vmdk",
"version": "20.04",
"md5sum": "cf619dfe9bb8d89e2b18b067f02e57a0",
"filesize": 6629883904,
"download_url": "http://www.osboxes.org/ubuntu/"
},
{
"filename": "Ubuntu 19.04 (64bit).vmdk",
"version": "19.04",
"md5sum": "21535675c54507e9325bf8774a7bd73e",
"filesize": 5558435840,
"download_url": "http://www.osboxes.org/ubuntu/"
},
{
"filename": "Ubuntu 18.10 Cosmic (64Bit).vmdk",
"version": "18.10",
"md5sum": "7f72be569356baa20863cd354d2efa60",
"filesize": 6747389952,
"download_url": "http://www.osboxes.org/ubuntu/"
},
{
"filename": "Ubuntu 18.04.2 (64bit).vmdk",
"version": "18.04.2",
"md5sum": "d57b732d90759e3b3a62594a83f8f196",
"filesize": 6003097600,
"download_url": "http://www.osboxes.org/ubuntu/"
"filename": "Ubuntu 18.04.6 (64bit).vmdk",
"version": "18.04.6",
"md5sum": "2a41138b36edd3f81b4cb89ea471f3fc",
"filesize": 7011631104,
"download_url": "https://www.osboxes.org/ubuntu/"
},
{
"filename": "Ubuntu 16.04.6 (64bit).vmdk",
"version": "16.04.6",
"md5sum": "33b2964cef607c1c9fe748db8a2fa6ea",
"filesize": 4780982272,
"download_url": "http://www.osboxes.org/ubuntu/"
"download_url": "https://www.osboxes.org/ubuntu/"
}
],
"versions": [
{
"name": "20.10",
"images": {
"hda_disk_image": "Ubuntu 20.10 (64bit).vmdk"
}
},
{
"name": "20.04.2",
"images": {
"hda_disk_image": "Ubuntu 20.04.2 (64bit).vmdk"
}
},
{
"name": "20.04",
"images": {
"hda_disk_image": "Ubuntu 20.04 (64bit).vmdk"
}
},
{
"name": "19.04",
"name": "22.04",
"images": {
"hda_disk_image": "Ubuntu 19.04 (64bit).vmdk"
"hda_disk_image": "Ubuntu 22.04 (64bit).vmdk"
}
},
{
"name": "18.10",
"name": "20.04.4",
"images": {
"hda_disk_image": "Ubuntu 18.10 Cosmic (64Bit).vmdk"
"hda_disk_image": "Ubuntu 20.04.4 (64bit).vmdk"
}
},
{
"name": "18.04.2",
"name": "18.04.6",
"images": {
"hda_disk_image": "Ubuntu 18.04.2 (64bit).vmdk"
"hda_disk_image": "Ubuntu 18.04.6 (64bit).vmdk"
}
},
{

@ -358,7 +358,8 @@ class DockerVM(BaseNode):
# DHCP config for eth{adapter}
#auto eth{adapter}
#iface eth{adapter} inet dhcp
""".format(adapter=adapter))
#\thostname {hostname}
""".format(adapter=adapter, hostname=self._name))
return path
async def create(self):
@ -385,7 +386,6 @@ class DockerVM(BaseNode):
params = {
"Hostname": self._name,
"Name": self._name,
"Image": self._image,
"NetworkDisabled": True,
"Tty": True,
@ -654,50 +654,39 @@ class DockerVM(BaseNode):
if tigervnc_path:
with open(os.path.join(self.working_dir, "vnc.log"), "w") as fd:
self._vnc_process = await asyncio.create_subprocess_exec(
tigervnc_path,
"-geometry",
self._console_resolution,
"-depth",
"16",
"-interface",
self._manager.port_manager.console_host,
"-rfbport",
str(self.console),
"-AlwaysShared",
"-SecurityTypes",
"None",
f":{self._display}",
stdout=fd,
stderr=subprocess.STDOUT,
)
self._vnc_process = await asyncio.create_subprocess_exec(tigervnc_path,
"-extension", "MIT-SHM",
"-geometry", self._console_resolution,
"-depth", "16",
"-interface", self._manager.port_manager.console_host,
"-rfbport", str(self.console),
"-AlwaysShared",
"-SecurityTypes", "None",
":{}".format(self._display),
stdout=fd, stderr=subprocess.STDOUT)
else:
if restart is False:
self._xvfb_process = await asyncio.create_subprocess_exec(
"Xvfb", "-nolisten", "tcp", f":{self._display}", "-screen", "0", self._console_resolution + "x16"
)
self._xvfb_process = await asyncio.create_subprocess_exec("Xvfb",
"-nolisten", "tcp",
"-extension", "MIT-SHM",
":{}".format(self._display),
"-screen", "0",
self._console_resolution + "x16")
# We pass a port for TCPV6 due to a crash in X11VNC if not here: https://github.com/GNS3/gns3-server/issues/569
with open(os.path.join(self.working_dir, "vnc.log"), "w") as fd:
self._vnc_process = await asyncio.create_subprocess_exec(
"x11vnc",
"-forever",
"-nopw",
"-shared",
"-geometry",
self._console_resolution,
"-display",
f"WAIT:{self._display}",
"-rfbport",
str(self.console),
"-rfbportv6",
str(self.console),
"-noncache",
"-listen",
self._manager.port_manager.console_host,
stdout=fd,
stderr=subprocess.STDOUT,
)
self._vnc_process = await asyncio.create_subprocess_exec("x11vnc",
"-forever",
"-nopw",
"-shared",
"-noshm",
"-geometry", self._console_resolution,
"-display", "WAIT:{}".format(self._display),
"-rfbport", str(self.console),
"-rfbportv6", str(self.console),
"-noncache",
"-listen", self._manager.port_manager.console_host,
stdout=fd, stderr=subprocess.STDOUT)
async def _start_vnc(self):
"""

@ -619,6 +619,17 @@ class Node:
except asyncio.TimeoutError:
raise ControllerTimeoutError(f"Timeout when reset console {self._name}")
async def reset_console(self):
"""
Reset the console
"""
if self._console and self._console_type == "telnet":
try:
await self.post("/console/reset", timeout=240)
except asyncio.TimeoutError:
raise aiohttp.web.HTTPRequestTimeout(text="Timeout when reset console {}".format(self._name))
async def post(self, path, data=None, **kwargs):
"""
HTTP post on the node

@ -59,7 +59,7 @@ class CrashReport:
Report crash to a third party service
"""
DSN = "https://57f6b1102b6a4985a8e93aed51e19b8b@o19455.ingest.sentry.io/38482"
DSN = "https://0d263705382642f287a1ed05fce61171@o19455.ingest.sentry.io/38482"
_instance = None
def __init__(self):

@ -46,6 +46,6 @@
gtag('config', 'G-5D6FZL9923');
</script>
<script src="runtime.91a209cf21f6fb848205.js" defer></script><script src="polyfills-es5.865074f5cd9a121111a2.js" nomodule defer></script><script src="polyfills.2f91a039d848e57ff02e.js" defer></script><script src="main.4b4883543cd4ccdf0202.js" defer></script>
<script src="runtime.91a209cf21f6fb848205.js" defer></script><script src="polyfills-es5.865074f5cd9a121111a2.js" nomodule defer></script><script src="polyfills.2f91a039d848e57ff02e.js" defer></script><script src="main.61abec15ec5cf18f7c62.js" defer></script>
</body></html>

@ -0,0 +1,52 @@
#!/sbin/openrc-run
# Copyright 2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
extra_started_commands="reload"
: ${GNS3_SERVER_BINARY:=${RC_PREFIX%/}/usr/bin/gns3server}
: ${GNS3_SERVER_PIDFILE:=${RC_PREFIX%/}/run/${SVCNAME}.pid}
: ${GNS3_SERVER_COMMAND_USER:=gns3:gns3}
: ${GNS3_SERVER_LOG_ENABLED:=no}
: ${GNS3_SERVER_LOG_PATH:=${RC_PREFIX%/}/var/log/GNS3}
: ${GNS3_SERVER_LOG:=${GNS3_SERVER_LOG_PATH}/${RC_SVCNAME}.log}
command="${GNS3_SERVER_BINARY}"
pidfile="${GNS3_SERVER_PIDFILE}"
command_user="${GNS3_SERVER_COMMAND_USER}"
command_background="yes"
command_args="${GNS3_SERVER_OPTS}"
depend() {
need net
}
checkconfig() {
if yesno "${GNS3_SERVER_LOG_ENABLED}" ; then
command_args+=" --log ${GNS3_SERVER_LOG}";
if [ "${command_user}" ] ; then
checkpath --directory --mode 0700 --owner "${command_user}" "${GNS3_SERVER_LOG_PATH}";
else
unset command_user
fi
fi
}
start_pre() {
if [ "${RC_CMD}" != "restart" ] ; then
checkconfig || return $?
fi
}
stop_pre() {
if [ "${RC_CMD}" = "restart" ] ; then
checkconfig || return $?
fi
}
reload() {
checkconfig || return $?
ebegin "Reloading ${RC_SVCNAME}"
start-stop-daemon --signal HUP --pidfile "${pidfile}"
eend $?
}

@ -115,7 +115,6 @@ async def test_create(compute_project, manager):
},
"Volumes": {},
"NetworkDisabled": True,
"Name": "test",
"Hostname": "test",
"Image": "ubuntu:latest",
"Env": [
@ -157,7 +156,6 @@ async def test_create_with_tag(compute_project, manager):
},
"Volumes": {},
"NetworkDisabled": True,
"Name": "test",
"Hostname": "test",
"Image": "ubuntu:16.04",
"Env": [
@ -203,7 +201,6 @@ async def test_create_vnc(compute_project, manager):
},
"Volumes": {},
"NetworkDisabled": True,
"Name": "test",
"Hostname": "test",
"Image": "ubuntu:latest",
"Env": [
@ -327,7 +324,6 @@ async def test_create_start_cmd(compute_project, manager):
"Entrypoint": ["/gns3/init.sh"],
"Cmd": ["/bin/ls"],
"NetworkDisabled": True,
"Name": "test",
"Hostname": "test",
"Image": "ubuntu:latest",
"Env": [
@ -429,7 +425,6 @@ async def test_create_image_not_available(compute_project, manager):
},
"Volumes": {},
"NetworkDisabled": True,
"Name": "test",
"Hostname": "test",
"Image": "ubuntu:latest",
"Env": [
@ -476,7 +471,6 @@ async def test_create_with_user(compute_project, manager):
},
"Volumes": {},
"NetworkDisabled": True,
"Name": "test",
"Hostname": "test",
"Image": "ubuntu:latest",
"Env": [
@ -567,7 +561,6 @@ async def test_create_with_extra_volumes_duplicate_1_image(compute_project, mana
},
"Volumes": {},
"NetworkDisabled": True,
"Name": "test",
"Hostname": "test",
"Image": "ubuntu:latest",
"Env": [
@ -610,7 +603,6 @@ async def test_create_with_extra_volumes_duplicate_2_user(compute_project, manag
},
"Volumes": {},
"NetworkDisabled": True,
"Name": "test",
"Hostname": "test",
"Image": "ubuntu:latest",
"Env": [
@ -653,7 +645,6 @@ async def test_create_with_extra_volumes_duplicate_3_subdir(compute_project, man
},
"Volumes": {},
"NetworkDisabled": True,
"Name": "test",
"Hostname": "test",
"Image": "ubuntu:latest",
"Env": [
@ -696,7 +687,6 @@ async def test_create_with_extra_volumes_duplicate_4_backslash(compute_project,
},
"Volumes": {},
"NetworkDisabled": True,
"Name": "test",
"Hostname": "test",
"Image": "ubuntu:latest",
"Env": [
@ -738,7 +728,6 @@ async def test_create_with_extra_volumes_duplicate_5_subdir_issue_1595(compute_p
},
"Volumes": {},
"NetworkDisabled": True,
"Name": "test",
"Hostname": "test",
"Image": "ubuntu:latest",
"Env": [
@ -780,7 +769,6 @@ async def test_create_with_extra_volumes_duplicate_6_subdir_issue_1595(compute_p
},
"Volumes": {},
"NetworkDisabled": True,
"Name": "test",
"Hostname": "test",
"Image": "ubuntu:latest",
"Env": [
@ -830,7 +818,6 @@ async def test_create_with_extra_volumes(compute_project, manager):
},
"Volumes": {},
"NetworkDisabled": True,
"Name": "test",
"Hostname": "test",
"Image": "ubuntu:latest",
"Env": [
@ -1068,7 +1055,6 @@ async def test_update(vm):
},
"Volumes": {},
"NetworkDisabled": True,
"Name": "test",
"Hostname": "test",
"Image": "ubuntu:latest",
"Env": [
@ -1141,7 +1127,6 @@ async def test_update_running(vm):
},
"Volumes": {},
"NetworkDisabled": True,
"Name": "test",
"Hostname": "test",
"Image": "ubuntu:latest",
"Env": [
@ -1432,7 +1417,7 @@ async def test_start_vnc(vm):
with asyncio_patch("asyncio.create_subprocess_exec") as mock_exec:
await vm._start_vnc()
assert vm._display is not None
assert mock_exec.call_args[0] == ("/bin/Xtigervnc", "-geometry", vm.console_resolution, "-depth", "16", "-interface", "127.0.0.1", "-rfbport", str(vm.console), "-AlwaysShared", "-SecurityTypes", "None", ":{}".format(vm._display))
assert mock_exec.call_args[0] == ("/bin/Xtigervnc", "-extension", "MIT-SHM", "-geometry", vm.console_resolution, "-depth", "16", "-interface", "127.0.0.1", "-rfbport", str(vm.console), "-AlwaysShared", "-SecurityTypes", "None", ":{}".format(vm._display))
mock_wait.assert_called_with("/tmp/.X11-unix/X{}".format(vm._display))

Loading…
Cancel
Save