Skip to content

Releases: cisco-open/sdwan-lab-deployment-tool

v3.2.0

Choose a tag to compare

@tzarski0 tzarski0 released this 11 Sep 12:24

What's Changed

  • Add per-node CPU/RAM overrides to deploy via --manager-cpus/--manager-ram, --controller-cpus/--controller-ram and --validator-cpus/--validator-ram (env vars MANAGER_CPUS, MANAGER_RAM, CONTROLLER_CPUS, CONTROLLER_RAM, VALIDATOR_CPUS, VALIDATOR_RAM); each node keeps its image default unless overridden, and overrides are ignored with --retry
  • Fix deploy/restore skipping the initial setup workflow completion on Manager 20.18 (was gated to >= 26, but the feature was introduced in 20.18.1)
  • Fix deploy creating two duplicate admin users in SD-WAN Manager's cloud-init config when --manager-user admin is used (same value as the default account)

Full Changelog: v3.1.4...v3.2.0

v3.1.4

Choose a tag to compare

@tzarski0 tzarski0 released this 28 Jul 13:39

What's Changed

  • Fix restore crashing with TypeError: expected string or bytes-like object, got 'list' when a backed-up edge node was inactive at backup time

Full Changelog: v3.1.3...v3.1.4

v3.1.3

Choose a tag to compare

@tzarski0 tzarski0 released this 23 Jul 14:22

What's Changed

  • Fix restore failing with Interface eth2 not found in VPN 0 if modified direct connectivity between SD-WAN Manager eth0 and external connector
  • Fix add crashing with an unhandled ReadTimeout while polling for controller/validator reachability right after boot
  • Update deploy, restore and add controller to configure controllers via network-settings instead of attaching a device template (>=20.18)

Full Changelog: v3.1.2...v3.1.3

v3.1.2

Choose a tag to compare

@tzarski0 tzarski0 released this 09 Jul 11:30

What's Changed

  • Fix add failing with HTTP 400 Not Defined In Schema Attributes against config groups (e.g. from an older tool version) that don't define per-device _mask variables — device variables are now filtered against the config group's actual schema
  • Fix restore deleting the Manager node's admin account when the configured manager user differs from admin
  • Fix restore creating the cloned manager user without netadmin/global/all group membership, causing 403 Access forbidden after restore
  • Fix restore failing to find topology.yaml in zip backups that wrap their contents in a single top-level folder
  • Fix restore --directory <relative-path> failing Sastre restore with Work directory not found — backup path is now resolved to absolute before use

Full Changelog: v3.1.1...v3.1.2

v3.1.1

Choose a tag to compare

@tzarski0 tzarski0 released this 01 Jul 08:55

What's Changed

  • Fix backup task failing to extract config from control-plane nodes (Manager, Controller, Validator) when CML's SSH server rejects public key auth — paramiko now connects with password-only auth (allow_agent=False, look_for_keys=False)

Full Changelog: v3.1.0...v3.1.1

v3.1.0

Choose a tag to compare

@tzarski0 tzarski0 released this 30 Jun 14:58

What's Changed

  • Fix backup task failing to extract config from SD-WAN and SD-Routing edges when # present in interface description
  • Add Manager clustering support via csdwan add managers <version>
    • Deploys additional Manager nodes into the CML topology with a dedicated Cluster switch
    • Configures cluster IP on the primary Manager and enrolls new nodes one-by-one
    • Supports --persona flag (compute-and-data default, compute, data)
    • Certificates signed automatically after each node reaches Ready state (enterprise and Cisco PKI)
  • Update backup to capture cluster node personas from the live cluster management API and embed them in each Manager's backed-up cloud-init
  • Update restore to re-enroll secondary Manager nodes into the cluster after Sastre restore
  • Refactor progress reporting across all tasks to use a shared task_progress context manager and make_updater helper; every spinner update now also emits a log.info event, making task progress visible to log consumers
  • Add optional MCP server (pip install catalyst-sdwan-lab[mcp], entry point csdwan-mcp)
    • Exposes all tasks as MCP tools an LLM agent (VS Code Copilot, opencode, …) can drive conversationally
    • Long-running tools (deploy, add_devices, restore, images_upload) run as background jobs and return a job_id immediately; agent polls progress via job_status

New Contributors

Full Changelog: v3.0.1...v3.1.0

v3.0.1

Choose a tag to compare

@tzarski0 tzarski0 released this 24 Jun 08:37

What's Changed

  • Fix issue where deploy, add, and restore tasks fail to find software images when CML image IDs use dashes instead of dots (e.g. 20-18-2-1 instead of 20.18.2.1)

Full Changelog: v3.0.0...v3.0.1

v3.0.0

Choose a tag to compare

@tzarski0 tzarski0 released this 22 Jun 14:25

What's Changed

Complete rewrite. The tool is now dependency-minimal with no catalystwan SDK, no pyATS, and no pyOpenSSL.

  • Drop catalystwan SDK — replaced with a thin requests-based Manager HTTP client
  • Drop pyats / unicon — replaced with paramiko for SSH access to CML nodes
  • Drop pyOpenSSL — replaced with direct use of cryptography
  • Migrate packaging from Poetry to uv
  • Raise minimum Python version to 3.11
  • Raise minimum SD-WAN Manager version to 20.15
  • Raise minimum CML version to 2.7
  • Add images subcommand with list, upload, and delete — moves image management out of setup
  • Add SD-Routing Edge onboarding via config-group-based flow
  • Add --manager-port option to deploy and restore for PATty mode (replaces pat:<port> syntax)
  • Add --serial-file option to deploy and restore for custom .viptela serial files and org name
  • Add --output / -o option to sign to write the signed certificate to a file
  • Add --debug global flag for HTTP-level request/response logging
  • Add --directory flag to backup to save as an unpacked directory instead of a zip archive
  • Add support for Catalyst SD-WAN release 26.1.1
  • Add progress status for SD-WAN Manager boot in deploy and restore (Manager >= 26.1.1)
  • Skip initial setup workflow on first UI login in deploy and restore (Manager >= 26.1.1)
  • Accept un-padded software versions (26.1.1 resolved to 26.01.01 automatically)
  • Move setup --list to images list and setup --delete to images delete
  • Rename --manager--manager-ip, --muser--manager-user, --mpassword--manager-pass, --mmask--manager-mask, --mgateway--manager-gateway, --ip_type--ip-type, --deleteexisting--delete-existing, --contr_version--contr-version, --edge_version--edge-version
  • Fix issue where SD-Routing devices with version lower than 26.1.1 could fail to be onboarded in add and restore tasks
  • Add Cisco PKI support for deploy and restore (--pki cisco, requires Manager 20.18.2+) — device code authentication flow, CSR submission to Cisco cloud, automatic polling for certificate installation
  • Add HTTP proxy support for deploy and restore (--proxy-ip, --proxy-port, --no-proxy) — RFC1918 ranges always excluded from proxy automatically
  • Add PKI mode auto-detection to add task — reads current signing mode from Manager, no --pki flag needed

Full Changelog: v2.1.8...v3.0.0

v2.1.8

Choose a tag to compare

@tzarski0 tzarski0 released this 05 Mar 12:52
db11f72

What's Changed

  • In setup task, fix issue where --list would fail with IndexError: list index out of range when user has invalid image definitions created manually in CML

Full Changelog: v2.1.7...v2.1.8

v2.1.7

Choose a tag to compare

@tzarski0 tzarski0 released this 03 Feb 17:44

What's Changed

  • In restore task, add backward compatibility for restoring old backups with legacy disk naming (sdb to vdb conversion for virtio disks)
  • In restore task, fix issue where SD-WAN Manager might not boot properly if task is run with SD-WAN Manager username "admin"
  • In restore task, fix deprecation warnings by replacing node.config with node.configuration
  • In setup task, add verification for IOL and IOL-L2 node definitions
  • In setup task, allow to run "csdwan setup --list" without CML administrator privileges

Full Changelog: v2.1.6...v2.1.7