cl_bond - Configures a bond port on Cumulus Linux
New in version 2.1.
DEPRECATED
Removed in Ansible: | |
---|---|
version: 2.5 | |
Why: | The nclu module is designed to be easier to use for individuals who are new to Cumulus Linux by exposing the NCLU interface in an automatable way. |
Alternative: | Use nclu instead. |
Synopsis
- Configures a bond interface on Cumulus Linux To configure a bridge port use the cl_bridge module. To configure any other type of interface use the cl_interface module. Follow the guidelines for bonding found in the Cumulus User Guide at http://docs.cumulusnetworks.com.
Requirements
The below requirements are needed on the host that executes this module.
- Alternate Debian network interface manager - ifupdown2 @ github.com/CumulusNetworks/ifupdown2
Parameters
Parameter | Choices/Defaults | Comments |
---|---|---|
addr_method |
| Configures the port to use DHCP. To enable this feature use the option dhcp. |
alias_name | Description of the port. | |
clag_id | Specify a unique clag_id for every dual connected bond on each peer switch. The value must be between 1 and 65535 and must be the same on both peer switches in order for the bond to be considered dual-connected. | |
ipv4 | List of IPv4 addresses to configure on the interface. In the form X.X.X.X/YY. | |
ipv6 | List of IPv6 addresses to configure on the interface. In the form X:X:X::X/YYY. | |
lacp_bypass_all_active | Activate all interfaces for bypass. It is recommended to configure all_active instead of using bypass_priority. | |
lacp_bypass_allow | Enable LACP bypass. | |
lacp_bypass_period | Period for enabling LACP bypass. Max value is 900. | |
lacp_bypass_priority | List of ports and priorities. Example "swp1=10, swp2=20". | |
lacp_rate | Default: 1 | The lacp rate. |
location | Default: [u'/etc/network/interfaces.d'] | Interface directory location. |
miimon | Default: 100 | The mii link monitoring interval. |
min_links | Default: 1 | Minimum number of links. |
mode | Default: 802.3ad | The bond mode, as of Cumulus Linux 2.5 only LACP bond mode is supported. |
mstpctl_bpduguard |
| Enables BPDU Guard on a port in vlan-aware mode. |
mstpctl_portadminedge |
| Enables admin edge port. |
mstpctl_portnetwork |
| Enables bridge assurance in vlan-aware mode. |
mtu | Set MTU. Configure Jumbo Frame by setting MTU to 9000. | |
name required | Name of the interface. | |
pvid | In vlan-aware mode, defines vlan that is the untagged vlan. | |
slaves required | Bond members. | |
vids | In vlan-aware mode, lists VLANs defined under the interface. | |
virtual_ip | Define IPv4 virtual IP used by the Cumulus Linux VRR feature. | |
virtual_mac | Define Ethernet mac associated with Cumulus Linux VRR feature. | |
xmit_hash_policy | Default: layer3+4 | Transmit load balancing algorithm. As of Cumulus Linux 2.5 only layer3+4 policy is supported. |
Notes
Note
- As this module writes the interface directory location, ensure that
/etc/network/interfaces
has a ‘source /etc/network/interfaces.d/*’ or whatever path is mentioned in thelocation
attribute. - For the config to be activated, i.e installed in the kernel, “service networking reload” needs be be executed. See EXAMPLES section.
Examples
# Options ['virtual_mac', 'virtual_ip'] are required together # configure a bond interface with IP address - cl_bond: name: bond0 slaves: - swp4-5 ipv4: 10.1.1.1/24 # configure bond as a dual-connected clag bond - cl_bond: name: bond1 slaves: - swp1s0 - swp2s0 clag_id: 1 # define cl_bond once in tasks file # then write interface config in variables file # with just the options you want. - cl_bond: name: "{{ item.key }}" slaves: "{{ item.value.slaves }}" clag_id: "{{ item.value.clag_id|default(omit) }}" ipv4: "{{ item.value.ipv4|default(omit) }}" ipv6: "{{ item.value.ipv6|default(omit) }}" alias_name: "{{ item.value.alias_name|default(omit) }}" addr_method: "{{ item.value.addr_method|default(omit) }}" mtu: "{{ item.value.mtu|default(omit) }}" vids: "{{ item.value.vids|default(omit) }}" virtual_ip: "{{ item.value.virtual_ip|default(omit) }}" virtual_mac: "{{ item.value.virtual_mac|default(omit) }}" mstpctl_portnetwork: "{{ item.value.mstpctl_portnetwork|default('no') }}" mstpctl_portadminedge: "{{ item.value.mstpctl_portadminedge|default('no') }}" mstpctl_bpduguard: "{{ item.value.mstpctl_bpduguard|default('no') }}" with_dict: "{{ cl_bonds }}" # In vars file # ============ --- cl_bonds: bond0: alias_name: uplink to isp slaves: - swp1 - swp3 ipv4: 10.1.1.1/24' bond2: vids: - 1 - 50 clag_id: 1
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
changed bool | changed | whether the interface was changed Sample: True |
msg string | always | human-readable report of success or failure Sample: interface bond0 config updated |
Status
This module is flagged as deprecated and will be removed in version 2.5. For more information see DEPRECATED.
Author
- Cumulus Networks (@CumulusNetworks)
Hint
If you notice any issues in this documentation you can edit this document to improve it.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/modules/cl_bond_module.html