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.
  • Databases supported: PostgreSQL, MySQL
  • The app relies on nautobot_plugin_nornir to be installed and both apps to be enabled in your configuration settings.

Note

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

Access Requirements

The Nautobot celery worker needs access to be able to ssh/http(s) to network devices to pull back operational data.

Install Guide

The plugin is available as a Python package and can be installed with pip:

pip install nautobot_os_upgrades

To ensure Nautobot OS Upgrades 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_os_upgrades package:

echo nautobot_os_upgrades >> local_requirements.txt

Once installed, the plugin 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_os_upgrades" to the PLUGINS list.
  • Append the "nautobot_os_upgrades" dictionary to the PLUGINS_CONFIG dictionary and override any defaults.
# In your nautobot_config.py
PLUGINS = ["nautobot_os_upgrades", "nautobot_plugin_nornir"]

PLUGINS_CONFIG = {
    "nautobot_os_upgrades": {
        "MOCK_DEVICE_CONNECTIONS": False,
        "storage_provider": {
            "enable_azure_blob_storage": is_truthy(os.getenv("AZURE_BLOB_STORAGE_ENABLED", "false")),
            "azure_account_name": os.getenv("AZURE_ACCOUNT_NAME", ""),
            "azure_account_key": os.getenv("AZURE_ACCOUNT_KEY", ""),
            "azure_container": os.getenv("AZURE_CONTAINER", ""),
        },
    },
    "nautobot_plugin_nornir": {
        "nornir_settings": {
            "use_config_context": {"connection_options": False},
            "credentials": "nautobot_plugin_nornir.plugins.credentials.nautobot_secrets.CredentialsNautobotSecrets",
            "runner": {
                "plugin": "threaded",
                "options": {
                    "num_workers": 20,
                },
            },
            "connection_options": {
                "pyntc": {"extras": {"timeout": 3600}},
            },
        },
    },
}

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 plugin behavior can be controlled with the following list of settings:

Key Example Default Description
n/a n/a n/a n/a