Add flex-algo node-segment lines to loopback template, one per entry in flex_algo_node_segments. Conditional on FlexAlgoNodeSegments being non-empty — if empty, only the algo-0 node-segment line is rendered.
Controller MUST check at startup with enabled: true that no Vpnv4 loopback has an empty flex_algo_node_segments list. If any are found, enabled: true MUST be treated as a no-op for that startup cycle — no flex-algo config pushed to any device. Controller MUST emit a prominent error identifying unset loopbacks by pubkey and direct the operator to run the migration command.
Milestone: RFC-18: Controller — Topology Config
RFC: #3288
Files affected:
controlplane/controller/internal/controller/ (loopback template, startup check)
Size: Small
Tests:
- Loopback with
flex_algo_node_segments entries renders one node-segment ... flex-algo <name> line per entry
- Loopback with empty
flex_algo_node_segments produces only the algo-0 node-segment line
- Startup check fires and emits correct error when any Vpnv4 loopback has empty list
- Startup check passes and flex-algo config is applied when all loopbacks are migrated
Blockers: #3351 (IS-IS TE templates), #3349 (migration command)
Add flex-algo
node-segmentlines to loopback template, one per entry inflex_algo_node_segments. Conditional onFlexAlgoNodeSegmentsbeing non-empty — if empty, only the algo-0node-segmentline is rendered.Controller MUST check at startup with
enabled: truethat no Vpnv4 loopback has an emptyflex_algo_node_segmentslist. If any are found,enabled: trueMUST be treated as a no-op for that startup cycle — no flex-algo config pushed to any device. Controller MUST emit a prominent error identifying unset loopbacks by pubkey and direct the operator to run the migration command.Milestone: RFC-18: Controller — Topology Config
RFC: #3288
Files affected:
controlplane/controller/internal/controller/(loopback template, startup check)Size: Small
Tests:
flex_algo_node_segmentsentries renders onenode-segment ... flex-algo <name>line per entryflex_algo_node_segmentsproduces only the algo-0node-segmentlineBlockers: #3351 (IS-IS TE templates), #3349 (migration command)