Skip to content

Latest commit

 

History

History
56 lines (30 loc) · 3.66 KB

File metadata and controls

56 lines (30 loc) · 3.66 KB
graph LR
    Plugin_Registry_and_Discovery["Plugin Registry and Discovery"]
    Connection_Plugin_Definitions["Connection Plugin Definitions"]
    Inventory_Plugin_Definitions["Inventory Plugin Definitions"]
    Runner_Plugin_Definitions["Runner Plugin Definitions"]
    Connection_Plugin_Definitions -- "registered with" --> Plugin_Registry_and_Discovery
    Inventory_Plugin_Definitions -- "registered with" --> Plugin_Registry_and_Discovery
    Runner_Plugin_Definitions -- "registered with" --> Plugin_Registry_and_Discovery
Loading

CodeBoardingDemoContact

Details

The Plugin System in Nornir is a crucial subsystem that embodies the framework's extensibility, allowing users to integrate custom logic for inventory management, task execution, and device connections. It adheres to the "Plugin/Extension" architectural pattern, centralizing the management and discovery of various plugin types.

Plugin Registry and Discovery

This component is the central hub for Nornir's extensibility. It manages the registration and automatic discovery of all plugin types (inventory, runner, task, connection), ensuring they are accessible throughout the framework. It provides the mechanisms (register, auto_register) for plugins to make themselves known to the Nornir core.

Related Classes/Methods:

Connection Plugin Definitions

This component defines the standardized interfaces, base classes, and potentially default implementations that all Nornir connection plugins must adhere to. These plugins are responsible for establishing, managing, and tearing down connections to network devices or other targets, abstracting the underlying communication protocols.

Related Classes/Methods:

Inventory Plugin Definitions

This component provides the necessary interfaces and base classes for Nornir inventory plugins. These plugins are tasked with loading and managing the inventory of network devices, including host details, group memberships, and associated variables, from various data sources (e.g., files, APIs, databases).

Related Classes/Methods:

Runner Plugin Definitions

This component defines the interfaces and base classes for Nornir runner plugins. These plugins dictate how tasks are executed across the inventory, controlling aspects such as concurrency, parallelism, error handling, and overall execution flow. They abstract the "how" of task execution from the "what" of the task itself.

Related Classes/Methods: