Skip to content

Feature: vPC Support for terraform-nxos-nac-nxos #7

@Exonical

Description

@Exonical

Feature Request: vPC Support for terraform-nxos-nac-nxos

Description:
Currently, the terraform-nxos-nac-nxos module does not support configuring Virtual Port Channels (vPCs). vPCs are a critical feature in Cisco NX-OS networks, allowing links that are physically connected to two different devices to appear as a single logical port to a third device.

Use Case:
Automating the configuration of vPCs is essential for managing redundancy, load balancing, and high availability in a scalable and efficient manner via Terraform.

Proposed Solution:
Add native vPC configuration support to the module, allowing users to configure vPC domains, peer links, and vPC member ports.

Example YAML input format

nxos:
  devices:
    - name: Switch1
      url: https://1.2.3.4
      configuration:
        system:
          hostname: Switch1
          mtu: 9216
          feature:
            vpc: true # Ensure VPC feature is enabled
          vpc:
            domain_id: 100 # Example Domain ID
            peer_keepalive:
              destination_ip: 10.0.0.2 # Example Peer Keepalive Dest IP
              source_ip: 10.0.0.1    # Example Peer Keepalive Src IP
              vrf: management        # Example Peer Keepalive VRF
            peer_link:
              interface_id: 1000     # Example PortChannel ID for Peer Link
            vpc_interfaces:
              - name: vpc10                 # Logical name for this VPC Interface config
                interface_id: 10     # VPC ID
                port_channel_id: 10  # PortChannel ID acting as VPC

Current Workaround:
Manual configuration outside of Terraform, or use of custom scripts and templates that are not integrated into the module.

Additional Context:
vPCs are a standard design element in Cisco data center networks. Including vPC configuration in the module would streamline network automation and align with production deployment practices.

The CiscoDevNet/nxos provider already supports this

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions