mirror of
https://github.com/GNS3/gns3-server.git
synced 2024-12-20 21:33:09 +00:00
Merge branch '2.2' into 3.0
# Conflicts: # gns3server/compute/qemu/qemu_vm.py # gns3server/utils/__init__.py # requirements.txt
This commit is contained in:
commit
3a4ffb8786
@ -45,7 +45,7 @@ from ..nios.nio_tap import NIOTAP
|
|||||||
from ..base_node import BaseNode
|
from ..base_node import BaseNode
|
||||||
from ...utils.asyncio import monitor_process
|
from ...utils.asyncio import monitor_process
|
||||||
from ...utils.images import md5sum
|
from ...utils.images import md5sum
|
||||||
from ...utils import macaddress_to_int, int_to_macaddress
|
from ...utils import macaddress_to_int, int_to_macaddress, is_ipv6_enabled
|
||||||
from ...utils.hostname import is_rfc1123_hostname_valid
|
from ...utils.hostname import is_rfc1123_hostname_valid
|
||||||
|
|
||||||
from gns3server.schemas.compute.qemu_nodes import Qemu, QemuPlatform
|
from gns3server.schemas.compute.qemu_nodes import Qemu, QemuPlatform
|
||||||
@ -1855,14 +1855,17 @@ class QemuVM(BaseNode):
|
|||||||
if port:
|
if port:
|
||||||
console_host = self._manager.port_manager.console_host
|
console_host = self._manager.port_manager.console_host
|
||||||
if console_host == "0.0.0.0":
|
if console_host == "0.0.0.0":
|
||||||
if socket.has_ipv6:
|
try:
|
||||||
# to fix an issue with Qemu when IPv4 is not enabled
|
if is_ipv6_enabled():
|
||||||
# see https://github.com/GNS3/gns3-gui/issues/2352
|
# to fix an issue with Qemu when IPv4 is not enabled
|
||||||
# FIXME: consider making this more global (not just for Qemu + SPICE)
|
# see https://github.com/GNS3/gns3-gui/issues/2352
|
||||||
console_host = "::"
|
# FIXME: consider making this more global (not just for Qemu + SPICE)
|
||||||
else:
|
console_host = "::"
|
||||||
raise QemuError("IPv6 must be enabled in order to use the SPICE console")
|
except OSError as e:
|
||||||
return ["-spice", f"addr={console_host},port={port},disable-ticketing", "-vga", "qxl"]
|
raise QemuError("Could not check if IPv6 is enabled: {}".format(e))
|
||||||
|
return ["-spice",
|
||||||
|
f"addr={console_host},port={port},disable-ticketing",
|
||||||
|
"-vga", "qxl"]
|
||||||
else:
|
else:
|
||||||
return []
|
return []
|
||||||
|
|
||||||
|
@ -21,6 +21,8 @@ import re
|
|||||||
import shlex
|
import shlex
|
||||||
import textwrap
|
import textwrap
|
||||||
import posixpath
|
import posixpath
|
||||||
|
import socket
|
||||||
|
import errno
|
||||||
|
|
||||||
|
|
||||||
def force_unix_path(path):
|
def force_unix_path(path):
|
||||||
@ -89,3 +91,21 @@ def parse_version(version):
|
|||||||
version.append("000000")
|
version.append("000000")
|
||||||
version.append("final")
|
version.append("final")
|
||||||
return tuple(version)
|
return tuple(version)
|
||||||
|
|
||||||
|
|
||||||
|
def is_ipv6_enabled() -> bool:
|
||||||
|
|
||||||
|
if not socket.has_ipv6:
|
||||||
|
return False # the socket library has no support for IPv6
|
||||||
|
try:
|
||||||
|
with socket.socket(socket.AF_INET6, socket.SOCK_STREAM) as sock:
|
||||||
|
sock.bind(("::1", 0))
|
||||||
|
return True
|
||||||
|
except OSError as e:
|
||||||
|
if e.errno in (errno.EADDRNOTAVAIL, errno.EAFNOSUPPORT):
|
||||||
|
# EADDRNOTAVAIL is the errno if IPv6 modules/drivers are loaded but disabled.
|
||||||
|
# EAFNOSUPPORT is the errno if IPv6 modules/drivers are not loaded at all.
|
||||||
|
return False
|
||||||
|
if e.errno == errno.EADDRINUSE:
|
||||||
|
return True
|
||||||
|
raise
|
||||||
|
@ -2,12 +2,12 @@ uvicorn==0.29.0
|
|||||||
fastapi==0.111.0
|
fastapi==0.111.0
|
||||||
python-multipart==0.0.9
|
python-multipart==0.0.9
|
||||||
websockets==12.0
|
websockets==12.0
|
||||||
aiohttp==3.9.3
|
aiohttp>=3.9.5,<3.10
|
||||||
async-timeout==4.0.3
|
async-timeout==4.0.3
|
||||||
aiofiles==23.2.1
|
aiofiles>=24.1.0,<25.0
|
||||||
Jinja2>=3.1.4,<3.2
|
Jinja2>=3.1.4,<3.2
|
||||||
sentry-sdk==2.1.1,<2.2
|
sentry-sdk==2.7.1,<2.8
|
||||||
psutil==5.9.8
|
psutil==6.0.0
|
||||||
distro>=1.9.0
|
distro>=1.9.0
|
||||||
py-cpuinfo==9.0.0
|
py-cpuinfo==9.0.0
|
||||||
sqlalchemy==2.0.29
|
sqlalchemy==2.0.29
|
||||||
|
Loading…
Reference in New Issue
Block a user