-
Notifications
You must be signed in to change notification settings - Fork 59
Open
Description
I am trying to use VRF model in my testcases, but I cannot learn data properly on some devices.
Tested on
- Fab1-BC | Border device, Cat 9300, IOS-XE 17.5.1
- Fab1-E | Edge device, Cat 9300, IOS-XE 17.5.1
- Fab1-WLC | WLC controller device, Cat 9800, IOS-XE 17.3.3
No exceptions during genie learn process
(venv) [root@dpecak-centos-docker pyATS]# genie learn vrf --testbed-file sda.yaml
Learning '['vrf']' on devices '['Fab1-BC', 'Fab1-E', 'Fab1-WLC']'
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:01<00:00, 1.27s/it]
+==============================================================================+
| Genie Learn Summary for device Fab1-BC |
+==============================================================================+
| Connected to Fab1-BC |
| - Log: ./connection_Fab1-BC.txt |
|------------------------------------------------------------------------------|
| Learnt feature 'vrf' |
| - Ops structure: ./vrf_iosxe_Fab1-BC_ops.txt |
| - Device Console: ./vrf_iosxe_Fab1-BC_console.txt |
|==============================================================================|
+==============================================================================+
| Genie Learn Summary for device Fab1-E |
+==============================================================================+
| Connected to Fab1-E |
| - Log: ./connection_Fab1-E.txt |
|------------------------------------------------------------------------------|
| Learnt feature 'vrf' |
| - Ops structure: ./vrf_iosxe_Fab1-E_ops.txt |
| - Device Console: ./vrf_iosxe_Fab1-E_console.txt |
|==============================================================================|
+==============================================================================+
| Genie Learn Summary for device Fab1-WLC |
+==============================================================================+
| Connected to Fab1-WLC |
| - Log: ./connection_Fab1-WLC.txt |
|------------------------------------------------------------------------------|
| Learnt feature 'vrf' |
| - Ops structure: ./vrf_iosxe_Fab1-WLC_ops.txt |
| - Device Console: ./vrf_iosxe_Fab1-WLC_console.txt |
|==============================================================================|
Cannot get output for Fab1-E and Fab1-WLC. Console and ops outputs are attached:
vrf_iosxe_Fab1-BC_console.txt
vrf_iosxe_Fab1-BC_ops.txt
vrf_iosxe_Fab1-E_console.txt
vrf_iosxe_Fab1-E_ops.txt
vrf_iosxe_Fab1-WLC_console.txt
vrf_iosxe_Fab1-WLC_ops.txt
Running pyats parse of show vrf detail returns correct output
Fab1-WLC
(venv) [root@dpecak-centos-docker pyATS]# pyats parse "show vrf detail" --testbed-file sda.yaml --devices Fab1-WLC
{
"Mgmt-vrf": {
"address_family": {
"ipv4 unicast": {
"flags": "0x0",
"table_id": "0x1",
"vrf_label": {
"allocation_mode": "per-prefix"
}
}
},
"cli_format": "Old",
"description": "OOB Mgmt",
"flags": "0x8",
"interface": {
"GigabitEthernet1": {
"vrf": "Mgmt-vrf"
}
},
"interfaces": [
"GigabitEthernet1"
],
"support_af": "IPv4 only",
"vrf_id": 1
}
}
Fab1-BC
(venv) [root@dpecak-centos-docker pyATS]# pyats parse "show vrf detail" --testbed-file sda.yaml --devices Fab1-BC
{
"Mgmt-vrf": {
"address_family": {
"ipv4 unicast": {
"flags": "0x0",
"table_id": "0x1"
},
"ipv6 unicast": {
"flags": "0x0",
"table_id": "0x1E000001"
}
},
"cli_format": "New",
"flags": "0x1808",
"interface": {
"GigabitEthernet0/0": {
"vrf": "Mgmt-vrf"
}
},
"interfaces": [
"GigabitEthernet0/0"
],
"support_af": "multiple address-families",
"vrf_id": 1
},
"SDA_Lab_Employee": {
"address_family": {
"ipv4 unicast": {
"flags": "0x0",
"route_targets": {
"1:4099": {
"route_target": "1:4099",
"rt_type": "both"
}
},
"table_id": "0x2"
}
},
"cli_format": "New",
"flags": "0x180C",
"interface": {
"LI0.4099": {
"vrf": "SDA_Lab_Employee"
},
"Loopback1021": {
"vrf": "SDA_Lab_Employee"
},
"Loopback1023": {
"vrf": "SDA_Lab_Employee"
},
"Loopback1027": {
"vrf": "SDA_Lab_Employee"
},
"Vlan3002": {
"vrf": "SDA_Lab_Employee"
},
"Vlan920": {
"vrf": "SDA_Lab_Employee"
}
},
"interfaces": [
"Loopback1021",
"Loopback1023",
"Vlan920",
"Vlan3002",
"LI0.4099",
"Loopback1027"
],
"route_distinguisher": "1:4099",
"support_af": "multiple address-families",
"vrf_id": 2
},
"SDA_Lab_Guest": {
"address_family": {
"ipv4 unicast": {
"flags": "0x0",
"route_targets": {
"1:4100": {
"route_target": "1:4100",
"rt_type": "both"
}
},
"table_id": "0x3"
}
},
"cli_format": "New",
"flags": "0x180C",
"interface": {
"LI0.4100": {
"vrf": "SDA_Lab_Guest"
},
"Loopback1025": {
"vrf": "SDA_Lab_Guest"
},
"Vlan3003": {
"vrf": "SDA_Lab_Guest"
}
},
"interfaces": [
"Loopback1025",
"Vlan3003",
"LI0.4100"
],
"route_distinguisher": "1:4100",
"support_af": "multiple address-families",
"vrf_id": 3
}
}
Library versions
(venv) # pyats version check
You are currently running pyATS version: 21.5.1
Python: 3.6.8 [64bit]
Package Version
---------------------------- -------
genie 21.5.1
genie.libs.clean 21.5
genie.libs.conf 21.5
genie.libs.filetransferutils 21.5
genie.libs.health 21.5
genie.libs.ops 21.5
genie.libs.parser 21.5
genie.libs.robot 21.5
genie.libs.sdk 21.5
genie.telemetry 21.5
genie.trafficgen 21.5
pyats 21.5.1
pyats.aereport 21.5.1
pyats.aetest 21.5.1
pyats.async 21.5.1
pyats.connections 21.5.1
pyats.contrib 21.5
pyats.datastructures 21.5.1
pyats.easypy 21.5.1
pyats.kleenex 21.5.1
pyats.log 21.5.1
pyats.reporter 21.5.1
pyats.results 21.5.1
pyats.robot 21.5.1
pyats.tcl 21.5.1
pyats.topology 21.5.1
pyats.utils 21.5.2
unicon 21.5.1
unicon.plugins 21.5
Metadata
Metadata
Assignees
Labels
No labels