Skip to content

[ND 4.x] Extend nd_manage_interface_group for NX-OS and IOS-XE policy types #545

Description

@sivakasi-cisco

Summary

Extend nd_manage_interface_group for Nexus Dashboard 4.3 Campus VXLAN EVPN with platform-aware support for NX-OS and IOS-XE interface policy types where ND 4.3 exposes them.

The module must not assume that a policy type supported by one operating system, switch role, model, or topology is valid for another. Applicability must be established from the ND 4.3 contract before implementation.

Applicability Assessment - Required First

  • Inventory the ND 4.3 policy templates and policy types applicable to this module.
  • Record applicability by fabric type, network_os_type, switch role, model/release prerequisite, and topology.
  • Classify each requested combination as Supported, Partially Supported, or Not Applicable with API/template evidence.
  • Reject unsupported combinations before any controller read-modify-write or deployment request.
  • Do not invent an IOS-XE equivalent when ND 4.3 does not expose one.

Module-Specific Scope

Validate every Interface Group type and its policy/template fields against Campus fabric type, operating system, switch role, member-interface identity, VLAN/network associations, and shared-policy constraints.

Required Implementation

  • Expose and validate policy_type and network_os_type using platform-aware discriminated models where applicable.
  • Keep controller-response parsing tolerant of read-only/defaulted fields while keeping write validation strict.
  • Normalize platform-specific identifiers and controller defaults so gathered output is replayable and repeat runs are idempotent.
  • Group bulk create/update operations by switch and policy type where the ND API requires homogeneous payloads.
  • Preserve predictable merged, replaced, overridden, deleted, and gathered behavior where those states are supported.
  • Preserve check mode, sanitized before/after/diff output, per-item HTTP 207 failure handling, and staged/deploy behavior.
  • Update module documentation, examples, return documentation, and the supported policy-type matrix.
  • Add focused unit tests and Campus integration tests for Catalyst/IOS-XE, Nexus/NX-OS, mixed valid inputs, and invalid cross-platform inputs.

Acceptance Criteria

  • Every supported ND 4.3 policy type for this module is documented and validated.
  • Cross-OS, unsupported-role, unsupported-model, and unsupported-topology combinations fail before controller mutation.
  • Supported lifecycle states reconcile correctly and remain idempotent after ND injects defaults or reorders data.
  • Gathered output uses the module argspec shape and is suitable for replay where gathered is supported.
  • Mixed policy types are separated into valid API payloads rather than sent in one incompatible batch.
  • Check mode performs no mutation and predicts the same normalized result as apply mode.
  • Deployment-disabled operations do not call deploy endpoints; a later explicit deployment is validated where staging applies.
  • Unit, sanity, documentation, and Catalyst/Nexus Campus integration validation pass with deterministic cleanup.

References

Metadata

Metadata

Assignees

Labels

2.0.0Release 2.0.0nac-0.0.1NaC ND release 0.0.1

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions