community.vmware.vmware_dvswitch_lacp (0.4.0) — module

Manage LACP configuration on a Distributed Switch

Authors: Christian Kotte (@ckotte)

preview | supported by community

Install collection

Install with ansible-galaxy collection install community.vmware:==0.4.0


Add to requirements.yml

  collections:
    - name: community.vmware
      version: 0.4.0

Description

This module can be used to configure Link Aggregation Control Protocol (LACP) support mode and Link Aggregation Groups (LAGs).


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Enable enhanced mode on a Distributed Switch
  vmware_dvswitch_lacp:
    hostname: '{{ inventory_hostname }}'
    username: '{{ vcenter_username }}'
    password: '{{ vcenter_password }}'
    switch: dvSwitch
    support_mode: enhanced
    validate_certs: "{{ validate_vcenter_certs }}"
  delegate_to: localhost
  loop_control:
    label: "{{ item.name }}"
  with_items: "{{ vcenter_distributed_switches }}"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Enable enhanced mode and create two LAGs on a Distributed Switch
  vmware_dvswitch_lacp:
    hostname: '{{ inventory_hostname }}'
    username: '{{ vcenter_username }}'
    password: '{{ vcenter_password }}'
    switch: dvSwitch
    support_mode: enhanced
    link_aggregation_groups:
        - name: lag1
          uplink_number: 2
          mode: active
          load_balancing_mode: srcDestIpTcpUdpPortVlan
        - name: lag2
          uplink_number: 2
          mode: passive
          load_balancing_mode: srcDestIp
    validate_certs: "{{ validate_vcenter_certs }}"
  delegate_to: localhost
  loop_control:
    label: "{{ item.name }}"
  with_items: "{{ vcenter_distributed_switches }}"

Inputs

    
port:
    default: 443
    description:
    - The port number of the vSphere vCenter or ESXi server.
    - If the value is not specified in the task, the value of environment variable C(VMWARE_PORT)
      will be used instead.
    - Environment variable support added in Ansible 2.6.
    type: int

switch:
    aliases:
    - dvswitch
    description:
    - The name of the Distributed Switch to manage.
    required: true
    type: str

hostname:
    description:
    - The hostname or IP address of the vSphere vCenter or ESXi server.
    - If the value is not specified in the task, the value of environment variable C(VMWARE_HOST)
      will be used instead.
    - Environment variable support added in Ansible 2.6.
    type: str

password:
    aliases:
    - pass
    - pwd
    description:
    - The password of the vSphere vCenter or ESXi server.
    - If the value is not specified in the task, the value of environment variable C(VMWARE_PASSWORD)
      will be used instead.
    - Environment variable support added in Ansible 2.6.
    type: str

username:
    aliases:
    - admin
    - user
    description:
    - The username of the vSphere vCenter or ESXi server.
    - If the value is not specified in the task, the value of environment variable C(VMWARE_USER)
      will be used instead.
    - Environment variable support added in Ansible 2.6.
    type: str

proxy_host:
    description:
    - Address of a proxy that will receive all HTTPS requests and relay them.
    - The format is a hostname or a IP.
    - If the value is not specified in the task, the value of environment variable C(VMWARE_PROXY_HOST)
      will be used instead.
    - This feature depends on a version of pyvmomi greater than v6.7.1.2018.12
    required: false
    type: str

proxy_port:
    description:
    - Port of the HTTP proxy that will receive all HTTPS requests and relay them.
    - If the value is not specified in the task, the value of environment variable C(VMWARE_PROXY_PORT)
      will be used instead.
    required: false
    type: int

support_mode:
    choices:
    - basic
    - enhanced
    default: basic
    description:
    - The LACP support mode.
    - 'C(basic): One Link Aggregation Control Protocol group in the switch (singleLag).'
    - 'C(enhanced): Multiple Link Aggregation Control Protocol groups in the switch (multipleLag).'
    type: str

validate_certs:
    default: true
    description:
    - Allows connection when SSL certificates are not valid. Set to C(false) when certificates
      are not trusted.
    - If the value is not specified in the task, the value of environment variable C(VMWARE_VALIDATE_CERTS)
      will be used instead.
    - Environment variable support added in Ansible 2.6.
    - If set to C(yes), please make sure Python >= 2.7.9 is installed on the given machine.
    type: bool

link_aggregation_groups:
    description:
    - Can only be used if C(lacp_support) is set to C(enhanced).
    - 'The following parameters are required:'
    - '- C(name) (string): Name of the LAG.'
    - '- C(uplink_number) (int): Number of uplinks. Can 1 to 30.'
    - '- C(mode) (string): The negotiating state of the uplinks/ports.'
    - '   - choices: [ active, passive ]'
    - '- C(load_balancing_mode) (string): Load balancing algorithm.'
    - '   - Valid attributes are:'
    - '   - srcTcpUdpPort: Source TCP/UDP port number.'
    - '   - srcDestIpTcpUdpPortVlan: Source and destination IP, source and destination
      TCP/UDP port number and VLAN.'
    - '   - srcIpVlan: Source IP and VLAN.'
    - '   - srcDestTcpUdpPort: Source and destination TCP/UDP port number.'
    - '   - srcMac: Source MAC address.'
    - '   - destIp: Destination IP.'
    - '   - destMac: Destination MAC address.'
    - '   - vlan: VLAN only.'
    - '   - srcDestIp: Source and Destination IP.'
    - '   - srcIpTcpUdpPortVlan: Source IP, TCP/UDP port number and VLAN.'
    - '   - srcDestIpTcpUdpPort: Source and destination IP and TCP/UDP port number.'
    - '   - srcDestMac: Source and destination MAC address.'
    - '   - destIpTcpUdpPort: Destination IP and TCP/UDP port number.'
    - '   - srcPortId: Source Virtual Port Id.'
    - '   - srcIp: Source IP.'
    - '   - srcIpTcpUdpPort: Source IP and TCP/UDP port number.'
    - '   - destIpTcpUdpPortVlan: Destination IP, TCP/UDP port number and VLAN.'
    - '   - destTcpUdpPort: Destination TCP/UDP port number.'
    - '   - destIpVlan: Destination IP and VLAN.'
    - '   - srcDestIpVlan: Source and destination IP and VLAN.'
    - '   - The default load balancing mode in the vSphere Client is srcDestIpTcpUdpPortVlan.'
    - Please see examples for more information.
    type: list

Outputs

result:
  description: information about performed operation
  returned: always
  sample:
    changed: true
    dvswitch: dvSwitch
    link_aggregation_groups:
    - load_balancing_mode: srcDestIpTcpUdpPortVlan
      mode: active
      name: lag1
      uplink_number: 2
    - load_balancing_mode: srcDestIp
      mode: active
      name: lag2
      uplink_number: 2
    link_aggregation_groups_previous: []
    result: lacp lags changed
    support_mode: enhanced
  type: str