Skip to content

docs: RFC-18 operational runbook for flex-algo CLI workflows #3638

@ben-malbeclabs

Description

@ben-malbeclabs

Summary

Create an operational runbook documenting the RFC-18 flex-algo CLI workflows for use by the DZF team. This is distinct from the deployment runbook — it covers day-to-day operational tasks after flex-algo is live.

Motivation

The RFC-18 deployment surfaces a number of CLI workflows that aren't obviously discoverable: topology lifecycle, link tagging, tenant path assignment, unicast draining, and community stamping. A reference document makes these accessible without requiring RFC or code knowledge.

Scope

Each section should cover:

  • Intent — what this workflow achieves and when to use it
  • CLI commands — exact commands with --env devnet / --env mainnet-beta
  • Expected output — what success looks like
  • Known limitations — caveats, gotchas, or constraints

Proposed sections

  1. Topology lifecycle — create, list, delete a TopologyInfo; initialize AdminGroupBits prerequisite via global-config set
  2. Link topology assignment — tag/untag a link with a topology; use doublezero-admin migrate flex-algo for bulk backfill
  3. Tenant path assignment — set include_topologies on a tenant to steer onto a non-default topology; clear back to UNICAST-DEFAULT
  4. Unicast draining — set/clear unicast_drained on a link; effect on IS-IS flex-algo SPF; interaction with multicast (algo 0)
  5. Community stamping — enable/disable via features.yaml (per-tenant, per-device, all); what gets stamped and what doesn't (multicast users excluded)
  6. Flex-algo enable/disable — toggling features.yaml enabled flag via Ansible; what config is pushed and what is rolled back
  7. Verification commandsshow isis flex-algo, show running-config section administrative-group, controller log grep patterns

Related

  • RFC: rfcs/rfc18-link-classification-flex-algo.md
  • Deployment runbook: internal superpowers doc

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions