-
Notifications
You must be signed in to change notification settings - Fork 48
Open
Description
Community Note
- Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
- Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request
- If you are interested in working on this issue or have submitted a pull request, please leave a comment
Ansible Version and collection version
DCNM version
- V 3.8.1
- V 3.9.0
Affected module(s)
- dcnm_links
Ansible Playbook
---
- name: Deploy in-band BGP sessions for telemetry
hosts: tme-cls1
gather_facts: false
tasks:
# INTER-FABRIC
- name: Create Links including optional parameters
cisco.dcnm.dcnm_links:
state: merged # choose from [merged, replaced, deleted, query]
src_fabric: tme-dc4
config:
- dst_fabric: tme-external # Destination fabric
src_interface: Ethernet1/3 # Interface on the Source fabric
dst_interface: Ethernet1/49 # Interface on the Destination fabric
src_device: tme-dc4-spine1 # Device on the Source fabric
dst_device: tme-nxos-1 # Device on the Destination fabric
template: ext_fabric_setup # template to be applied, choose from
# [ ext_fabric_setup, ext_multisite_underlay_setup,
# ext_evpn_multisite_overlay_setup ]
profile:
ipv4_subnet: 10.33.0.1/30 # IP address of interface in src fabric with mask
neighbor_ip: 10.33.0.2 # IP address of the interface in dst fabric
src_asn: 65006 # BGP ASN in source fabric
dst_asn: 65004 # BGP ASN in destination fabric
mtu: 9216 #
max_paths: 2 # optional, default is 8
auto_deploy: false
peer1_description: "Description of source" # optional, default is ""
peer2_description: "Description of dest" # optional, default is ""
peer1_cmds: # Freeform config for source interface
- no shutdown # optional, default is ""
peer2_cmds: # Freeform config for destination interface
- no shutdown # optional, default is "" # optional, default is false
- dst_fabric: tme-external # Destination fabric
src_interface: Ethernet1/4 # Interface on the Source fabric
dst_interface: Ethernet1/49 # Interface on the Destination fabric
src_device: tme-dc4-spine1 # Device on the Source fabric
dst_device: tme-nxos-2 # Device on the Destination fabric
template: ext_fabric_setup # template to be applied, choose from
# [ ext_fabric_setup, ext_multisite_underlay_setup,
# ext_evpn_multisite_overlay_setup ]
profile:
ipv4_subnet: 10.33.0.5/30 # IP address of interface in src fabric with mask
neighbor_ip: 10.33.0.6 # IP address of the interface in dst fabric
src_asn: 65006 # BGP ASN in source fabric
dst_asn: 65004 # BGP ASN in destination fabric
mtu: 9216 #
max_paths: 2 # optional, default is 8
auto_deploy: false # optional, default is false
peer1_description: "Description of source" # optional, default is ""
peer2_description: "Description of dest" # optional, default is ""
peer1_cmds: # Freeform config for source interface
- no shutdown # optional, default is ""
peer2_cmds: # Freeform config for destination interface
- no shutdown # optional, default is ""
- dst_fabric: "tme-external" # Destination fabric
src_interface: "Ethernet1/3" # Interface on the Source fabric
dst_interface: "Ethernet1/50" # Interface on the Destination fabric
src_device: "tme-dc4-spine2" # Device on the Source fabric
dst_device: "tme-nxos-1" # Device on the Destination fabric
template: ext_fabric_setup # template to be applied, choose from
# [ ext_fabric_setup, ext_multisite_underlay_setup,
# ext_evpn_multisite_overlay_setup ]
profile:
ipv4_subnet: 10.33.0.9/30 # IP address of interface in src fabric with mask
neighbor_ip: 10.33.0.10 # IP address of the interface in dst fabric
src_asn: 65006 # BGP ASN in source fabric
dst_asn: 65004 # BGP ASN in destination fabric
mtu: 9216 #
max_paths: 2 # optional, default is 8
auto_deploy: false # optional, default is false
peer1_description: "Description of source" # optional, default is ""
peer2_description: "Description of dest" # optional, default is ""
peer1_cmds: # Freeform config for source interface
- no shutdown # optional, default is ""
peer2_cmds: # Freeform config for destination interface
- no shutdown # optional, default is ""
- dst_fabric: "tme-external" # Destination fabric
src_interface: "Ethernet1/4" # Interface on the Source fabric
dst_interface: "Ethernet1/50" # Interface on the Destination fabric
src_device: "tme-dc4-spine2" # Device on the Source fabric
dst_device: "tme-nxos-2" # Device on the Destination fabric
template: ext_fabric_setup # template to be applied, choose from
# [ ext_fabric_setup, ext_multisite_underlay_setup,
# ext_evpn_multisite_overlay_setup ]
profile:
ipv4_subnet: 10.33.0.13/30 # IP address of interface in src fabric with mask
neighbor_ip: 10.33.0.14 # IP address of the interface in dst fabric
src_asn: 65006 # BGP ASN in source fabric
dst_asn: 65004 # BGP ASN in destination fabric
mtu: 9216 #
max_paths: 2 # optional, default is 8
auto_deploy: false # optional, default is false
peer1_description: "Description of source" # optional, default is ""
peer2_description: "Description of dest" # optional, default is ""
peer1_cmds: # Freeform config for source interface
- no shutdown # optional, default is ""
peer2_cmds: # Freeform config for destination interface
- no shutdown # optional, default is ""
deploy: true
Debug Output
https://gist.github.com/allenrobel/eb29e0239dfc35f88cdf334448848073
Expected Behavior
Playbook should run successfully.
Actual Behavior
KeyError on line 2483 (version 3.8.1), or line 2507 (version 3.9.0)
The code hasn't changed in 3.9.0. Below is the unprotected access.
if (
wlink["nvPairs"]["PEER1_CONF"]
!= hlink["nvPairs"]["PEER1_CONF"]
):
Steps to Reproduce
Run the attached playbook.
References
Metadata
Metadata
Assignees
Labels
No labels