community.network.ce_eth_trunk – Manages Eth-Trunk interfaces on HUAWEI CloudEngine switches.

Note

This plugin is part of the community.network collection (version 2.1.1).

To install it use: ansible-galaxy collection install community.network.

To use it in a playbook, specify: community.network.ce_eth_trunk.

Synopsis

  • Manages Eth-Trunk specific configuration parameters on HUAWEI CloudEngine switches.

Parameters

Parameter Choices/Defaults Comments
force
boolean
    Choices:
  • no ←
  • yes
When true it forces Eth-Trunk members to match what is declared in the members param. This can be used to remove members.
hash_type
string
    Choices:
  • src-dst-ip
  • src-dst-mac
  • enhanced
  • dst-ip
  • dst-mac
  • src-ip
  • src-mac
Hash algorithm used for load balancing among Eth-Trunk member interfaces.
members
string
List of interfaces that will be managed in a given Eth-Trunk. The interface name must be full name.
min_links
string
Specifies the minimum number of Eth-Trunk member links in the Up state. The value is an integer ranging from 1 to the maximum number of interfaces that can be added to a Eth-Trunk interface.
mode
string
    Choices:
  • manual
  • lacp-dynamic
  • lacp-static
Specifies the working mode of an Eth-Trunk interface.
state
string
    Choices:
  • present ←
  • absent
Manage the state of the resource.
trunk_id
string / required
Eth-Trunk interface number. The value is an integer. The value range depends on the assign forward eth-trunk mode command. When 256 is specified, the value ranges from 0 to 255. When 512 is specified, the value ranges from 0 to 511. When 1024 is specified, the value ranges from 0 to 1023.

Notes

Note

  • state=absent removes the Eth-Trunk config and interface if it already exists. If members to be removed are not explicitly passed, all existing members (if any), are removed, and Eth-Trunk removed.

  • Members must be a list.

  • This module requires the netconf system service be enabled on the remote device being managed.

  • Recommended connection is netconf.

  • This module also works with local connections for legacy playbooks.

Examples

- name: Eth_trunk module test
  hosts: cloudengine
  connection: local
  gather_facts: no
  vars:
    cli:
      host: "{{ inventory_hostname }}"
      port: "{{ ansible_ssh_port }}"
      username: "{{ username }}"
      password: "{{ password }}"
      transport: cli

  tasks:
  - name: Ensure Eth-Trunk100 is created, add two members, and set to mode lacp-static
    community.network.ce_eth_trunk:
      trunk_id: 100
      members: ['10GE1/0/24','10GE1/0/25']
      mode: 'lacp-static'
      state: present
      provider: '{{ cli }}'

Return Values

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

Key Returned Description
changed
boolean
always
check to see if a change was made on the device

Sample:
True
end_state
dictionary
always
k/v pairs of Eth-Trunk info after module execution

Sample:
{'hash_type': 'mac', 'members_detail': [{'memberIfName': '10GE1/0/24', 'memberIfState': 'Down'}, {'memberIfName': '10GE1/0/25', 'memberIfState': 'Down'}], 'min_links': '1', 'mode': 'lacp-static', 'trunk_id': '100'}
existing
dictionary
always
k/v pairs of existing Eth-Trunk

Sample:
{'hash_type': 'mac', 'members_detail': [{'memberIfName': '10GE1/0/25', 'memberIfState': 'Down'}], 'min_links': '1', 'mode': 'manual', 'trunk_id': '100'}
proposed
dictionary
always
k/v pairs of parameters passed into module

Sample:
{'members': ['10GE1/0/24', '10GE1/0/25'], 'mode': 'lacp-static', 'trunk_id': '100'}
updates
list / elements=string
always
command sent to the device

Sample:
['interface Eth-Trunk 100', 'mode lacp-static', 'interface 10GE1/0/25', 'eth-trunk 100']


Authors

  • QijunPan (@QijunPan)