1
0
mirror of https://github.com/GNS3/gns3-server synced 2024-12-26 16:58:28 +00:00

Fix console type error when creating Ethernet switch node. Fixes #1873

This commit is contained in:
grossmj 2021-03-01 13:55:52 +10:30
parent 11c53c128e
commit 8cce0eedee
2 changed files with 11 additions and 7 deletions

View File

@ -79,7 +79,7 @@ class EthernetSwitch(Device):
:param hypervisor: Dynamips hypervisor instance :param hypervisor: Dynamips hypervisor instance
""" """
def __init__(self, name, node_id, project, manager, console=None, console_type="none", ports=None, hypervisor=None): def __init__(self, name, node_id, project, manager, console=None, console_type=None, ports=None, hypervisor=None):
super().__init__(name, node_id, project, manager, hypervisor) super().__init__(name, node_id, project, manager, hypervisor)
self._nios = {} self._nios = {}
@ -90,6 +90,9 @@ class EthernetSwitch(Device):
self._console = console self._console = console
self._console_type = console_type self._console_type = console_type
if self._console_type is None:
self._console_type = "none"
if self._console is not None: if self._console is not None:
self._console = self._manager.port_manager.reserve_tcp_port(self._console, self._project) self._console = self._manager.port_manager.reserve_tcp_port(self._console, self._project)
else: else:
@ -115,6 +118,7 @@ class EthernetSwitch(Device):
"project_id": self.project.id, "project_id": self.project.id,
"ports_mapping": self._ports, "ports_mapping": self._ports,
"status": "started"} "status": "started"}
return ethernet_switch_info return ethernet_switch_info
@property @property

View File

@ -53,12 +53,12 @@ class EthernetSwitchHandler:
# Use the Dynamips Ethernet switch to simulate this node # Use the Dynamips Ethernet switch to simulate this node
dynamips_manager = Dynamips.instance() dynamips_manager = Dynamips.instance()
node = await dynamips_manager.create_node(request.json.pop("name"), node = await dynamips_manager.create_node(request.json.pop("name"),
request.match_info["project_id"], request.match_info["project_id"],
request.json.get("node_id"), request.json.get("node_id"),
console=request.json.get("console"), console=request.json.get("console"),
console_type=request.json.get("console_type"), console_type=request.json.get("console_type"),
node_type="ethernet_switch", node_type="ethernet_switch",
ports=request.json.get("ports_mapping")) ports=request.json.get("ports_mapping"))
# On Linux, use the generic switch # On Linux, use the generic switch
# builtin_manager = Builtin.instance() # builtin_manager = Builtin.instance()