Support for NDFC #152
Conversation
- Migrate NDFC client to new controller structure using httpx - Implement MSD fabric detection and topology handling - Add VPC filtering with embedded interface data - Update CLI to support NDFC with domain and fabric_name parameters - Create comprehensive NDFC endpoints configuration - Maintain compatibility with existing VPC and MSD features
121407a to
ee1889e
Compare
| raise typer.Exit(1) | ||
|
|
||
| output_file = output or "nac-collector.zip" | ||
| fabric_name = os.getenv("NDFC_FABRIC_NAME") |
There was a problem hiding this comment.
i think that should be in the ndfc code, not in the main
…le roots and improve member collection
…or improved clarity and type safety
| lib64/ | ||
| parts/ | ||
| sdist/ | ||
| var/ |
There was a problem hiding this comment.
is there any reason why you remove this from .gitignore? , those standard packaging ignores should be kept ignored
| def authenticate(self) -> bool: | ||
| """ | ||
| Authenticate with NDFC using the credentials provided. | ||
| Uses the /logon endpoint for NDFC authentication. |
There was a problem hiding this comment.
shouldn't that be /login ?
| processed_count, | ||
| ) | ||
|
|
||
| def _process_serial_interface_children( |
There was a problem hiding this comment.
I don't see that being referenced anywhere, looks like this code is never executed
| logger.error("Authentication error: %s", str(e)) | ||
| return False | ||
|
|
||
| def collect_data(self, endpoints_file: str) -> dict[str, Any]: |
There was a problem hiding this comment.
dead code, I dont see its being executed anywhere, even though NDFC Documentation.md says its EntryPOint
| raise typer.Exit(1) | ||
|
|
||
| output_file = output or "nac-collector.zip" | ||
| fabric_name = os.getenv("NDFC_FABRIC_NAME") |
|
|
||
| elif parent_name == "Discovered_Switches": | ||
| self._process_switch_interfaces(parent_endpoint, endpoint_dict) | ||
| elif parent_name in self.PORT_CHANNEL_INTERFACE_TYPES: |
There was a problem hiding this comment.
this code needs TrunkPort-Channel or AccessPort-Channel but i think those names will never appear cause parent_names looking at ndfc.yaml can be:
MSD_Fabric_Associations, Fabric_Configuration, Discovered_Switches,
VPC_Pairs, Policies, VRF_Configuration, Network_Configuration
so this path is never taken
Adding support for NDFC with a single fabric and MSD family.