mirror of
https://github.com/GNS3/gns3-server
synced 2024-11-24 09:18:08 +00:00
Option to deactivate using uBridge globally.
This commit is contained in:
parent
abfb51baa8
commit
ce3276d374
@ -31,6 +31,7 @@ from ..ubridge.hypervisor import Hypervisor
|
||||
from ..ubridge.ubridge_error import UbridgeError
|
||||
from .nios.nio_udp import NIOUDP
|
||||
from .error import NodeError
|
||||
from ..config import Config
|
||||
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
@ -50,7 +51,7 @@ class BaseNode:
|
||||
:param allocate_aux: Boolean if true will allocate an aux console port
|
||||
"""
|
||||
|
||||
def __init__(self, name, node_id, project, manager, console=None, console_type="telnet", aux=None, allocate_aux=False, use_ubridge=True):
|
||||
def __init__(self, name, node_id, project, manager, console=None, console_type="telnet", aux=None, allocate_aux=False):
|
||||
|
||||
self._name = name
|
||||
self._usage = ""
|
||||
@ -63,12 +64,15 @@ class BaseNode:
|
||||
self._temporary_directory = None
|
||||
self._hw_virtualization = False
|
||||
self._ubridge_hypervisor = None
|
||||
self._use_ubridge = use_ubridge
|
||||
self._closed = False
|
||||
self._node_status = "stopped"
|
||||
self._command_line = ""
|
||||
self._allocate_aux = allocate_aux
|
||||
|
||||
# check if the node will use uBridge or not
|
||||
server_config = Config.instance().get_section_config("Server")
|
||||
self._use_ubridge = server_config.getboolean("use_ubridge")
|
||||
|
||||
if self._console is not None:
|
||||
if console_type == "vnc":
|
||||
self._console = self._manager.port_manager.reserve_tcp_port(self._console, self._project, port_range_start=5900, port_range_end=6000)
|
||||
@ -102,7 +106,9 @@ class BaseNode:
|
||||
|
||||
@property
|
||||
def status(self):
|
||||
"""Return current node status"""
|
||||
"""
|
||||
Returns current node status
|
||||
"""
|
||||
|
||||
return self._node_status
|
||||
|
||||
@ -114,13 +120,15 @@ class BaseNode:
|
||||
|
||||
def updated(self):
|
||||
"""
|
||||
Send a updated event
|
||||
Sends an updated event
|
||||
"""
|
||||
self.project.emit("node.updated", self)
|
||||
|
||||
@property
|
||||
def command_line(self):
|
||||
"""Return command used to start the node"""
|
||||
"""
|
||||
Returns command used to start the node
|
||||
"""
|
||||
|
||||
return self._command_line
|
||||
|
||||
|
@ -90,6 +90,7 @@ def parse_arguments(argv):
|
||||
parser.add_argument("--port", help="run on the given port", type=int)
|
||||
parser.add_argument("--ssl", action="store_true", help="run in SSL mode")
|
||||
parser.add_argument("--controller", action="store_true", help="start as a GNS3 controller")
|
||||
parser.add_argument("--no-ubridge", action="store_false", help="do not use ubridge to handle node connections")
|
||||
parser.add_argument("--config", help="Configuration file")
|
||||
parser.add_argument("--certfile", help="SSL cert file")
|
||||
parser.add_argument("--certkey", help="SSL key file")
|
||||
@ -117,6 +118,7 @@ def parse_arguments(argv):
|
||||
"record": config.get("record", ""),
|
||||
"local": config.getboolean("local", False),
|
||||
"controller": config.getboolean("controller", False),
|
||||
"use_ubridge": config.getboolean("use_ubridge", True), # this enables uBridge globally
|
||||
"allow": config.getboolean("allow_remote_console", False),
|
||||
"quiet": config.getboolean("quiet", False),
|
||||
"debug": config.getboolean("debug", False),
|
||||
@ -134,6 +136,7 @@ def set_config(args):
|
||||
server_config = config.get_section_config("Server")
|
||||
server_config["local"] = str(args.local)
|
||||
server_config["controller"] = str(args.controller)
|
||||
server_config["use_ubridge"] = str(args.no_ubridge)
|
||||
server_config["allow_remote_console"] = str(args.allow)
|
||||
server_config["host"] = args.host
|
||||
server_config["port"] = str(args.port)
|
||||
@ -207,6 +210,11 @@ def run():
|
||||
if server_config.getboolean("local"):
|
||||
log.warning("Local mode is enabled. Beware, clients will have full control on your filesystem")
|
||||
|
||||
if server_config.getboolean("use_ubridge"):
|
||||
log.info("uBridge will be used to handle node connections")
|
||||
else:
|
||||
log.warn("uBridge will NOT be used to handle node connections")
|
||||
|
||||
# we only support Python 3 version >= 3.4
|
||||
if sys.version_info < (3, 4):
|
||||
raise SystemExit("Python 3.4 or higher is required")
|
||||
|
Loading…
Reference in New Issue
Block a user