python-netbox-agent
Port variant v12
Summary NetBox agent for server (3.12)
BROKEN
Package version 1.0.0
Homepage https://github.com/solvik/netbox_agent
Keywords python
Maintainer Python Automaton
License Not yet specified
Other variants v13
Ravenports Buildsheet | History
Ravensource Port Directory | History
Last modified 11 NOV 2024, 23:28:05 UTC
Port created 08 JAN 2023, 04:18:24 UTC
Subpackage Descriptions
single # Netbox agent [Build Status] 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 virtual machines, servers, chassis and blade through standard tools (`dmidecode`) * Create physical, bonding and vlan network interfaces with IPs (IPv4 & IPv6) * Create IPMI interface if found * Create or get existing VLAN and associate it to interfaces * Generic ability to guess datacenters and rack location through drivers (`cmd` and `file` and custom ones) * Update existing `Device` and `Interface` * Handle blade moving (new slot, new chassis) * Handle blade GPU expansions * Automatic cabling (server's interface to switch's interface) using lldp * Local inventory using `Inventory Item` for CPU, GPU, RAM, RAID cards, physical disks (behind raid cards) * PSUs creation and power consumption reporting (based on vendor's tools) # Requirements - Netbox >= 3.7 - Python >= 3.7 - [pynetbox] - [python3-netaddr] - [python3-netifaces] - [jsonargparse] - ethtool - dmidecode - ipmitool - lldpd - lshw ## Inventory requirement - hpassacli - storcli - omreport # Installation ``` # pip3 install netbox-agent ``` # Usage The agent can be run from a shell and get its configuration from either the configuration file or environment variables. Configuration values are overridden based on the following precedence: command line arguments (might include config file) > environment variables > default config file > defaults. ``` # netbox_agent -c /etc/netbox_agent.yaml --register INFO:root:Creating chassis blade (serial: QTFCQ574502EF) INFO:root:Creating blade (serial: QTFCQ574502D2) myserver on chassis QTFCQ574502EF INFO:root:Setting device (QTFCQ574502D2) new slot on Slot 9 (Chassis QTFCQ574502EF).. INFO:root:Interface a8:1e:84:f2:9e:6a not found, creating.. INFO:root:Creating NIC enp1s0f1 (a8:1e:84:f2:9e:6a) on myserver INFO:root:Interface 02:42:7a:89:cf:a4 not found, creating.. INFO:root:Creating NIC br-07ea1e4a2f0e (02:42:7a:89:cf:a4) on myserver INFO:root:Create new IP 172.19.0.1/16 on br-07ea1e4a2f0e INFO:root:Interface a8:1e:84:f2:9e:69 not found, creating.. INFO:root:Creating NIC enp1s0f0 (a8:1e:84:f2:9e:69) on myserver INFO:root:Create new IP 42.42.42.42/24 on enp1s0f0 INFO:root:Create new IP fe80::aa1e:84ff:fef2:9e69/64 on enp1s0f0 INFO:root:Interface a8:1e:84:cd:9d:d6 not found, creating.. INFO:root:Creating NIC IPMI (a8:1e:84:cd:9d:d6) on myserver INFO:root:Create new IP 10.191.122.10/24 on IPMI ``` If you need, you can update only specific informations like: * Network * Inventory * Location * PSUs ``` # ip a add 42.42.42.43/24 dev enp1s0f1 # netbox_agent -c /etc/netbox_agent.yaml --update-network INFO:root:Create new IP 42.42.42.43/24 on enp1s0f1 # netbox_agent --update-inventory INFO:root:Creating Disk Samsung SSD 850 S2RBNX0K101698D ``` # Configuration ``` # Netbox configuration
Configuration Switches (platform-specific settings discarded)
PY312 ON Build using Python 3.12 PY313 OFF Build using Python 3.13
Package Dependencies by Type
Build (only) python312:dev:std
python-pip:single:v12
autoselect-python:single:std
Build and Runtime python312:primary:std
Runtime (only) python-pynetbox:single:v12
python-netaddr:single:v12
python-netifaces2:single:v12
python-PyYAML:single:v12
python-jsonargparse:single:v12
python-python-slugify:single:v12
python-packaging:single:v12
python-distro:single:v12
Download groups
main mirror://PYPIWHL/a0/b3/8defad6677738c587ac907adfb1839d8a85347c41d93aa63f5cafd727ad8
Distribution File Information
fa3f09a285a90c640a40a400143273d6611d74d7a5088cea656c2c55a46cf436 50989 netbox_agent-1.0.0-py3-none-any.whl
Ports that require python-netbox-agent:v12
No other ports depend on this one.