mirror of
https://github.com/hansjone/netx.git
synced 2026-10-09 03:10:46 +08:00
Harden LLDP collect ops: edge list, job reclaim, and schedule hygiene.
Add fabric link browsing, conservative job retention, hour-based intervals, multi-worker start locking, and trim canvas discover UI in favor of the LLDP page. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
d05ba0f1f7
commit
e7f97b7cf6
18 changed files with 1126 additions and 479 deletions
|
|
@ -32,18 +32,24 @@ class FabricEdgeOut(BaseModel):
|
|||
b_node_id: str
|
||||
a_port: str = ""
|
||||
b_port: str = ""
|
||||
a_name: str = ""
|
||||
b_name: str = ""
|
||||
a_ip: str = ""
|
||||
b_ip: str = ""
|
||||
source: str = "lldp"
|
||||
status: str = "active"
|
||||
attrs: dict[str, Any] = Field(default_factory=dict)
|
||||
discovered_at: datetime | None = None
|
||||
last_seen_at: datetime | None = None
|
||||
updated_at: datetime | None = None
|
||||
|
||||
|
||||
class FabricSummaryOut(BaseModel):
|
||||
node_count: int = 0
|
||||
edge_count: int = 0
|
||||
edge_active: int = 0
|
||||
edge_stale: int = 0
|
||||
edge_stale: int = 0 # legacy alias of edge_missing
|
||||
edge_missing: int = 0
|
||||
last_discover_at: datetime | None = None
|
||||
updated_at: datetime | None = None
|
||||
|
||||
|
|
@ -59,7 +65,12 @@ class FabricDiscoverRequest(BaseModel):
|
|||
"""Start LLDP discovery into fabric (no CDP)."""
|
||||
|
||||
scope: str = Field(default="ne_ids", description="all_inventory | ne_ids")
|
||||
ne_ids: list[str] = Field(default_factory=list)
|
||||
ne_ids: list[str] = Field(
|
||||
default_factory=list,
|
||||
description="Legacy mixed ids (managed first, then ume). Prefer managed_ne_ids/ume_ne_ids.",
|
||||
)
|
||||
managed_ne_ids: list[str] = Field(default_factory=list)
|
||||
ume_ne_ids: list[str] = Field(default_factory=list)
|
||||
auto_add_unmatched: bool = Field(
|
||||
default=True,
|
||||
description="Create SSH placeholder ManagedNEs for LLDP neighbors not in inventory",
|
||||
|
|
@ -105,7 +116,8 @@ class FabricDiscoverJobOut(BaseModel):
|
|||
done: int = 0
|
||||
edges_added: int = 0
|
||||
edges_updated: int = 0
|
||||
edges_stale: int = 0
|
||||
edges_stale: int = 0 # legacy alias of edges_missing
|
||||
edges_missing: int = 0
|
||||
error: str = ""
|
||||
started_at: datetime | None = None
|
||||
ended_at: datetime | None = None
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue