python-netbox-agent
Port variant py310
Summary NetBox agent for server (3.10)
Package version 0.7.1
Homepage https://github.com/solvik/netbox_agent
Keywords python
Maintainer Python Automaton
License Not yet specified
Other variants v11
Ravenports Buildsheet | History
Ravensource Port Directory | History
Last modified 03 AUG 2023, 23:53:52 UTC
Port created 07 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 >= 2.6 - Python >= 3.4 - [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)
PY310 ON Build using Python 3.10 PY311 OFF Build using Python 3.11
Package Dependencies by Type
Build (only) python-setuptools:single:py310
autoselect-python:single:standard
Build and Runtime python-pynetbox:single:py310
python-netaddr:single:py310
python-netifaces:single:py310
python-PyYAML:single:py310
python-jsonargparse:single:py310
python-python-slugify:single:py310
python-packaging:single:py310
python-distro:single:py310
python310:single:standard
Download groups
main mirror://PYPI/n/netbox-agent
Distribution File Information
1ca117bea69d6635e826789cf0aa6b7b6883515b9aaef1f0a7ac8c730d539dbc 45388 netbox_agent-0.7.1.tar.gz
Ports that require python-netbox-agent:py310
No other ports depend on this one.