community.general.ce_vxlan_gateway (0.1.1) — module

Manages gateway for the VXLAN network on HUAWEI CloudEngine devices.

Authors: QijunPan (@QijunPan)

preview | supported by community

Install collection

Install with ansible-galaxy collection install community.general:==0.1.1


Add to requirements.yml

  collections:
    - name: community.general
      version: 0.1.1

Description

Configuring Centralized All-Active Gateways or Distributed Gateway for the VXLAN Network on HUAWEI CloudEngine devices.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: vxlan gateway module test
  hosts: ce128
  connection: local
  gather_facts: no
  vars:
    cli:
      host: "{{ inventory_hostname }}"
      port: "{{ ansible_ssh_port }}"
      username: "{{ username }}"
      password: "{{ password }}"
      transport: cli

  tasks:

  - name: Configuring Centralized All-Active Gateways for the VXLAN Network
    ce_vxlan_gateway:
      dfs_id: 1
      dfs_source_ip: 6.6.6.6
      dfs_all_active: enable
      dfs_peer_ip: 7.7.7.7
      provider: "{{ cli }}"
  - name: Bind the VPN instance to a Layer 3 gateway, enable distributed gateway, and configure host route advertisement.
    ce_vxlan_gateway:
      vbdif_name: Vbdif100
      vbdif_bind_vpn: vpn1
      arp_distribute_gateway: enable
      arp_direct_route: enable
      provider: "{{ cli }}"
  - name: Assign a VNI to a VPN instance.
    ce_vxlan_gateway:
      vpn_instance: vpn1
      vpn_vni: 100
      provider: "{{ cli }}"

Inputs

    
state:
    choices:
    - present
    - absent
    default: present
    description:
    - Determines whether the config should be present or not on the device.

dfs_id:
    description:
    - Specifies the ID of a DFS group. The value must be 1.

vpn_vni:
    description:
    - Specifies a VNI ID. Binds a VXLAN network identifier (VNI) to a virtual private
      network (VPN) instance. The value is an integer ranging from 1 to 16000000.

vbdif_mac:
    description:
    - Specifies a MAC address for a VBDIF interface. The value is in the format of H-H-H.
      Each H is a 4-digit hexadecimal number, such as C(00e0) or C(fc01). If an H contains
      less than four digits, 0s are added ahead. For example,  C(e0) is equal to C(00e0).
      A MAC address cannot be all 0s or 1s or a multicast MAC address.

vbdif_name:
    description:
    - Full name of VBDIF interface, i.e. Vbdif100.

dfs_peer_ip:
    description:
    - Configure the IP address of an all-active gateway peer. The value is in dotted decimal
      notation.

dfs_peer_vpn:
    description:
    - Specifies the name of the VPN instance that is associated with all-active gateway
      peer. The value is a string of 1 to 31 case-sensitive characters, spaces not supported.
      When double quotation marks are used around the string, spaces are allowed in the
      string. The value C(_public_) is reserved and cannot be used as the VPN instance
      name.

dfs_udp_port:
    description:
    - Specifies the UDP port number of the DFS group. The value is an integer that ranges
      from 1025 to 65535.

vpn_instance:
    description:
    - Specifies the name of a VPN instance. The value is a string of 1 to 31 case-sensitive
      characters, spaces not supported. When double quotation marks are used around the
      string, spaces are allowed in the string. The value C(_public_) is reserved and
      cannot be used as the VPN instance name.

dfs_source_ip:
    description:
    - Specifies the IPv4 address bound to a DFS group. The value is in dotted decimal
      notation.

dfs_all_active:
    choices:
    - enable
    - disable
    description:
    - Creates all-active gateways.

dfs_source_vpn:
    description:
    - Specifies the name of a VPN instance bound to a DFS group. The value is a string
      of 1 to 31 case-sensitive characters without spaces. If the character string is
      quoted by double quotation marks, the character string can contain spaces. The value
      C(_public_) is reserved and cannot be used as the VPN instance name.

vbdif_bind_vpn:
    description:
    - Specifies the name of the VPN instance that is associated with the interface. The
      value is a string of 1 to 31 case-sensitive characters, spaces not supported. When
      double quotation marks are used around the string, spaces are allowed in the string.
      The value C(_public_) is reserved and cannot be used as the VPN instance name.

arp_direct_route:
    choices:
    - enable
    - disable
    description:
    - Enable VLINK direct route on VBDIF interface.

arp_distribute_gateway:
    choices:
    - enable
    - disable
    description:
    - Enable the distributed gateway function on VBDIF interface.

Outputs

changed:
  description: check to see if a change was made on the device
  returned: always
  sample: true
  type: bool
end_state:
  description: k/v pairs of configuration after module execution
  returned: verbose mode
  sample:
    dfs_all_active: enable
    dfs_id: '1'
    evn_peers:
    - ip: 7.7.7.7
      vpn: ''
    evn_source_ip: 6.6.6.6
    evn_source_vpn: null
  type: dict
existing:
  description: k/v pairs of existing configuration
  returned: verbose mode
  sample:
    dfs_all_active: disable
    dfs_id: '1'
    dfs_source_ip: null
    evn_peer_ip: []
  type: dict
proposed:
  description: k/v pairs of parameters passed into module
  returned: verbose mode
  sample:
    dfs_all_active: enable
    dfs_id: '1'
    dfs_peer_ip: 7.7.7.7
    dfs_source_ip: 6.6.6.6
  type: dict
updates:
  description: commands sent to the device
  returned: always
  sample:
  - dfs-group 1
  - source ip 6.6.6.6
  - active-active-gateway
  - peer 7.7.7.7
  type: list