fix: submodules drivers load for custom napalm packages #58
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request includes several changes to enhance the discovery of NAPALM drivers and improve the testing framework. The most important changes include the addition of a new function to walk through NAPALM packages, modifications to the
napalm_driver_list
function, and updates to the test cases to ensure comprehensive coverage.Enhancements to NAPALM driver discovery:
device-discovery/device_discovery/discovery.py
: Added thewalk_napalm_packages
function to walk through directory trees and identify NAPALM network driver classes.device-discovery/device_discovery/discovery.py
: Modified thenapalm_driver_list
function to use the newwalk_napalm_packages
function for discovering additional NAPALM drivers.Dependency updates:
device-discovery/pyproject.toml
: Removed theimportlib-metadata
dependency as it is no longer needed.Improvements to test cases:
device-discovery/tests/test_discovery.py
: Added new test cases to validate the functionality of thewalk_napalm_packages
function, including scenarios for successful discovery, no drivers found, and exception handling.device-discovery/tests/test_discovery.py
: Updated existing test cases to mock thepackages_distributions
function and ensure compatibility with the new implementation. [1] [2]