mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-11-03 05:51:15 +02:00
refactor: ruff autofixes
This commit is contained in:
455 files changed
+12322
-14762
No files matched your search
@@ -46,7 +46,6 @@ log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class BaseNode:
|
||||
|
||||
"""
|
||||
Base node implementation.
|
||||
|
||||
@@ -460,8 +459,7 @@ class BaseNode:
|
||||
while True:
|
||||
try:
|
||||
(self._wrap_console_reader, self._wrap_console_writer) = await asyncio.open_connection(
|
||||
host="127.0.0.1",
|
||||
port=internal_port
|
||||
host="127.0.0.1", port=internal_port
|
||||
)
|
||||
break
|
||||
except (OSError, ConnectionRefusedError) as e:
|
||||
@@ -472,10 +470,7 @@ class BaseNode:
|
||||
if console_type == "telnet":
|
||||
await AsyncioTelnetServer.write_client_intro(self._wrap_console_writer, echo=True)
|
||||
server = AsyncioTelnetServer(
|
||||
reader=self._wrap_console_reader,
|
||||
writer=self._wrap_console_writer,
|
||||
binary=True,
|
||||
echo=True
|
||||
reader=self._wrap_console_reader, writer=self._wrap_console_writer, binary=True, echo=True
|
||||
)
|
||||
elif console_type == "ssh":
|
||||
server = AsyncioSSHServer(reader=self._wrap_console_reader, writer=self._wrap_console_writer)
|
||||
@@ -543,8 +538,7 @@ class BaseNode:
|
||||
"""
|
||||
|
||||
log.info(
|
||||
f"New client {websocket.client.host}:{websocket.client.port} has connected to compute"
|
||||
f" console WebSocket"
|
||||
f"New client {websocket.client.host}:{websocket.client.port} has connected to compute console WebSocket"
|
||||
)
|
||||
|
||||
if self.status != "started":
|
||||
@@ -555,8 +549,7 @@ class BaseNode:
|
||||
if self._console_type not in ("telnet", "ssh", "docker_exec"):
|
||||
await websocket.close(code=1000)
|
||||
log.warning(
|
||||
f"Cannot open console WebSocket: node {self.name} console type '{self._console_type}' "
|
||||
f"is not supported"
|
||||
f"Cannot open console WebSocket: node {self.name} console type '{self._console_type}' is not supported"
|
||||
)
|
||||
return
|
||||
|
||||
@@ -609,8 +602,10 @@ class BaseNode:
|
||||
return None
|
||||
cols, rows = message.get("cols"), message.get("rows")
|
||||
if (
|
||||
isinstance(cols, int) and not isinstance(cols, bool)
|
||||
and isinstance(rows, int) and not isinstance(rows, bool)
|
||||
isinstance(cols, int)
|
||||
and not isinstance(cols, bool)
|
||||
and isinstance(rows, int)
|
||||
and not isinstance(rows, bool)
|
||||
and 2 <= cols <= 5000
|
||||
and 2 <= rows <= 100000
|
||||
):
|
||||
@@ -720,8 +715,7 @@ class BaseNode:
|
||||
"""
|
||||
|
||||
log.info(
|
||||
f"New client {websocket.client.host}:{websocket.client.port} has connected to compute "
|
||||
f"VNC console WebSocket"
|
||||
f"New client {websocket.client.host}:{websocket.client.port} has connected to compute VNC console WebSocket"
|
||||
)
|
||||
|
||||
if self.status != "started":
|
||||
@@ -730,15 +724,13 @@ class BaseNode:
|
||||
return
|
||||
if self._console_type != "vnc":
|
||||
await websocket.close(code=1000)
|
||||
log.warning(
|
||||
f"Cannot open VNC WebSocket: node {self.name} console type '{self._console_type}' is not vnc"
|
||||
)
|
||||
log.warning(f"Cannot open VNC WebSocket: node {self.name} console type '{self._console_type}' is not vnc")
|
||||
return
|
||||
|
||||
try:
|
||||
vnc_reader, vnc_writer = await asyncio.open_connection(
|
||||
self._manager.port_manager.console_host,
|
||||
self.console # VNC port
|
||||
self.console, # VNC port
|
||||
)
|
||||
log.info(f"Connected to VNC server {self._manager.port_manager.console_host}:{self.console}")
|
||||
except ConnectionError as e:
|
||||
@@ -909,9 +901,7 @@ class BaseNode:
|
||||
elif console_type == "vnc":
|
||||
vnc_console_start_port_range, vnc_console_end_port_range = self._get_vnc_console_port_range()
|
||||
self._console = self._manager.port_manager.get_free_tcp_port(
|
||||
self._project,
|
||||
vnc_console_start_port_range,
|
||||
vnc_console_end_port_range
|
||||
self._project, vnc_console_start_port_range, vnc_console_end_port_range
|
||||
)
|
||||
else:
|
||||
self._console = self._manager.port_manager.get_free_tcp_port(self._project)
|
||||
@@ -1044,9 +1034,7 @@ class BaseNode:
|
||||
log.debug(f"Starting new uBridge hypervisor at {self._ubridge_hypervisor.endpoint}")
|
||||
await self._ubridge_hypervisor.start()
|
||||
if self._ubridge_hypervisor:
|
||||
log.info(
|
||||
f"Hypervisor at {self._ubridge_hypervisor.endpoint} has successfully started"
|
||||
)
|
||||
log.info(f"Hypervisor at {self._ubridge_hypervisor.endpoint} has successfully started")
|
||||
await self._ubridge_hypervisor.connect()
|
||||
# Tell this uBridge where to send MARK signals and which node id to
|
||||
# tag them with. Marker is opt-in and inert until a `mark` filter is
|
||||
@@ -1181,7 +1169,7 @@ class BaseNode:
|
||||
"""
|
||||
|
||||
i = 0
|
||||
for (filter_type, values) in filters.items():
|
||||
for filter_type, values in filters.items():
|
||||
if isinstance(values[0], str):
|
||||
for line in values[0].split("\n"):
|
||||
line = line.strip()
|
||||
@@ -1217,7 +1205,9 @@ class BaseNode:
|
||||
dlt = dlt[4:]
|
||||
return None if dlt == "EN10MB" else dlt
|
||||
|
||||
async def _ubridge_add_marker_filter(self, bridge_name, name, bpf, pcap_path, tag=None, link_id=None, direction=None, data_link_type=None):
|
||||
async def _ubridge_add_marker_filter(
|
||||
self, bridge_name, name, bpf, pcap_path, tag=None, link_id=None, direction=None, data_link_type=None
|
||||
):
|
||||
"""
|
||||
Attach a `mark` packet filter to a uBridge bridge for traffic insight.
|
||||
|
||||
@@ -1246,9 +1236,7 @@ class BaseNode:
|
||||
# so allow up to 48 here.
|
||||
if not _MARKER_NAME_RE.match(name) or len(name) > 48:
|
||||
raise UbridgeError(f"Invalid marker name: {name!r}")
|
||||
cmd = 'bridge add_packet_filter {bridge} {name} mark "{bpf}"'.format(
|
||||
bridge=bridge_name, name=name, bpf=bpf
|
||||
)
|
||||
cmd = 'bridge add_packet_filter {bridge} {name} mark "{bpf}"'.format(bridge=bridge_name, name=name, bpf=bpf)
|
||||
if tag is not None:
|
||||
cmd += f" tag {tag}"
|
||||
# Per-link attribution (contract §3.2): when one ubridge bridge serves
|
||||
@@ -1353,7 +1341,7 @@ class BaseNode:
|
||||
"""
|
||||
from gns3server.compute.marker.marker_manager import MarkerManager
|
||||
|
||||
markers = nio.markers if hasattr(nio, 'markers') else {}
|
||||
markers = nio.markers if hasattr(nio, "markers") else {}
|
||||
manager = MarkerManager.instance()
|
||||
markers_dir = self.project.markers_working_directory()
|
||||
desired = {(name, spec.get("link_id", "")): spec for name, spec in markers.items()}
|
||||
@@ -1404,9 +1392,16 @@ class BaseNode:
|
||||
continue # unchanged
|
||||
pcap_path = os.path.join(markers_dir, f"{self._id}_{link_id}_{name}.pcap")
|
||||
try:
|
||||
await self._ubridge_add_marker_filter(bridge_name, name, bpf, pcap_path, tag, link_id,
|
||||
direction=spec.get("direction"),
|
||||
data_link_type=spec.get("data_link_type"))
|
||||
await self._ubridge_add_marker_filter(
|
||||
bridge_name,
|
||||
name,
|
||||
bpf,
|
||||
pcap_path,
|
||||
tag,
|
||||
link_id,
|
||||
direction=spec.get("direction"),
|
||||
data_link_type=spec.get("data_link_type"),
|
||||
)
|
||||
except UbridgeError as e:
|
||||
# Swallow BPF compile errors (warn + skip) so a single bad
|
||||
# expression can't break link creation / node restart — mirrors
|
||||
|
||||
Reference in new issue
Block a user