W3cubDocs

/Ansible

community.network.exos_lldp_global – Configure and manage Link Layer Discovery Protocol(LLDP) attributes on EXOS platforms.

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.exos_lldp_global.

Synopsis

  • This module configures and manages the Link Layer Discovery Protocol(LLDP) attributes on Extreme Networks EXOS platforms.

Parameters

Parameter Choices/Defaults Comments
config
dictionary
A dictionary of LLDP options
interval
integer
Default:
30
Frequency at which LLDP advertisements are sent (in seconds). By default - 30 seconds.
tlv_select
dictionary
This attribute can be used to specify the TLVs that need to be sent in the LLDP packets. By default, only system name and system description is sent
management_address
boolean
    Choices:
  • no
  • yes
Used to specify the management address in TLV messages
port_description
boolean
    Choices:
  • no
  • yes
Used to specify the port description TLV
system_capabilities
boolean
    Choices:
  • no
  • yes
Used to specify the system capabilities TLV
system_description
boolean
    Choices:
  • no
  • yes
Used to specify the system description TLV
system_name
boolean
    Choices:
  • no
  • yes
Used to specify the system name TLV
state
string
    Choices:
  • merged
  • replaced
  • deleted
The state of the configuration after module completion.

Notes

Note

  • Tested against Extreme Networks EXOS version 30.2.1.8 on x460g2.
  • This module works with connection httpapi. See EXOS Platform Options

Examples

# Using merged


# Before state:
# -------------
# path: /rest/restconf/data/openconfig_lldp:lldp/config
# method: GET
# data:
# {
#   "openconfig_lldp:config": {
#     "enabled": true,
#     "hello-timer": 30,
#     "suppress-tlv-advertisement": [
#       "PORT_DESCRIPTION",
#       "SYSTEM_CAPABILITIES",
#       "MANAGEMENT_ADDRESS"
#     ],
#     "system-description": "ExtremeXOS (X460G2-24t-10G4) version 30.2.1.8"
#     "system-name": "X460G2-24t-10G4"
#   }
# }

- name: Merge provided LLDP configuration with device configuration
  community.network.exos_lldp_global:
    config:
      interval: 10000
      tlv_select:
        system_capabilities: true
    state: merged

# Module Execution Results:
# -------------------------
#
# "before": [
#   {
#     "interval": 30,
#     "tlv_select": {
#       "system_name": true,
#       "system_description": true
#       "port_description": false,
#       "management_address": false,
#       "system_capabilities": false
#     }
#   }
# ]
#
# "requests": [
#     {
#        "data": {
#           "openconfig_lldp:config": {
#             "hello-timer": 10000,
#             "suppress-tlv-advertisement": [
#               "PORT_DESCRIPTION",
#               "MANAGEMENT_ADDRESS"
#             ]
#           }
#         },
#        "method": "PATCH",
#        "path": "/rest/restconf/data/openconfig_lldp:lldp/config"
#     }
# ]
#
# "after": [
#   {
#     "interval": 10000,
#     "tlv_select": {
#       "system_name": true,
#       "system_description": true,
#       "port_description": false,
#       "management_address": false,
#       "system_capabilities": true
#     }
#   }
# ]


# After state:
# -------------
# path: /rest/restconf/data/openconfig_lldp:lldp/config
# method: GET
# data:
# {
#   "openconfig_lldp:config": {
#     "enabled": true,
#     "hello-timer": 10000,
#     "suppress-tlv-advertisement": [
#       "PORT_DESCRIPTION",
#       "MANAGEMENT_ADDRESS"
#     ],
#     "system-description": "ExtremeXOS (X460G2-24t-10G4) version 30.2.1.8"
#     "system-name": "X460G2-24t-10G4"
#   }
# }


# Using replaced


# Before state:
# -------------
# path: /rest/restconf/data/openconfig_lldp:lldp/config
# method: GET
# data:
# {
#   "openconfig_lldp:config": {
#     "enabled": true,
#     "hello-timer": 30,
#     "suppress-tlv-advertisement": [
#       "PORT_DESCRIPTION",
#       "SYSTEM_CAPABILITIES",
#       "MANAGEMENT_ADDRESS"
#     ],
#     "system-description": "ExtremeXOS (X460G2-24t-10G4) version 30.2.1.8"
#     "system-name": "X460G2-24t-10G4"
#   }
# }

- name: Replace device configuration with provided LLDP configuration
  community.network.exos_lldp_global:
    config:
      interval: 10000
      tlv_select:
        system_capabilities: true
    state: replaced

# Module Execution Results:
# -------------------------
#
# "before": [
#   {
#     "interval": 30,
#     "tlv_select": {
#       "system_name": true,
#       "system_description": true
#       "port_description": false,
#       "management_address": false,
#       "system_capabilities": false
#     }
#   }
# ]
#
# "requests": [
#     {
#        "data": {
#           "openconfig_lldp:config": {
#             "hello-timer": 10000,
#             "suppress-tlv-advertisement": [
#               "SYSTEM_NAME",
#               "SYSTEM_DESCRIPTION",
#               "PORT_DESCRIPTION",
#               "MANAGEMENT_ADDRESS"
#             ]
#           }
#         },
#        "method": "PATCH",
#        "path": "/rest/restconf/data/openconfig_lldp:lldp/config"
#     }
# ]
#
# "after": [
#   {
#     "interval": 10000,
#     "tlv_select": {
#       "system_name": false,
#       "system_description": false,
#       "port_description": false,
#       "management_address": false,
#       "system_capabilities": true
#     }
#   }
# ]


# After state:
# -------------
# path: /rest/restconf/data/openconfig_lldp:lldp/config
# method: GET
# data:
# {
#   "openconfig_lldp:config": {
#     "enabled": true,
#     "hello-timer": 10000,
#     "suppress-tlv-advertisement": [
#       "SYSTEM_NAME",
#       "SYSTEM_DESCRIPTION",
#       "PORT_DESCRIPTION",
#       "MANAGEMENT_ADDRESS"
#     ],
#     "system-description": "ExtremeXOS (X460G2-24t-10G4) version 30.2.1.8"
#     "system-name": "X460G2-24t-10G4"
#   }
# }


# Using deleted


# Before state:
# -------------
# path: /rest/restconf/data/openconfig_lldp:lldp/config
# method: GET
# data:
# {
#   "openconfig_lldp:config": {
#     "enabled": true,
#     "hello-timer": 10000,
#     "suppress-tlv-advertisement": [
#       "SYSTEM_CAPABILITIES",
#       "MANAGEMENT_ADDRESS"
#     ],
#     "system-description": "ExtremeXOS (X460G2-24t-10G4) version 30.2.1.8"
#     "system-name": "X460G2-24t-10G4"
#   }
# }

- name: Delete attributes of given LLDP service (This won't delete the LLDP service itself)
  community.network.exos_lldp_global:
    config:
    state: deleted

# Module Execution Results:
# -------------------------
#
# "before": [
#   {
#     "interval": 10000,
#     "tlv_select": {
#       "system_name": true,
#       "system_description": true,
#       "port_description": true,
#       "management_address": false,
#       "system_capabilities": false
#     }
#   }
# ]
#
# "requests": [
#     {
#        "data": {
#           "openconfig_lldp:config": {
#             "hello-timer": 30,
#             "suppress-tlv-advertisement": [
#               "SYSTEM_CAPABILITIES",
#               "PORT_DESCRIPTION",
#               "MANAGEMENT_ADDRESS"
#             ]
#           }
#         },
#        "method": "PATCH",
#        "path": "/rest/restconf/data/openconfig_lldp:lldp/config"
#     }
# ]
#
# "after": [
#   {
#     "interval": 30,
#     "tlv_select": {
#       "system_name": true,
#       "system_description": true,
#       "port_description": false,
#       "management_address": false,
#       "system_capabilities": false
#     }
#   }
# ]


# After state:
# -------------
# path: /rest/restconf/data/openconfig_lldp:lldp/config
# method: GET
# data:
# {
#   "openconfig_lldp:config": {
#     "enabled": true,
#     "hello-timer": 30,
#     "suppress-tlv-advertisement": [
#       "SYSTEM_CAPABILITIES",
#       "PORT_DESCRIPTION",
#       "MANAGEMENT_ADDRESS"
#     ],
#     "system-description": "ExtremeXOS (X460G2-24t-10G4) version 30.2.1.8"
#     "system-name": "X460G2-24t-10G4"
#   }
# }

Return Values

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

Key Returned Description
after
list / elements=string
when changed
The configuration as structured data after module completion.

Sample:
The configuration returned will always be in the same format of the parameters above.
before
list / elements=string
always
The configuration as structured data prior to module invocation.

Sample:
The configuration returned will always be in the same format of the parameters above.
requests
list / elements=string
always
The set of requests pushed to the remote device.

Sample:
[{'data': '...', 'method': '...', 'path': '...'}, {'data': '...', 'method': '...', 'path': '...'}, {'data': '...', 'method': '...', 'path': '...'}]


Authors

  • Ujwal Komarla (@ujwalkomarla)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/network/exos_lldp_global_module.html