1
0
mirror of https://github.com/GNS3/gns3-server synced 2024-11-30 20:28:08 +00:00

Remove --controller

This add too much complexity and it can work
without it.

Fix https://github.com/GNS3/gns3-vm/issues/80, #645
This commit is contained in:
Julien Duponchelle 2016-09-07 10:04:28 +02:00
parent 9c6ee97ff2
commit f1fe7246e7
No known key found for this signature in database
GPG Key ID: CE8B29639E07F5E8
7 changed files with 2 additions and 33 deletions

View File

@ -224,13 +224,6 @@ class Controller:
self._settings = val
self.notification.emit("settings.updated", val)
def is_enabled(self):
"""
:returns: whether the current instance is the controller
of our GNS3 infrastructure.
"""
return Config.instance().get_section_config("Server").getboolean("controller")
@asyncio.coroutine
def add_compute(self, compute_id=None, name=None, force=False, connect=True, **kwargs):
"""

View File

@ -92,7 +92,6 @@ def parse_arguments(argv):
parser.add_argument("--host", help="run on the given host/IP address")
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")
@ -124,7 +123,6 @@ def parse_arguments(argv):
"certkey": config.get("certkey", ""),
"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),
@ -142,7 +140,6 @@ def set_config(args):
config = Config.instance()
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
@ -227,8 +224,6 @@ def run():
set_config(args)
server_config = Config.instance().get_section_config("Server")
if server_config.getboolean("controller"):
log.info("Controller mode is enabled.")
if server_config.getboolean("local"):
log.warning("Local mode is enabled. Beware, clients will have full control on your filesystem")

View File

@ -184,9 +184,6 @@ class Route(object):
return response
# API call
if "controller" in func.__module__ and server_config.getboolean("controller", False) is False:
raise aiohttp.web.HTTPForbidden(text="The server is not a controller")
request = yield from parse_request(request, input_schema, raw)
record_file = server_config.get("record")
if record_file:

View File

@ -102,8 +102,7 @@ class WebServer:
yield from self._handler.finish_connections()
self._handler = None
if Config.instance().get_section_config("Server").getboolean("controller"):
yield from Controller.instance().stop()
yield from Controller.instance().stop()
for module in MODULES:
log.debug("Unloading module {}".format(module.__name__))
@ -306,8 +305,7 @@ class WebServer:
self._signal_handling()
self._exit_handling()
if server_config.getboolean("controller"):
controller_start = asyncio.async(Controller.instance().start())
controller_start = asyncio.async(Controller.instance().start())
if server_config.getboolean("shell"):
asyncio.async(self.start_shell())

View File

@ -205,7 +205,6 @@ def run_around_tests(monkeypatch, port_manager, controller, config):
config.set("Server", "images_path", os.path.join(tmppath, 'images'))
config.set("Server", "ubridge_path", os.path.join(tmppath, 'bin', 'ubridge'))
config.set("Server", "auth", False)
config.set("Server", "controller", True)
# Prevent executions of the VM if we forgot to mock something
config.set("VirtualBox", "vboxmanage_path", tmppath)

View File

@ -222,13 +222,6 @@ def test_load_projects(controller, projects_dir, async_run):
mock_load_project.assert_called_with(os.path.join(projects_dir, "project1", "project1.gns3"), load=False)
def test_isEnabled(controller):
Config.instance().set("Server", "controller", False)
assert not controller.is_enabled()
Config.instance().set("Server", "controller", True)
assert controller.is_enabled()
def test_add_compute(controller, controller_config_path, async_run):
controller._notification = MagicMock()
c = async_run(controller.add_compute(compute_id="test1", connect=False))

View File

@ -49,12 +49,6 @@ def test_version_invalid_input(http_controller):
'status': 409}
def test_version_not_controller(http_controller, config):
config.set("Server", "controller", False)
response = http_controller.get('/version')
assert response.status == 403
def test_version_invalid_input_schema(http_controller):
query = {'version': "0.4.2", "bla": "blu"}
response = http_controller.post('/version', query)