# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= python-netbox-network-importer VERSION= 1.1.7 KEYWORDS= python VARIANTS= v13 v14 SDESC[v13]= Tool to import network into Netbox (3.13) SDESC[v14]= Tool to import network into Netbox (3.14) HOMEPAGE= https://gitlab.cesnet.cz/701/done/netbox_network_importer CONTACT= Python_Automaton[python@ironwolf.systems] DOWNLOAD_GROUPS= main SITES[main]= PYPI/n/netbox-network-importer DISTFILE[1]= netbox_network_importer-1.1.7.tar.gz:main DIST_SUBDIR= python-src DF_INDEX= 1 SPKGS[v13]= single SPKGS[v14]= single OPTIONS_AVAILABLE= PY313 PY314 OPTIONS_STANDARD= none VOPTS[v13]= PY313=ON PY314=OFF VOPTS[v14]= PY313=OFF PY314=ON DISTNAME= netbox_network_importer-1.1.7 GENERATED= yes [PY313].BUILDRUN_DEPENDS_ON= python-click:single:v13 python-pynetbox:single:v13 python-python-slugify:single:v13 python-appdirs:single:v13 python-PyYAML:single:v13 python-python-dotenv:single:v13 python-netutils:single:v13 python-nornir:single:v13 python-nornir-netbox:single:v13 python-nornir-utils:single:v13 python-nornir-rich:single:v13 python-deepdiff:single:v13 python-napalm:single:v13 python-ncclient:single:v13 python-loguru:single:v13 python-dictdiffer:single:v13 python-json2html:single:v13 python-jsonpickle:single:v13 python-pytest-runner:single:v13 [PY313].USES_ON= python:v13,sutools [PY314].BROKEN_ON= python-netutils currently does not support python 3.14 [PY314].BUILDRUN_DEPENDS_ON= python-click:single:v14 python-pynetbox:single:v14 python-python-slugify:single:v14 python-appdirs:single:v14 python-PyYAML:single:v14 python-python-dotenv:single:v14 python-nornir:single:v14 python-nornir-netbox:single:v14 python-nornir-utils:single:v14 python-nornir-rich:single:v14 python-deepdiff:single:v14 python-napalm:single:v14 python-ncclient:single:v14 python-loguru:single:v14 python-dictdiffer:single:v14 python-json2html:single:v14 python-jsonpickle:single:v14 python-pytest-runner:single:v14 [PY314].USES_ON= python:v14,sutools [FILE:2996:descriptions/desc.single] # Netbox Network Importer Tool to analyze and synchronize an existing network with a Netbox (SOT). The main use cases for the network importer: - Import an existing network into a Netbox - ~~Check the differences between the running network and the Netbox~~ --- ## Install 1. Clone repository - `git clone git@gitlab.cesnet.cz:701/done/netbox_network_importer.git` 2. Go into the repository - `cd netbox_network_importer ` 3. Create `virtualenv` - `python3 -m venv venv` 3. Activate it - `source venv/bin/activate` 3. Install the tool - `pip install .` --- ## Pre-requisite To operate, the Netbox Network Importer is dependent on the following items: - Access to Netbox API - Access to Network Devices via SSH - Created Custom Field on Netbox ```json { "display": "Ignore Importer", "content_types": [ "dcim.interface", ], "type": { "value": "boolean", "label": "Boolean (true/false)" }, "object_type": null, "data_type": "boolean", "name": "ignore_importer", "label": "Ignore Importer", "description": "Will be ignored when processed by Network Importer", "required": true, "filter_logic": { "value": "exact", "label": "Exact" }, "default": false, "weight": 100, } ``` --- ## Inventory A device inventory must be available in NetBox. To be able to connect to the device the following information needs to be defined : - Primary ip address - Platform (must be a one of the following ['iosxr', 'ios', 'iosxe']) --- ## Configuration file The information to connect to NetBox must be provided via the configuration file. The configuration file below presents all available options that can be provided to control the behavior of the Netbox Network Importer. Netbox Network Importer tries to find the configuration file at: - `/home//.config/netbox_network_importer/config.yml` - `/etc/netbox_network_importer/config.yml` - Or you can set path to configuration file like: - `netbox_network_importer --configs path_to_dir_with_config/ synchronize` ### Complete Configuration Example ```yaml --- netbox: NETBOX_API_TOKEN: "your_api_token_here" NETBOX_INSTANCE_URL: "https://your-netbox-instance.com/" NETBOX_GRAPHQL_URL: "https://your-netbox-instance.com/graphql/" tacacs: TACACS_USERNAME: "your_username" TACACS_PASSWORD: "your_password" config: # Logging Configuration LOG_DIR: "logs" # Directory for log files LOG_LEVEL: "INFO" # Log level: DEBUG, INFO, WARNING, ERROR, CRITICAL # Output Configuration OUTPUT_DIR: "outputs" # Directory for result files (JSON/HTML) # Network Behavior SUPPRESS_CONNECTION_ERRORS: true # Suppress verbose NAPALM/NETCONF/SSH logs NORNIR_WORKERS: 20 # Number of parallel workers (default: 20) # Result Filtering FILTER_EMPTY_UPDATE_RESULTS: true # Filter UPDATE actions with [FILE:126:distinfo] 6d13774adda6cc5e650fb24050182afad207012beb22140da98871f96a7c00d9 40443 python-src/netbox_network_importer-1.1.7.tar.gz