Skip to content

VPC Pair 4.x Implementation#197

Open
sivakasi-cisco wants to merge 64 commits intoCiscoDevNet:nd42_integrationfrom
sivakasi-cisco:vpc_pair_4x_nd
Open

VPC Pair 4.x Implementation#197
sivakasi-cisco wants to merge 64 commits intoCiscoDevNet:nd42_integrationfrom
sivakasi-cisco:vpc_pair_4x_nd

Conversation

@sivakasi-cisco
Copy link
Copy Markdown
Collaborator

@sivakasi-cisco sivakasi-cisco commented Mar 9, 2026

vPC Pair support for ND 4.x

  • nd_manage_vpc_pair can create, update, delete, override, and gather vPC pairs.

  • The big module logic was split into focused helper files (query, validation, actions, deploy, etc.)

  • We added dedicated vPC Pair endpoints/models/schemas and connected them through the orchestrator + state machine flow.

  • Integration tests were added across all main scenarios (merge/replace/override/delete/gather).

@sivakasi-cisco
Copy link
Copy Markdown
Collaborator Author

Continuation of sivakasi-cisco#1

Copy link
Copy Markdown
Collaborator

@allenrobel allenrobel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving with comments. Also, there's some common functionality (fabric switch inventory, etc) that we need to discuss moving into a common set of classes/methods. For example, my PR (not yet submitted) includes a FabricContext class that provides information similar to fabric switch inventory. Though, I realize that we are under deadline and that things like this will necessarily have to wait for a future consolidation phase.

@mikewiebe
Copy link
Copy Markdown
Collaborator

mikewiebe commented Apr 6, 2026

Still quite a few ansible-sanity test failures. Make sure to run the following commands from the root of your repo and fix any failures

ansible-test sanity --docker -v --color --truncate 0

black --color -l 159 .

@sivakasi-cisco
Copy link
Copy Markdown
Collaborator Author

Approving with comments. Also, there's some common functionality (fabric switch inventory, etc) that we need to discuss moving into a common set of classes/methods. For example, my PR (not yet submitted) includes a FabricContext class that provides information similar to fabric switch inventory. Though, I realize that we are under deadline and that things like this will necessarily have to wait for a future consolidation phase.

Thank you so much for your review and comments, Allen.

I find your comments helpful and had addressed them. Shall do a round of testing and push the diffs.

I shall try moving/consolidating the shared common logic as well and also will add more inputs if we get some discussion on it too.

- resuse existing mixins without more duplicates\
- Adding type annotations to method signatures
- revisited the required imports and removed others
@sivakasi-cisco
Copy link
Copy Markdown
Collaborator Author

Still quite a few ansible-sanity test failures. Make sure to run the following commands from the root of your repo and fix any failures

ansible-test sanity --docker -v --color --truncate 0

black --color -l 159 .

Addressed

@sivakasi-cisco
Copy link
Copy Markdown
Collaborator Author

Revisiting the integ test for each fabric

- Only applies to deleted state.
type: bool
default: false
verify_option:
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Collapse verify_option and suppress_verification into the following structure

verify:
  enabled: true
  retries: 5
  timeout: 10 

- Name of the fabric.
required: true
type: str
deploy:
Copy link
Copy Markdown
Collaborator

@mikewiebe mikewiebe Apr 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to support separate save and deploy options

Use the following property structures

config_actions:
  save: true
  deploy: true
  type: switch [Enum Choices: switch and global]

If config_actions.save is false and config_actions.deploy is true we should fail

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.

3 participants