Troubleshooting Dispatchers¶
At a high-level the default dispatchers that Golden Config uses are actually sourced from another open source library. nornir-nautobot contains the Nornir tasks that define the methods that Golden Config utilizes.
This dispatcher task is explained in the nornir-nautobot docs
Golden config uses the get_dispatcher()
function from the Nautobot Plugin Nornir plugin. General information on dispatchers can be found in the dispatcher documentation.
Although this functionality is simply used by Golden Config and isn't directly developed within this application the below troubleshooting sections may help.
Cannot import is the library installed?¶
This occurs when a Golden Config job is executed with a Nautobot platform
, and that platform slug is not found for the Nornir "method" the job is attempting to run.
How is the dispatcher loaded?
- Job initializes Nornir and the method is called with
get_dispatcher()
function from Nautobot-Plugin-Nornir. - Nornir initialization looks in the DEFAULT_DISPATCHER map for the platform slug from nornir-nautobot mapping.
- Merge this mapping with anything directly configured in Golden Config dispatcher mapping.
- Load the dispatcher based on slug, or load the default dispatcher if the dictionary mapping doesn't include it.
- The default dispatcher by default uses NAPALM and attempts to load the getter. Alternatively there is a
default_netmiko
dispatcher that will default to loading the driver via Netmiko instead of NAPALM.
This error is actually generated here in the NAPALM core code.
Some steps to consider to troubleshooting this:
-
PIP install the NAPALM plugin into the Nautobot environment from PYPI.
As an example if you wanted to use NAPALMs Palo Alto plugin you'd need that library installed in the environment.
-
Is the platform slug being used something that is handled by default?
Check the default dispatcher network os driver name. Change your platforms slug to match the default naming which is following the driver names from Netmiko.