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 app is compatible with Nautobot 3.0.0 and higher.
  • Python version: 3.10, 3.11, 3.12, or 3.13
  • Databases supported: PostgreSQL, MySQL

Note

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

Access Requirements

This app does not require access to any external systems. All functionality operates within the Nautobot environment using the existing device and interface models.

Install Guide

Note

Apps can be installed from the Python Package Index or locally. See the Nautobot documentation for more details. The pip package name for this app is nautobot-igp-models.

The app is available as a Python package via PyPI and can be installed with pip:

pip install nautobot-igp-models

To ensure Nautobot IGP Models 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-igp-models package:

echo nautobot-igp-models >> 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_igp_models" to the PLUGINS list.
  • Append the "nautobot_igp_models" dictionary to the PLUGINS_CONFIG dictionary and override any defaults.
# In your nautobot_config.py
PLUGINS = ["nautobot_igp_models"]

# PLUGINS_CONFIG = {
#   "nautobot_igp_models": {
#     ADD YOUR SETTINGS HERE
#   }
# }

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

App Configuration

The app includes sensible defaults and does not require additional configuration to function. However, you can optionally configure the default statuses for the models.

Optional Configuration

The app automatically creates default statuses for all models during migration. If you want to customize the statuses, you can add the following to your PLUGINS_CONFIG:

PLUGINS_CONFIG = {
    "nautobot_igp_models": {
        "default_statuses": {
            "IGPRoutingInstance": ["Planned", "Active", "Decommissioned"],
            "ISISConfiguration": ["Active", "Decommissioned", "Deprovisioning", "Offline", "Planned", "Provisioning"],
            "ISISInterfaceConfiguration": ["Active", "Decommissioned", "Deprovisioning", "Offline", "Planned", "Provisioning"],
            "OSPFConfiguration": ["Active", "Decommissioned", "Deprovisioning", "Offline", "Planned", "Provisioning"],
            "OSPFInterfaceConfiguration": ["Active", "Decommissioned", "Deprovisioning", "Offline", "Planned", "Provisioning"],
        }
    }
}

Note

If the statuses don't already exist in your Nautobot instance, they will be created automatically during migration.

Automatic Resource Loading

During nautobot-server post_upgrade, the app automatically loads:

Config Context Schemas

Two JSON Schema files for validating config context: - IGP ISIS Configuration - Validates ISIS config context parameters - IGP OSPF Configuration - Validates OSPF config context parameters

Access these schemas at: Extensibility > Config Context Schemas

Export Templates

Configuration templates for generating multi-vendor device configurations:

ISIS Templates (4 vendors): - Cisco IOS - Cisco IOS XR - Juniper JunOS - Arista EOS

OSPF Templates (3 vendors): - Cisco IOS - Cisco IOS XR - Arista EOS

Export templates appear in the "Export" button dropdown on object detail pages.

Manual Resource Loading

To manually load or update these resources:

# Load resources (skip existing)
nautobot-server load_igp_resources

# Force update existing resources
nautobot-server load_igp_resources --force

Skip Automatic Loading

To skip automatic resource loading during migration (e.g., for testing):

export NAUTOBOT_SKIP_RESOURCE_LOADING=1
nautobot-server post_upgrade

Verifying Installation

After installation, verify that export templates are loaded:

  1. Navigate to Extensibility > Export Templates
  2. Filter by "IGP" to see the installed templates
  3. Create an ISIS or OSPF configuration
  4. On the detail page, click the "Export" button to see available templates