mirror of
https://github.com/GNS3/gns3-server
synced 2024-11-28 11:18:11 +00:00
Ensure we start only one ubridge
Fix https://github.com/GNS3/gns3-gui/issues/1964
This commit is contained in:
parent
84da9b4c23
commit
644616b69c
@ -28,7 +28,7 @@ import platform
|
||||
|
||||
from gns3server.utils.interfaces import interfaces
|
||||
from ..compute.port_manager import PortManager
|
||||
from ..utils.asyncio import wait_run_in_executor
|
||||
from ..utils.asyncio import wait_run_in_executor, locked_coroutine
|
||||
from ..utils.asyncio.telnet_server import AsyncioTelnetServer
|
||||
from ..ubridge.hypervisor import Hypervisor
|
||||
from ..ubridge.ubridge_error import UbridgeError
|
||||
@ -519,12 +519,16 @@ class BaseNode:
|
||||
except UbridgeError as e:
|
||||
raise UbridgeError("{}: {}".format(e, self._ubridge_hypervisor.read_stdout()))
|
||||
|
||||
@asyncio.coroutine
|
||||
@locked_coroutine
|
||||
def _start_ubridge(self):
|
||||
"""
|
||||
Starts uBridge (handles connections to and from this node).
|
||||
"""
|
||||
|
||||
# Prevent us to start multiple ubridge
|
||||
if self._ubridge_hypervisor and self._ubridge_hypervisor.is_running():
|
||||
return
|
||||
|
||||
if self.ubridge_path is None:
|
||||
raise NodeError("uBridge is not available, path doesn't exist, or you just installed GNS3 and need to restart your user session to refresh user permissions.")
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user