ansible-collections / cisco.ios

Ansible Network Collection for Cisco IOS
GNU General Public License v3.0
292 stars 171 forks source link

bgp_address_family not collecting all information from bgp fopr IOS-XE #422

Closed IPvSean closed 3 years ago

IPvSean commented 3 years ago
SUMMARY

for some reason i am not collecting all information that is configured on my IOS-XE router......

this is how i collect->

---
- name: gather cisco ios facts
  cisco.ios.facts:
    gather_subset: config
    gather_network_resources: "{{ network_resource | default('!vlans') }}"
ISSUE TYPE
COMPONENT NAME

ios_bgp_address_family

https://docs.ansible.com/ansible/latest/collections/cisco/ios/ios_bgp_address_family_module.html

ANSIBLE VERSION
    details: core 2.11.2
COLLECTION VERSION
ee-supported-rhel8

which contains

---
ansible:
  collections:
    details:
      amazon.aws: 1.5.0
      ansible.controller: 4.0.0
      ansible.netcommon: 2.2.0
      ansible.network: 1.0.1
      ansible.posix: 1.2.0
      ansible.security: 1.0.0
      ansible.utils: 2.3.0
      ansible.windows: 1.5.0
      arista.eos: 2.2.0
      cisco.asa: 2.0.2
      cisco.ios: 2.3.0
      cisco.iosxr: 2.3.0
      cisco.nxos: 2.4.0
      cloud.common: 2.0.3
      frr.frr: 1.0.3
      ibm.qradar: 1.0.3
      junipernetworks.junos: 2.2.0
      kubernetes.core: 2.1.1
      openvswitch.openvswitch: 2.0.0
      redhat.insights: 1.0.5
      redhat.openshift: 2.0.1
      redhat.rhel_system_roles: 1.0.1
      redhat.rhv: 1.4.4
      redhat.satellite: 2.0.1
      servicenow.itsm: 1.1.0
      splunk.es: 1.0.2
      trendmicro.deepsec: 1.1.0
      vmware.vmware_rest: 2.0.0
      vyos.vyos: 2.3.1
  version:
    details: core 2.11.2
CONFIGURATION
N/A, using EE
OS / ENVIRONMENT

Red Hat Enterprise Linux release 8.4 (Ootpa)

STEPS TO REPRODUCE

BGP config on IOS-XE

rtr1#sh run | s router bgp
router bgp 65000
 bgp router-id 192.168.1.1
 bgp log-neighbor-changes
 neighbor 10.200.200.2 remote-as 65001
 neighbor 10.200.200.2 ebgp-multihop 255
 !
 address-family ipv4
  network 10.10.0.0 mask 255.255.0.0
  network 10.100.100.0 mask 255.255.255.0
  network 10.200.200.0 mask 255.255.255.0
  network 172.16.0.0
  network 192.168.1.1 mask 255.255.255.255
  redistribute ospf 1
  neighbor 10.200.200.2 activate
 exit-address-family
EXPECTED RESULTS

would also have->

and have those as key,value paris in structured data... see below they are missing from the output.... it is very strange

ACTUAL RESULTS
    "ansible_facts.ansible_network_resources.bgp_address_family.as_number": "65000",
    "ansible_facts.ansible_network_resources.bgp_address_family.address_family[0].afi": "ipv4",
    "ansible_facts.ansible_network_resources.bgp_address_family.address_family[0].network[0].address": "10.100.100.0",
    "ansible_facts.ansible_network_resources.bgp_address_family.address_family[0].network[0].mask": "255.255.255.0",
    "ansible_facts.ansible_network_resources.bgp_address_family.address_family[0].network[1].address": "10.200.200.0",
    "ansible_facts.ansible_network_resources.bgp_address_family.address_family[0].network[1].mask": "255.255.255.0",
    "ansible_facts.ansible_network_resources.bgp_address_family.address_family[0].network[2].address": "172.16.0.0",
    "ansible_facts.ansible_network_resources.bgp_address_family.address_family[0].network[3].address": "192.168.1.1",
    "ansible_facts.ansible_network_resources.bgp_address_family.address_family[0].network[3].mask": "255.255.255.255",
    "ansible_facts.ansible_network_resources.bgp_address_family.address_family[0].neighbor[0].address": "10.200.200.2",
    "ansible_facts.ansible_network_resources.bgp_address_family.address_family[0].neighbor[0].activate": true,

here is the structured data not flattened->

        "bgp_address_family": {
          "as_number": "65000",
          "address_family": [
            {
              "afi": "ipv4",
              "network": [
                {
                  "address": "10.100.100.0",
                  "mask": "255.255.255.0"
                },
                {
                  "address": "10.200.200.0",
                  "mask": "255.255.255.0"
                },
                {
                  "address": "172.16.0.0"
                },
                {
                  "address": "192.168.1.1",
                  "mask": "255.255.255.255"
                }
              ],
              "neighbor": [
                {
                  "address": "10.200.200.2",
                  "activate": true
                }
              ]
            }
          ]
        },
NilashishC commented 3 years ago

@IPvSean @KB-perByte This might be related to: https://github.com/ansible-collections/cisco.ios/issues/392