diff --git a/backend/app/services/device_discovery.py b/backend/app/services/device_discovery.py index 16f4b77..b12f003 100644 --- a/backend/app/services/device_discovery.py +++ b/backend/app/services/device_discovery.py @@ -130,22 +130,22 @@ def _parse_config(config_text: str, rack_host: str) -> list[DiscoveredDevice]: for field_name in uri_fields: raw = parser.get(section, field_name, fallback=None) if not raw: - logger.debug(f"[ssh_discovery] {field_name}: not set") + logger.info(f"[ssh_discovery] {field_name}: (not set)") continue - logger.debug(f"[ssh_discovery] {field_name}='{raw}'") + logger.info(f"[ssh_discovery] {field_name}='{raw}'") ip = _extract_ip(raw) if not ip: - logger.info(f"[ssh_discovery] {field_name}='{raw}' - IGNORED (not a valid network IP)") + logger.info(f"[ssh_discovery] → IGNORED (not a valid network IP)") continue if ip == rack_host: - logger.info(f"[ssh_discovery] IP {ip} - IGNORED (matches rack_host {rack_host})") + logger.info(f"[ssh_discovery] → IGNORED (matches rack_host {rack_host})") continue if ip in seen_ips: - logger.info(f"[ssh_discovery] IP {ip} - IGNORED (duplicate, already seen)") + logger.info(f"[ssh_discovery] → IGNORED (duplicate, already seen)") continue seen_ips.add(ip) - logger.info(f"[ssh_discovery] IP {ip} - EXTRACTED (category={_cls_to_category(cls)}, role={_cls_to_role(cls, plugin_name)})") + logger.info(f"[ssh_discovery] → EXTRACTED {ip} (category={_cls_to_category(cls)}, role={_cls_to_role(cls, plugin_name)})") discovered.append(DiscoveredDevice( ip=ip, category=_cls_to_category(cls), @@ -155,6 +155,9 @@ def _parse_config(config_text: str, rack_host: str) -> list[DiscoveredDevice]: )) found_ip_in_plugin = True + if not found_ip_in_plugin: + logger.info(f"[ssh_discovery] → No network devices found in this plugin") + return discovered