Defer canvas edge deletes to Save and cascade orphan Fabric on NE detach.

Queue fabric edge deletes until Save with undo-safe pending state; hard-delete topology/LLDP placeholders from the canvas; purge fully orphaned fabric nodes after inventory detach, with a periodic reconcile GC.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
oliver 2026-08-05 22:43:03 +08:00
parent 2aafb72676
commit 6e2c8517cf
16 changed files with 732 additions and 166 deletions

View file

@ -4,7 +4,7 @@ Optional when ``NETX_RUN_INLINE_SCHEDULERS=false`` (API does not start collector
python -m netx_api.worker
Starts: config_sync, lldp_collect, port_traffic tick loops.
Starts: config_sync, lldp_collect, port_traffic, fabric_reconcile tick loops.
UME WS / keepalive remain in the API process (token + alarm coordination).
By default the API runs collectors inline — no separate worker needed.
"""
@ -45,7 +45,9 @@ def main() -> None:
log_runtime_budget(role="worker")
except Exception:
_log.exception("worker runtime budget log failed")
_log.info("netx worker schedulers started (config_sync, lldp_collect, port_traffic)")
_log.info(
"netx worker schedulers started (config_sync, lldp_collect, port_traffic, fabric_reconcile)"
)
while not stop.is_set():
time.sleep(1.0)