Skip to content

Add Routed and AI Routed fabric types - #526

Draft
mtarking wants to merge 1 commit into
developfrom
issue-314
Draft

Add Routed and AI Routed fabric types#526
mtarking wants to merge 1 commit into
developfrom
issue-314

Conversation

@mtarking

Copy link
Copy Markdown
Collaborator

Related Issue(s)

Closes #314

Proposed Changes

Adds two new ND fabric modules for Routed fabrics, built on the pydantic model +
state-machine architecture:

  • nd_manage_fabric_routed — standalone Routed fabric management (fabric type routed)
  • nd_manage_fabric_ai_routed — AI/ML Routed fabric management (fabric type aimlRouted),
    subclassed from the routed base with AI QoS always enabled (frozen aiml_qos)

Per the OpenAPI spec (docs/openapi/4.2.1/manage.json), routed/aimlRouted share
byte-for-byte identical property schemas with vxlanEbgp/aimlVxlanEbgp — only the
type discriminator differs — so the routed models mirror the eBGP VXLAN implementation.

New/changed files:

  • plugins/module_utils/models/manage_fabric/manage_fabric_routed.pyRoutedManagementModel, FabricRoutedModel
  • plugins/module_utils/models/manage_fabric/manage_fabric_ai_routed.pyAimlRoutedManagementModel, FabricAiRoutedModel
  • plugins/module_utils/orchestrators/manage_fabric_routed.pyManageRoutedFabricOrchestrator
  • plugins/module_utils/orchestrators/manage_fabric_ai_routed.pyManageAiRoutedFabricOrchestrator
  • plugins/modules/nd_manage_fabric_routed.py, plugins/modules/nd_manage_fabric_ai_routed.py
  • plugins/module_utils/models/manage_fabric/enums.py — added FabricTypeEnum.ROUTED / AIML_ROUTED
  • plugins/module_utils/models/manage_fabric/constants.py — wired ROUTED into pool/pattern/string maps
  • tests/unit/module_utils/models/test_manage_fabric_routed.py
  • tests/integration/targets/nd_manage_fabric/tasks/fabric_routed.yaml, fabric_ai_routed.yaml (+ main.yaml/vars/main.yaml wiring)
  • changelogs/fragments/add_nd_manage_fabric_routed.yml

Test Notes

  • Unit tests: python -m pytest tests/unit/module_utils/models/test_manage_fabric_routed.py
    → 4 passed. Covers routed model type/identity, AI routed aiml_qos=True, aiml_qos
    exclusion from argspec, and the locked/frozen aiml_qos field rejecting False.
  • Integration tests added under tests/integration/targets/nd_manage_fabric/ covering
    merged (create/idempotent/update), replaced (create/idempotent), overridden, and
    deleted (delete/idempotent), plus live API validation of management.type
    (routed / aimlRouted) and aimlQos == true for the AI variant.
  • YAML validated for all new/modified integration files.

Cisco Nexus Dashboard Version

4.2.1

Related ND API Resource Category

  • analyze
  • infa
  • manage
  • onemanage
  • other

Checklist

  • Latest commit is rebased from develop with merge conflicts resolved
  • New or updates to documentation has been made accordingly
  • Assigned the proper reviewers

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[ND 4.2+] Add Routed Fabric Type Module

1 participant