Netbox agent to run on your infrastructure's servers
Find a file
2019-08-04 21:48:06 +02:00
netbox_agent better ethool and device type guessing 2019-08-04 21:48:06 +02:00
tests Project cleanup (#6) 2019-08-04 00:00:22 +02:00
.gitignore gitignore 2019-08-02 18:38:30 +02:00
dev-requirements.txt Project cleanup (#6) 2019-08-04 00:00:22 +02:00
LICENSE Project cleanup (#6) 2019-08-04 00:00:22 +02:00
netbox_agent.yaml.example use first capture group in regex 2019-08-04 19:51:36 +02:00
README.md Update README.md 2019-08-04 20:10:43 +02:00
requirements.txt WIP - create netbox interfaces with IP 2019-08-04 15:14:36 +02:00
setup.py Project cleanup (#6) 2019-08-04 00:00:22 +02:00
tox.ini Project cleanup (#6) 2019-08-04 00:00:22 +02:00

Netbox agent

This project aims to create hardware automatically into Netbox based on standard tools (dmidecode, lldpd, parsing /sys/, etc).

The goal is to generate an existing infrastructure on Netbox and have the ability to update it regularly by executing the agent.

Features

  • Create servers, chassis and blade through standard tools (dmidecode)
  • Create physical network interfaces with IPs
  • Generic ability to guess datacenters through drivers (cmd and file and custom ones)

Configuration

netbox:
 url: 'http://netbox.internal.company.com'
 token: supersecrettoken

datacenter_location:
 # driver_file: /opt/netbox_driver_dc.py
 driver: file:/etc/qualification
 regex: "datacenter: (?P<datacenter>[A-Za-z0-9]+)"
# driver: 'cmd:lldpctl'
# regex = 'SysName: .*\.(?P<datacenter>[A-Za-z0-9]+)'```

Hardware

Tested on:

Dell Inc.

Blades

  • PowerEdge M1000e
  • PowerEdge M640
  • PowerEdge M630
  • PowerEdge M620
  • PowerEdge M610

Pizzas

  • DSS7500

HP

Blades

  • HP BladeSystem c7000 Enclosure G2
  • HP ProLiant BL460c Gen8
  • HP ProLiant BL460c Gen9

Pizzas

  • ProLiant DL380p Gen8

HPE

  • HPE ProLiant XL450 Gen10

TODO

  • Handle blade moving
  • Handle network cards (MAC, IP addresses)
  • Handle switch <> NIC connections (using lldp)
  • Handle blade and server local changes (new NIC, new RAM, etc) using somekind of diff
  • CPU, RAID Card(s), RAM, Disks in Device's Inventory
  • CustomFields support with firmware versions for Device (BIOS), RAID Cards and disks