cisco.nxos.nxos_lacp_interfaces – LACP interfaces resource module

Note

This plugin is part of the cisco.nxos collection (version 1.4.0).

To install it use: ansible-galaxy collection install cisco.nxos.

To use it in a playbook, specify: cisco.nxos.nxos_lacp_interfaces.

New in version 1.0.0: of cisco.nxos

Synopsis

  • This module manages Link Aggregation Control Protocol (LACP) attributes of NX-OS Interfaces.

Note

This module has a corresponding action plugin.

Parameters

Parameter Choices/Defaults Comments
config
list / elements=dictionary
A dictionary of LACP interfaces options.
convergence
dictionary
This dict contains configurable options related to convergence. Applicable only for Port-channel.
graceful
boolean
    Choices:
  • no
  • yes
port-channel lacp graceful convergence. Disable this only with lacp ports connected to Non-Nexus peer. Disabling this with Nexus peer can lead to port suspension.
vpc
boolean
    Choices:
  • no
  • yes
Enable lacp convergence for vPC port channels.
links
dictionary
This dict contains configurable options related to max and min port-channel links. Applicable only for Port-channel.
max
integer
Port-channel max bundle.
min
integer
Port-channel min links.
mode
string
    Choices:
  • delay
LACP mode. Applicable only for Port-channel.
name
string / required
Name of the interface.
port_priority
integer
LACP port priority for the interface. Range 1-65535. Applicable only for Ethernet.
rate
string
    Choices:
  • fast
  • normal
Rate at which PDUs are sent by LACP. Applicable only for Ethernet. At fast rate LACP is transmitted once every 1 second. At normal rate LACP is transmitted every 30 seconds after the link is bundled.
suspend_individual
boolean
    Choices:
  • no
  • yes
port-channel lacp state. Disabling this will cause lacp to put the port to individual state and not suspend the port in case it does not get LACP BPDU from the peer ports in the port-channel.
running_config
string
This option is used only with state parsed.
The value of this option should be the output received from the NX-OS device by executing the command show running-config | section ^interface.
The state parsed reads the configuration from running_config option and transforms it into Ansible structured data as per the resource module's argspec and the value is then returned in the parsed key within the result.
state
string
    Choices:
  • merged ←
  • replaced
  • overridden
  • deleted
  • gathered
  • rendered
  • parsed
The state of the configuration after module completion.

Notes

Note

  • Tested against NXOS 7.3.(0)D1(1) on VIRL

Examples

# Using merged

# Before state:
# -------------
#

- name: Merge provided configuration with device configuration.
  cisco.nxos.nxos_lacp_interfaces:
    config:
    - name: Ethernet1/3
      port_priority: 5
      rate: fast
    state: merged

# After state:
# ------------
#
# interface Ethernet1/3
# lacp port-priority 5
# lacp rate fast


# Using replaced

# Before state:
# -------------
#
# interface Ethernet1/3
#   lacp port-priority 5
# interface port-channel11
#   lacp mode delay

- name: Replace device lacp interfaces configuration with the given configuration.
  cisco.nxos.nxos_lacp_interfaces:
    config:
    - name: port-channel11
      links:
        min: 4
    state: replaced

# After state:
# ------------
#
# interface Ethernet1/3
#   lacp port-priority 5
# interface port-channel11
#   lacp min-links 4


# Using overridden

# Before state:
# -------------
#
# interface Ethernet1/3
#   lacp port-priority 5
# interface port-channel11
#   lacp mode delay

- name: Override device configuration of all LACP interfaces attributes of given interfaces
    on device with provided configuration.
  cisco.nxos.nxos_lacp_interfaces:
    config:
    - name: port-channel11
      links:
        min: 4
    state: overridden

# After state:
# ------------
#
# interface port-channel11
# lacp min-links 4


# Using deleted

# Before state:
# -------------
#
# interface Ethernet1/3
#   lacp port-priority 5
# interface port-channel11
#   lacp mode delay

- name: Delete LACP interfaces configurations.
  cisco.nxos.nxos_lacp_interfaces:
    state: deleted

# After state:
# ------------
#

# Using rendered

- name: Use rendered state to convert task input to device specific commands
  cisco.nxos.nxos_lacp_interfaces:
    config:
    - name: Ethernet1/800
      rate: fast
    - name: Ethernet1/801
      rate: fast
      port_priority: 32
    - name: port-channel10
      links:
        max: 15
        min: 2
      convergence:
        graceful: true
    state: rendered

# Task Output (redacted)
# -----------------------

# rendered:
#  - "interface Ethernet1/800"
#  - "lacp rate fast"
#  - "interface Ethernet1/801"
#  - "lacp port-priority 32"
#  - "lacp rate fast"
#  - "interface port-channel10"
#  - "lacp min-links 2"
#  - "lacp max-bundle 15"
#  - "lacp graceful-convergence"

# Using parsed

# parsed.cfg
# ------------

# interface port-channel10
#   lacp min-links 10
#   lacp max-bundle 15
# interface Ethernet1/800
#   lacp port-priority 100
#   lacp rate fast

- name: Use parsed state to convert externally supplied config to structured format
  cisco.nxos.nxos_lacp_interfaces:
    running_config: "{{ lookup('file', 'parsed.cfg') }}"
    state: parsed

# Task output (redacted)
# -----------------------

# parsed:
#   - name: port-channel10
#     links:
#       max: 15
#       min: 10
#   - name: Ethernet1/800
#     port_priority: 100
#     rate: fast

# Using gathered

# Existing device config state
# -------------------------------
# interface Ethernet1/1
#   lacp port-priority 5
#   lacp rate fast
# interface port-channel10
#   lacp mode delay
# interface port-channel11
#   lacp max-bundle 10
#   lacp min-links 5

- name: Gather lacp_interfaces facts from the device using nxos_lacp_interfaces
  cisco.nxos.nxos_lacp_interfaces:
    state: gathered

# Task output (redacted)
# -----------------------
# gathered:
#  - name: Ethernet1/1
#    port_priority: 5
#    rate: fast
#  - name: port-channel10
#    mode: delay
#  - name: port-channel11
#    links:
#      max: 10
#      min: 5

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
after
list / elements=string
when changed
The configuration as structured data after module completion.

Sample:
The configuration returned will always be in the same format of the parameters above.
before
list / elements=string
always
The configuration as structured data prior to module invocation.

Sample:
The configuration returned will always be in the same format of the parameters above.
commands
list / elements=string
always
The set of commands pushed to the remote device.

Sample:
['interface port-channel10', 'lacp min-links 5', 'lacp mode delay']


Authors

  • Trishna Guha (@trishnaguha)