Skip to content

NetTech2001/netbox-interface-synchronization

Repository files navigation

netbox-interface-synchronization

Overview

MAJOR UPDATE

Thanks to a massive contribution from @bastianleicht, based on the original netbox-interface-sync codebase by @rizlas and @drygdryg, the Interface Synchronization plugin now includes Component Synchronization.

This plugin allows you to compare and synchronize interface and component names / types between existing devices and new device types in NetBox 4.3+. It can be useful for finding and correcting inconsistencies between interfaces and other device components when changing the Device Type in Netbox.

Compatibility

Tested with NetBox versions 4.3.1+ This plugin is not compatible with Netbox 2 or 3. For those versions use the original netbox-interface-sync codebase by rizlas and drygdryg that this plugin was built on.

Installation

If your NetBox 4 installation uses virtualenv, activate it like this:

source /opt/netbox/venv/bin/activate

Install the plugin from PyPI:

pip install netbox-interface-synchronization

or clone this repository, then go to the folder with it and install the plugin:

pip install .

To enable to plugin, add the plugin's name to the PLUGINS list in configuration.py (it's usually located in /opt/netbox/netbox/netbox/) like so:

PLUGINS = [
    'netbox_interface_synchronization'
]

Don't forget to restart NetBox:

sudo systemctl restart netbox

Usage

To sync the components, edit the device and set the new device type and save the device. Then find the Component Sync button at the top of the page to select the component you would like to update: Device page Interfaces - Mark the required actions with the checkboxes and click "Apply" at the bottom of the page. Interface comparison Components - Mark the required actions with the checkboxes and click "Apply". Interface comparison

Plugin Settings

If you want to override the default values, configure the PLUGINS_CONFIG in your configuration.py:

PLUGINS_CONFIG = {
    'netbox_interface_synchronization': {
        'exclude_virtual_interfaces': True
    }
}
Setting Default value Description
exclude_virtual_interfaces True Exclude virtual interfaces (VLANs, LAGs) from comparison

About

Compare and synchronize components between existing devices and new device types

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors