NetBox manager
Project description
netbox-manager
Installation
$ pipenv shell
$ pip install netbox-manager
$ ansible-galaxy collection install -r requirements.yml
Configuration
DEVICETYPE_LIBRARY = "example/devicetypes"
IGNORE_SSL_ERRORS = true
MODULETYPE_LIBRARY = "example/moduletypes"
RESOURCES = "example/resources"
TOKEN = ""
URL = "https://XXX.netbox.regio.digital"
VERBOSE = true
Usage
$ pipenv shell
$ netbox-manager --help
Usage: netbox-manager [OPTIONS]
╭─ Options ───────────────────────────────────────────────────────────────────────────────────────────╮
│ --limit TEXT Limit files by prefix [default: None] │
│ --skipdtl --no-skipdtl Skip devicetype library [default: no-skipdtl] │
│ --skipmtl --no-skipmtl Skip moduletype library [default: no-skipmtl] │
│ --skipres --no-skipres Skip resources [default: no-skipres] │
│ --wait --no-wait Wait for NetBox service [default: wait] │
│ --help Show this message and exit. │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────╯
Example Configuration
The example/ directory contains a complete example configuration for a testbed setup with multiple network switches and compute nodes. This configuration demonstrates all key features of netbox-manager.
Directory Structure
example/
├── devicetypes/ # Device type definitions
│ ├── Edgecore/ # Edgecore switch models
│ │ ├── 5835-54X-O-AC-F.yaml
│ │ └── 7726-32X-O-AC-F.yaml
│ └── Other/ # Generic device types
│ ├── baremetal-device.yml
│ ├── baremetal-housing.yml
│ ├── manager.yml
│ └── node.yml
├── moduletypes/ # Module definitions (empty)
└── resources/ # Numbered resource files
├── 100-initialise.yml # Base infrastructure
├── 200-rack-1000.yml # Rack and device definitions
├── 300-testbed-manager.yml # Manager configuration
├── 300-testbed-node-*.yml # Node configurations (0-9)
├── 300-testbed-switch-*.yml # Switch configurations (0-3)
└── 300-testbed-switch-oob.yml # Out-of-band switch
Execution Order
Files are processed by their numeric prefix:
-
100-initialise.yml: Creates base infrastructure
- Tenant:
Testbed - Site:
Discworld - Location:
Ankh-Morpork - VLANs: OOB Testbed (VLAN 100)
- IP ranges: OOB (172.16.0.0/20), Management (192.168.16.0/20), External (192.168.112.0/20)
- IPv6 range: fda6:f659:8c2b::/48
- Tenant:
-
200-rack-1000.yml: Defines physical infrastructure
- Rack "1000" with 47 rack units
- 11 devices (1 Manager, 10 Nodes, 5 Switches) with exact rack positions
-
300-*.yml: Detailed configuration for individual devices
- Network interfaces and VLAN assignments
- IP addresses and MAC addresses
- Cable connections between devices
Device Types
Manager (manager.yml)
- 1U server with management function
- 1x 1000Base-T (management), 2x 10GBase-T, 2x 100G QSFP28
Node (node.yml)
- 1U server for Control/Compute/Storage roles
- Identical configuration to Manager
Edgecore Switches
- 7726-32X: 32-port 100G switch (Leaf/Spine)
- 5835-54X: 54-port switch for out-of-band management
Network Architecture
The example implements a typical leaf-spine architecture:
- 2x Leaf Switches (testbed-switch-0/1): Connection to compute nodes
- 2x Spine Switches (testbed-switch-2/3): Interconnect between leafs
- 1x OOB Switch (testbed-switch-oob): Out-of-band management
- 1x Manager: Orchestration and deployment
- 10x Nodes: OpenStack Control/Compute/Storage nodes
IP Addressing
- OOB Network: 172.16.0.0/20 (Out-of-band management)
- Management: 192.168.16.0/20 (OpenStack management)
- External: 192.168.112.0/20 (Public API access)
- IPv6: fda6:f659:8c2b::/48 (Management IPv6)
Documentation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file netbox_manager-0.20250622.0.tar.gz.
File metadata
- Download URL: netbox_manager-0.20250622.0.tar.gz
- Upload date:
- Size: 25.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b22d51e8bdb81d87723367dd94269363f863cdcea63611667c778dce697bc2ec
|
|
| MD5 |
3fd1915dc0794abdfe074124997311cd
|
|
| BLAKE2b-256 |
ddb2fe79932b7be9e23a1ff3850e29c0181a66440bfcb61fda42aeab11965e8c
|
File details
Details for the file netbox_manager-0.20250622.0-py3-none-any.whl.
File metadata
- Download URL: netbox_manager-0.20250622.0-py3-none-any.whl
- Upload date:
- Size: 24.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fff88ddecdf765965b83b67cb97f0f45c49a97d2ef277b32fa44a55ada7d7270
|
|
| MD5 |
4565def13dd28775d3ca94d022986e79
|
|
| BLAKE2b-256 |
df68c809fe54d9c60672f4cb0195ae7ed8a740b23dd9aa3763a54de7a8b79009
|