For those of you who are new to SuzieQ, its an:

open-source platform that polls your network stores the data in a DB, allowing you to query and analyse your data in lots of cool ways. Think troubleshooting and config compliance testing.

One of the biggest releases to date has been 0.16.0 (current release at the time of writing). Therefore today, I wanted to show you 3 top features included within this release that you may find useful. Let's go:

Remote DB Support

SuzieQ provides both a Python library and CLI. Prior to 0.16.0 to run either of these you needed direct access to the DB. With 0.16.0, you can run them locally. This is great for 2 things:

  • Having a local SuzieQ CLI available to quickly lookup and check "things" within the network.
  • Being able to run test scripts (think Pytest) from a CI platform using just the Python library.

For example, I've added the command to run the CLI locally to a Makefile, so to get all the versions of my devices, I just do:

$ make sq-cli
root> device show columns="hostname model version"
      hostname                     model      version
0    leaf1-ios                      IOSv     15.6(2)T
1    leaf2-ios                      IOSv     15.6(2)T
2    leaf3-qfx                vqfx-10000  18.1R3-S2.5
3    leaf4-qfx                vqfx-10000  18.1R3-S2.5
4    leaf5-eos                      vEOS      4.23.8M
5    leaf6-eos                      vEOS      4.23.8M
6  spine1-nxos  Nexus9000 C9300v Chassis      9.3(7a)
7  spine2-nxos  Nexus9000 C9300v Chassis      9.3(7a)

Dynamic Inventory Support

SuzieQ's inventory now supports dynamic based inventory e.g. Netbox.
Therefore to have SuzieQ pull from Netbox, you just need to add the following to your inventory file and tag any Netbox device with the source tag.

sources:
- name: inventory-source
  type: netbox
  token: <token>
  url: http://<nb_address>:8080
  tag: your_nb_tag

auths:
- name: device-password
  username: lab
  password: env:LAB_PASSWORD

devices:
- name: default
  ignore-known-hosts: true

namespaces:
- name: nebula
  source: inventory-source
  auth: device-password
  device: default

Address Prefix Support

The final great addition to SuzieQ 0.16.0 is the ability to perform an address lookup for a prefix. For example, to see all addresses within the network that are configured, including the interface and MAC details, we can do:

rick> address show prefix="10.0.0.0/8"
   namespace     hostname              ifname  ipAddressList            macaddr ip6AddressList state      vrf
0     nebula    leaf1-ios  GigabitEthernet0/0  [10.1.1.2/30]  50:00:00:09:00:00             []    up  default
1     nebula    leaf1-ios  GigabitEthernet0/1  [10.2.1.2/30]  50:00:00:09:00:01             []    up  default
2     nebula    leaf2-ios  GigabitEthernet0/0  [10.1.2.2/30]  50:00:00:0a:00:00             []    up  default
3     nebula    leaf2-ios  GigabitEthernet0/1  [10.2.2.2/30]  50:00:00:0a:00:01             []    up  default
4     nebula    leaf3-qfx          xe-0/0/0.0  [10.1.3.2/30]  02:05:86:71:64:03             []    up  default
5     nebula    leaf3-qfx          xe-0/0/1.0  [10.2.3.2/30]  02:05:86:71:64:07             []    up  default
6     nebula    leaf4-qfx          xe-0/0/0.0  [10.1.4.2/30]  02:05:86:71:27:03             []    up  default
7     nebula    leaf4-qfx          xe-0/0/1.0  [10.2.4.2/30]  02:05:86:71:27:07             []    up  default
8     nebula    leaf5-eos           Ethernet1  [10.1.5.2/30]  50:00:00:e4:72:94             []    up  default
9     nebula    leaf5-eos           Ethernet2  [10.2.5.2/30]  50:00:00:e4:72:94             []    up  default
10    nebula    leaf6-eos           Ethernet1  [10.1.6.2/30]  50:00:00:ca:39:cc             []    up  default
11    nebula    leaf6-eos           Ethernet2  [10.2.6.2/30]  50:00:00:ca:39:cc             []    up  default
12    nebula  spine1-nxos         Ethernet1/1  [10.1.1.1/30]  50:0b:00:00:1b:08             []    up  default
13    nebula  spine1-nxos         Ethernet1/2  [10.1.2.1/30]  50:0b:00:00:1b:08             []    up  default
14    nebula  spine1-nxos         Ethernet1/3  [10.1.3.1/30]  50:0b:00:00:1b:08             []    up  default
...
Ready to Master Network Automation? Start Your Journey Today!
Our membership provides:
  • Full deep-dive course library (inc. Batfish, pyATS, Netmiko)
  • Code repositories inc. full course code, scripts and examples
  • 24x7 multi-vendor labs (Arista, Cisco, Juniper)
  • Private online community
  • Live monthly tech sessions
  • Access to tech session library

Join Now ➜