Skip to content

v2.1.0

Choose a tag to compare

@github-actions github-actions released this 09 Oct 20:38
b84ba96

Gateway4 → Gateway5 migrations become a normal delivery, and the asset library now pushes config through Gateway Manager.

Highlights

  • Deliver a Gateway4 → Gateway5 migration. The gateway4-to-gateway5 readiness report feeds a new spec (spec-gateway4-to-gateway5-migration). The usual lifecycle then delivers it: inventory into Inventory Manager with broker actions, services imported through Gateway Manager, workflows rebuilt as a new project next to the originals, and a parity test against Gateway4 before cutover. See helpers/gateway-migration/conversion-guide.md.
  • convert_gateway4.py (bundled with builder-agent and iag) reads Gateway4 without changing it and generates:
    • the Gateway5 services.yaml, with decorators built from each script's Gateway4 schema or its own argparse flags
    • the service repository layout, where playbooks read their devices from the Inventory Manager nodes passed to runService
    • Inventory Manager nodes with broker attributes and $SECRET references
    • a report of what still needs a person
  • Config push through GatewayManager.sendConfig. The asset library's push workflows no longer use Gateway4's itential_cli. builder-agent documents what sendConfig needs: the inventory target, enable mode (netmiko.become), and a per-device success check. It also gives two ways to move tasks that read itential_cli output.
  • runCode over JST transformations. builder-agent now prefers runCode canvas tasks for reshaping data, and the push and Command Template Runner samples use it.
  • Enable Query, done right. builder-agent documents where a decorator's pointer goes for every field type, and corrects the guidance for evaluation, merge and childJob. helpers/enable_query.py check verifies a workflow's decorators before you save it.

Fixes

  • 8 sample workflows in itential-platform-configuration-management.json and vendor-arista-eos.json pointed at transformations outside their project and couldn't start after import; all 8 start now.
  • The LCM VXLAN workflows reported success on a rejected config push: they checked only Gateway4's icode.
  • iag: runService hands Inventory Manager nodes to a service on stdin; JSON playbook output is set in ansible.cfg, not runtime.env.
  • Setup scripts, use-case paths and the platform pull (all workflows and devices, not just the first page).

Every change was tested against a live platform with Gateway4, Gateway5 and an Arista EOS device. Full list: CHANGELOG.md.