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

Note

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

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

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)