Skip to content

Installing the App in Nautobot

Here you will find detailed instructions on how to install and configure the App within your Nautobot environment.

Prerequisites

  • The Network Tools feature requires nautobot_plugin_nornir to be installed and enabled in your configuration settings.
  • The app is compatible with Nautobot 3.1.0 and higher.
  • Databases supported: PostgreSQL, MySQL
  • iputils-ping or equivalent should be installed on the Nautobot workers should the nautobot user not have access to ICMP via raw sockets.

Note

Please check the dedicated page for a full compatibility matrix and the deprecation policy.

Install Guide

The app is distributed as a Python package (nautobot-tools) which can be installed by Python package managers (e.g. pip, poetry, uv etc.) from an authorized private repository.

Important

Nautobot Tools is commercial (licensed) software. To obtain access to the Network To Code private package repository, please contact us through the customer portal. Then review the instructions on how to set up the repository in your Python package manager of choice.

To ensure Nautobot Tools is automatically re-installed during future upgrades, create a file named local_requirements.txt (if not already existing) in the Nautobot root directory (alongside requirements.txt) and list the nautobot-tools package:

echo nautobot-tools >> local_requirements.txt

Once installed, the app needs to be enabled in your Nautobot configuration. The following block of code below shows the additional configuration required to be added to your nautobot_config.py file:

  • Append "nautobot_tools" to the PLUGINS list, and "nautobot_plugin_nornir" if it was not already there (more info here).
  • Append the "nautobot_tools" dictionary to the PLUGINS_CONFIG dictionary and override any defaults.
  • Append the "nautobot_plugin_nornir" dictionary to the PLUGINS_CONFIG dictionary as shown the sample below with your appropriate configs (Note: this may already be in your configs).
# In your nautobot_config.py
PLUGINS = ["nautobot_tools", "nautobot_plugin_nornir"]

PLUGINS_CONFIG = {
    "nautobot_plugin_nornir": {
        "nornir_settings": {
            "credentials": "nautobot_plugin_nornir.plugins.credentials.env_vars.CredentialsEnvVars",
            "runner": {
                "plugin": "threaded",
                "options": {
                    "num_workers": 20,
                },
            },
        },
    },
}

Once the Nautobot configuration is updated, run the Post Upgrade command (nautobot-server post_upgrade) to run migrations and clear any cache:

nautobot-server post_upgrade

Then restart (if necessary) the Nautobot services which may include:

  • Nautobot
  • Nautobot Workers
  • Nautobot Scheduler
sudo systemctl restart nautobot nautobot-worker nautobot-scheduler

Custom Dispatcher

If your use case requires custom business logic or support for network drivers not currently included, you can implement a custom dispatcher. For detailed instructions on how to create and register these, please refer to the Golden Config Custom Dispatcher documentation.