Skip to content

IPFabric Integration Setup

This guide will walk you through steps to set up IPFabric integration with the nautobot_chatops App.

Prerequisites

Before configuring the integration, please ensure the following:

Version Matrix

Here is a compatibility matrix and the minimum versions required to run this plugin:

IP Fabric Python Nautobot chatops chatops-ipfabric python-ipfabric python-ipfabric-diagrams
4.4 3.7.1 1.1.0 1.1.0 1.2.0 0.11.0 1.2.7
5.0.1 3.7.1 1.1.0 1.1.0 1.3.0 5.0.4 5.0.2
6.0 3.7.1 1.4.0 1.1.0 3.0.0 6.0.9 6.0.2
6.0 3.7.2 1.4.0 1.3.0 DISABLE 6.0.9 6.0.2

Command Setup

Create a top-level command named ipfabric in your enabled chat platform. For detailed instructions related to your specific chat platform, refer to the platform specific set up.

Configuration

You must define the following values in your nautobot_config.py file:

Configuration Setting Mandatory? Default Available on Admin Config
enable_ipfabric Yes False Yes
ipfabric_api_token Yes No
ipfabric_host Yes No
ipfabric_timeout No
ipfabric_verify True No

Below is an example snippet from development/nautobot_config.py that demonstrates how to enable and configure IPFabric integration:

PLUGINS = ["nautobot_chatops"]

PLUGINS_CONFIG = {
    "nautobot_chatops": {
        ...
        "enable_ipfabric": True,
        "ipfabric_api_token": os.environ.get("IPFABRIC_API_TOKEN"),
        "ipfabric_host": os.environ.get("IPFABRIC_HOST"),
        "ipfabric_timeout": os.environ.get("IPFABRIC_TIMEOUT", 15),
        "ipfabric_verify": is_truthy(os.environ.get("IPFABRIC_VERIFY", True)),
    }
}

Upgrading from nautobot-plugin-chatops-ipfabric App

Warning

When upgrading from nautobot-plugin-chatops-ipfabric App, it's necessary to avoid conflicts.

  • Uninstall the old App:
    pip uninstall nautobot-plugin-chatops-ipfabric
    
  • Upgrade the App with required extras:
    pip install --upgrade nautobot-chatops[ipfabric]
    
  • Fix nautobot_config.py by removing nautobot_plugin_chatops_ipfabric from PLUGINS and merging App configuration into nautobot_chatops:
    PLUGINS = [
        "nautobot_chatops",
        # "nautobot_plugin_chatops_ipfabric"  # REMOVE THIS LINE
    ]
    
    PLUGINS_CONFIG = {
        # "nautobot_plugin_chatops_ipfabric": {  REMOVE THIS APP CONFIGURATION
        #     MOVE AND RENAME FOLLOWING ITEMS:
        #     "IPFABRIC_API_TOKEN": os.environ.get("IPFABRIC_API_TOKEN"),
        #     "IPFABRIC_HOST": os.environ.get("IPFABRIC_HOST"),
        #     "IPFABRIC_VERIFY": os.environ.get("IPFABRIC_VERIFY", True),
        # }
        "nautobot_chatops": {
            # Enable IPFabric integration
            "enable_ipfabric": True,
            # Following lines are moved from `nautobot_plugin_chatops_ipfabric`
            "ipfabric_api_token": os.environ.get("IPFABRIC_API_TOKEN"),
            "ipfabric_host": os.environ.get("IPFABRIC_HOST"),
            "ipfabric_timeout": os.environ.get("IPFABRIC_TIMEOUT", 15),
            "ipfabric_verify": is_truthy(os.environ.get("IPFABRIC_VERIFY", True)),
        }
    }
    

Warning

Configuration keys for IPFabric integration are now lowercased, compared to the old plugin.

Environment variables for this integration are the same for both, old and new configuration.