fix: parse_model_from_version handles both HP banner orderings

Old switches show: "HP J9298A Switch 2520G-8-PoE" (model after Switch)
Newer switches:    "HP J9565A 2520G-8-PoE Switch" (model before Switch)

New approach: strip vendor prefix + J-code + "Switch" keyword, leaving
just the product name. Returns tuple (model, part_number).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Christian Manivong
2026-06-22 23:27:15 +02:00
co-authored by Claude Sonnet 4.6
parent d2915f5829
commit da5920a9bc
2 changed files with 25 additions and 13 deletions
+4 -2
View File
@@ -413,10 +413,12 @@ class ProcurveDriver(ConfigLifecycleMixin, SwitchDriver):
)
parsed = parsers.parse_system_info(sysinfo)
# get model from show version if not in system-info
# get model (and part_number) from show version if not in system-info
if not parsed["model"]:
ver_out = self._send_command("show version")
parsed["model"] = parsers.parse_model_from_version(ver_out)
parsed["model"], ver_pn = parsers.parse_model_from_version(ver_out)
if ver_pn and not parsed.get("part_number"):
parsed["part_number"] = ver_pn
if not parsed["os_version"]:
parsed["os_version"] = parsers.parse_version(ver_out)