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:
nautobot-chatopsApp was installed with integration extra dependencies.nautobot-chatopsApp is set up with at least one enabled chat platform and tested.
Version Matrix¶
Here is a compatibility matrix and the minimum versions required to run this app:
| 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 |
| 6.6 | 3.8 | ? | ? | DISABLE | 6.6.2 | DISABLE |
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:
- Upgrade the App with required extras:
- Fix
nautobot_config.pyby removingnautobot_plugin_chatops_ipfabricfromPLUGINSand merging App configuration intonautobot_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 app.
Environment variables for this integration are the same for both, old and new configuration.