Skip to main content

Your First Run of Invariant

Analyze the snapshot by invoking the invariant run command from the base codelab directory.

# Ensure the current directory is the codelab example
$ cd codelab/
$ ls
batfish configs def invariant
$ invariant run
Uploading snapshot...
Processing... (d1dff68d-7da6-4438-87d8-a12086073823)

When the analysis completes, you will see an error about "Map Support data", followed by a list of reports files and how many rows are in each report.

$ invariant run
Uploading snapshot...
Processing... (d1dff68d-7da6-4438-87d8-a12086073823)
Analysis complete.

The following steps were not completed:
Evaluate Snapshot > Evaluate Snapshot > Map Support data

╭───────────────────────┬────────╮
│ Network Information │ Rows │
├───────────────────────┼────────┤
│ nodes │ 9
│ interfaces │ 87
│ named_structures │ 54
│ defined_structures │ 351
│ referenced_structures │ 350
│ unused_structures │ 5
│ vlan_properties │ 12
│ hsrp_properties │ 0
│ mlag_properties │ 0
│ ip_owners │ 48
│ undefined_references │ 0
│ vrrp_properties │ 8
╰───────────────────────┴────────╯

╭───────────────┬────────╮
│ Topology │ Rows │
├───────────────┼────────┤
│ edges │ 34
│ layer_1_edges │ 0
│ layer_3_edges │ 34
╰───────────────┴────────╯

╭────────────────────────────┬────────╮
│ Routing │ Rows │
├────────────────────────────┼────────┤
│ routes │ 253
│ bgp_process_config │ 1
│ bgp_peer_config │ 2
│ bgp_session_compatibility │ 2
│ bgp_session_status │ 2
│ bgp_edges │ 0
│ bgp_ribs │ 1
│ ospf_process_config │ 6
│ ospf_interface_config │ 36
│ ospf_area_config │ 6
│ ospf_session_compatibility │ 20
╰────────────────────────────┴────────╯

╭───────────────────┬────────╮
│ Setup │ Rows │
├───────────────────┼────────┤
│ unconnected_nodes │ 0
│ ignored_lines │ 32
│ file_parse_status │ 9
│ parse_warnings │ 59
│ errors │ 1
╰───────────────────┴────────╯

╭────────────────────────┬────────╮
│ Inconsistent Traffic │ Rows │
├────────────────────────┼────────┤
│ subnet_multipath │ 0
│ loopback_multipath │ 0
╰────────────────────────┴────────╯

╭──────────┬────────╮
│ Probes │ Rows │
├──────────┼────────┤
│ probes │ 3
╰──────────┴────────╯


Run 'invariant show <file> --snapshot d1dff68d-7da6-4438-87d8-a12086073823' to examine any file,
or run 'export INVARIANT_SNAPSHOT=d1dff68d-7da6-4438-87d8-a12086073823' to skip the --snapshot argument.

1 error found.

In Evaluate Snapshot > Map Support data:

Location not found.
For location 'EXTERNAL': Undefined location: 'EXTERNAL'.

Details about the error appear at the bottom of the output. We will fix the error by providing a definition for the 'EXTERNAL' location in the next chapter.

The reports are divided into multiple sections as follows.

  • Network Information provides general details about the network, including nodes and interfaces.
  • Topology contains reports describing the edges within the network.
  • Routing contains information about the calculated route tables and the processes involved in their creation.
  • Setup section contains information about errors and warnings related to model creation.
  • Inconsistent Traffic contains alternative paths between points that contain inconsistencies.
  • Probes offers quick virtual traceroutes through the model network.
  • Access Policy will appear later in the codelab and include your deny rules and critical flows.

Complete information about the reports can be found in the Output section.