UWNetworksLab / netcov

NetCov: test coverage for network configurations

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

`traceroute` issue: NoneType object has no attribute status

rickdonato opened this issue · comments

Hi, Im hitting an issue when trying to use a traceroute with Batfish. Thanks in advance.

>>> bf.q.traceroute(startLocation='nxos-core1', headers=HeaderConstraints(srcIps='nxos-core1[Ethernet1/2]', dstIps='nxos-core2[Ethernet1/2]'),maxTraces=1).answer().frame()
                                                    Flow  ... TraceCount
0  start=nxos-core1 [10.1.2.1:49152->10.2.2.1:33434 UDP]  ...  2        

[1 rows x 3 columns]
>>> bf.cov.result()
Unsupported protocol ospf with prefix 10.2.2.0/24 at nxos-core1.default main rib
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/home/rick/development/tech-sessions/2022-11-netcov/.venv/lib/python3.8/site-packages/netcov/coverage.py", line 64, in result
    ifg_lazy_construction(self.model, tested_nodes)
  File "/home/rick/development/tech-sessions/2022-11-netcov/.venv/lib/python3.8/site-packages/netcov/algorithm/construct.py", line 451, in ifg_lazy_construction
    run_to_fixpoint()
  File "/home/rick/development/tech-sessions/2022-11-netcov/.venv/lib/python3.8/site-packages/netcov/algorithm/construct.py", line 420, in run_to_fixpoint
    if len(node.status) == 0:
AttributeError: 'NoneType' object has no attribute 'status'

@rickdonato - This looks like some invalid assumption in how NetCov is parsing TR data. It'll help if you can provide a repro - the snapshot used and any relevant setup before you ran the TR query above.

@rickdonato Hi Rick, we figured out that this problem was bacause NetCov's data model didn't implement OSPF routes properly. This should have been fixed now.