mirror of
https://github.com/hansjone/netx.git
synced 2026-10-15 17:13:21 +08:00
Optimize cutover compare/monitor per the 2026-10-12 plan.
Correctness (A): normalize port-map names with the template rules (snapshot v2, v1 replays unchanged); protect mappings/templates that are referenced; stop dropping edited mapping text; accept pulled-but-not-shutdown ports as migrated; validate baseline ownership on project create; one canonical key form; fix built-in template tolerances and upgrade old packaged values in place. Cross-vendor identity (B): single identity pipeline for every path, per-side and per-vendor interface rules, value maps, filters after normalization, mapping pre-flight for compare and cutover projects, SQL eligibility fixes. Data quality (V): no_data / suspect_parse / not_collected sheet states, command slice coverage, directional compare modes, value-sorted duplicate pairing, before-side raw names in results and CSV. Robustness (H): bounded auto-run history, background evaluate/finish with polling, manual route tables out of the acceptance gate, baseline row cache, scoped duplicate-key failures, merged HF tasks with a per-NE session cap, same-device cutover, explicit scope_by_port_map, read-only GETs, resolvable red tickets. Frontend: pre-flight report, mapping table view, template editor support for the new rules, data-state banners. Docs: canonical field contract. Not included: Huawei status parsers (no real samples), SQL-path route compare. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
fff7d63b9b
commit
315539e0fd
59 changed files with 6483 additions and 487 deletions
|
|
@ -131,9 +131,25 @@
|
|||
],
|
||||
"row_filters": [
|
||||
{
|
||||
"op": "age_timer",
|
||||
"field": "age",
|
||||
"value": ""
|
||||
"any": [
|
||||
{
|
||||
"field": "entry_type",
|
||||
"op": "eq",
|
||||
"value": "dynamic"
|
||||
},
|
||||
{
|
||||
"all": [
|
||||
{
|
||||
"field": "entry_type",
|
||||
"op": "empty"
|
||||
},
|
||||
{
|
||||
"field": "age",
|
||||
"op": "age_timer"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"field_rules": [
|
||||
|
|
@ -415,11 +431,7 @@
|
|||
],
|
||||
"compare_fields": [
|
||||
"admin",
|
||||
"input_bps",
|
||||
"output_bps",
|
||||
"port_status",
|
||||
"in_util",
|
||||
"out_util",
|
||||
"ip_mtu",
|
||||
"mtu",
|
||||
"mpls_mtu",
|
||||
|
|
@ -454,7 +466,7 @@
|
|||
},
|
||||
{
|
||||
"field": "output_bps",
|
||||
"compare": "numeric",
|
||||
"compare": "percent",
|
||||
"tolerance": 5
|
||||
},
|
||||
{
|
||||
|
|
@ -593,8 +605,8 @@
|
|||
"field_rules": [
|
||||
{
|
||||
"field": "rx_power",
|
||||
"compare": "percent",
|
||||
"tolerance": 5
|
||||
"compare": "numeric",
|
||||
"tolerance": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -668,7 +680,9 @@
|
|||
"vpn_sid",
|
||||
"neighbor_sid"
|
||||
],
|
||||
"iface_fields": [],
|
||||
"iface_fields": [
|
||||
"ac_port"
|
||||
],
|
||||
"compare_fields": [],
|
||||
"display_fields": [
|
||||
"mac",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue