Skip to content

Remove legacy ND ≤3.2 modules for 2.0.0 (unified ND) (NDA-33) - #493

Draft
mtarking wants to merge 1 commit into
developfrom
remove-legacy-modules-2.0.0
Draft

Remove legacy ND ≤3.2 modules for 2.0.0 (unified ND) (NDA-33)#493
mtarking wants to merge 1 commit into
developfrom
remove-legacy-modules-2.0.0

Conversation

@mtarking

@mtarking mtarking commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator

Summary

cisco.nd 2.0.0 targets the unified Nexus Dashboard (4.2+) OpenAPI. The modules that only work against ND 3.2 and earlier no longer function on the new controller, so this PR removes them and tombstones them for 2.0.0.

Because there is no intermediate 1.x release to deprecate in, this is a single-release removal: entries go straight to tombstone: in meta/runtime.yml (referencing a removed module now fails with an actionable message pointing at the ND-version limitation). To manage ND ≤3.2, users pin cisco.nd to a 1.x release and isolate the two generations in separate venvs / Execution Environments (only one version of a collection can be installed per collection path).

What changed

  • Removed 25 modules (files + their tests/integration/targets/):
    • Insights / assurance / compliance: nd_compliance_analysis, nd_compliance_requirement_communication, nd_compliance_requirement_config_import, nd_compliance_requirement_config_manual, nd_compliance_requirement_config_snapshot, nd_compliance_requirement_config_template, nd_delta_analysis, nd_flow_rules, nd_interface_flow_rules, nd_instant_assurance_analysis, nd_pcv, nd_pcv_compliance, nd_pcv_delta_analysis, nd_policy_cam_statistics_hit_counts, nd_snapshot
    • Platform / cluster (ND ≤3.2 APIs): nd_api_key, nd_backup, nd_backup_restore, nd_cluster_config_route, nd_federation_member, nd_service, nd_service_instance, nd_setup, nd_site, nd_version
  • nd_epoch routing converted from redirect: nd_snapshottombstone (its redirect target was removed).
  • Removed orphaned shared code used only by the deleted Insights modules: plugins/module_utils/ndi.py, plugins/module_utils/ndi_argument_specs.py, plugins/doc_fragments/ndi_compliance_base.py (verified no surviving module imports them).
  • meta/runtime.yml: added 26 tombstone entries and rebuilt action_groups.all with the 31 surviving unified modules (previously it listed only the legacy set + nd_rest).
  • galaxy.yml: 1.5.02.0.0 (required: tombstones need the collection version ≥ removal_version).
  • Changelog fragment: breaking_changes + removed_features.
  • Docs: replaced the removed-nd_version examples in README.md and plugins/modules/nd_log.py with nd_rest equivalents.

Modules retained (31)

All nd_manage_*, nd_interface_* (non-flow), nd_fabric_update_group, nd_local_user, nd_log, nd_maintenance_mode, and nd_rest.

Reviewer notes / open questions

  • The platform bucket (nd_api_key, nd_backup, nd_backup_restore, nd_federation_member, nd_service*, nd_setup, nd_site) is removed here rather than reworked onto unified APIs. If any of these should instead be re-implemented against ND 4.2+ endpoints, flag it and I'll pull it out of the removal set.
  • Draft pending CI (ansible-test sanity / changelog lint) and confirmation of the base branch.

Verification done locally

  • YAML validated for meta/runtime.yml, galaxy.yml, and the changelog fragment.
  • Grep confirmed no surviving plugins/, README.md, or meta/ references to removed modules (only an unrelated internal nd_version parameter mention in the multisite orchestrator docstrings).
  • Confirmed no unit tests or sanity ignore-*.txt entries referenced the removed modules.

cisco.nd 2.0.0 targets the unified Nexus Dashboard (4.2+) OpenAPI. Modules that only work against ND 3.2 and earlier are removed and tombstoned in meta/runtime.yml. Also removes their integration targets and the now-orphaned ndi module_utils/doc_fragments, rebuilds action_groups.all with the surviving unified modules, bumps the collection to 2.0.0, and adds a changelog fragment. To manage ND <=3.2, pin cisco.nd to a 1.x release.
@mtarking mtarking self-assigned this Aug 7, 2026
@mtarking mtarking added jira-sync Sync this issue to Jira 2.0.0 Release 2.0.0 nda-project Move this issue to the NDA project labels Aug 7, 2026
@github-actions github-actions Bot changed the title Remove legacy ND ≤3.2 modules for 2.0.0 (unified ND) Remove legacy ND ≤3.2 modules for 2.0.0 (unified ND) (DCNE-882) Aug 7, 2026
@dcne-automation dcne-automation changed the title Remove legacy ND ≤3.2 modules for 2.0.0 (unified ND) (DCNE-882) Remove legacy ND ≤3.2 modules for 2.0.0 (unified ND) (NDA-33) Aug 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2.0.0 Release 2.0.0 jira-sync Sync this issue to Jira nda-project Move this issue to the NDA project

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant