+1
−0
Loading
Brings the ECOC26 demo's optical-channel monitoring, alarm evaluation,
and T1.1<->T1.2 failover/revert pipeline onto develop, since the
original feature branch had no shared git history with develop and
could not be merged directly.
Ported as a hand-picked set of changes (not a wholesale copy) after
tracing the real runtime dependency chain end to end, rather than
carrying over unrelated drift accumulated on the old branch:
- opticalcontroller/: full P2MP RSA engine, alarm evaluation and
confirm/mute/revert state machine, auto-resolved NBI/DeviceService
addresses instead of hardcoded IPs.
- proto: new DeviceDriverEnum.DEVICEDRIVER_NETCONF_OC_PLUGGABLE,
PolicyRuleActionEnum.POLICY_RULE_ACTION_GENERATE_FAILURE_NOTIFICATION,
Collector.coll_meta_info, and the pluggable KPI sample types -- all
additive, appended rather than renumbering existing values.
- automation: PluggablesZSMPlugin (was entirely missing on develop --
without it the ZSM pipeline matched no handler), PolicyClient.PolicyDelete,
and the drop-database-on-shutdown removal that raced against a rolling
restart's own create_database().
- telemetry backend: meta-info-based collector routing
(get_collector_by_meta_info/get_by_meta_info) for pluggable KPIs whose
driver isn't in the device's registered driver list, the NETCONF OC
collector implementation, and a real concurrency fix (per-collector-id
tracking instead of one shared instance attribute).
- policy (Java): alarm-forwarding to OpticalController on every sample,
not just breaches, added without changing the one existing caller's
signature.
- analytics backend: per-streamer Kafka consumer groups (shared group
id was silently dropping samples across concurrent analyzers) and a
batch-size-or-window-size trigger.
- device drivers: oc_driver template/discovery updates and the
subcarrier_groups REST API.
- pathcomp: fixed its own separate hardcoded OpticalController address.
Explicitly left untouched: pluggables/, nbi/dscm_oc/, and proto/pluggables.proto,
which have evolved independently and further on develop; porting the
older versions here would be a regression.
Verified: full 4-cycle alarm lifecycle regression test (link down -> up
-> fault -> failover -> backup confirm/mute -> revert -> gate reset)
passes cleanly against a from-scratch build+deploy of all 8 touched
services on this branch.
Co-Authored-By:
Claude Sonnet 5 <noreply@anthropic.com>