diff --git a/hyperglass/constants.py b/hyperglass/constants.py index 72576d9..04c3368 100644 --- a/hyperglass/constants.py +++ b/hyperglass/constants.py @@ -76,8 +76,6 @@ SCRAPE_HELPERS = { } DRIVER_MAP = { - "frr_legacy": "hyperglass_agent", - "bird_legacy": "hyperglass_agent", "bird": "netmiko", "frr": "netmiko", "http": "hyperglass_http_client", diff --git a/hyperglass/execution/drivers/ssh_netmiko.py b/hyperglass/execution/drivers/ssh_netmiko.py index 6e6a161..572758b 100644 --- a/hyperglass/execution/drivers/ssh_netmiko.py +++ b/hyperglass/execution/drivers/ssh_netmiko.py @@ -70,6 +70,7 @@ class NetmikoConnection(SSHConnection): "timeout": math.floor(params.request_timeout * 1.25), "session_timeout": math.ceil(params.request_timeout - 1), **global_args, + **self.device.driver_config, } if "_telnet" in self.device.platform: diff --git a/hyperglass/models/config/devices.py b/hyperglass/models/config/devices.py index 819fcaf..c5c091a 100644 --- a/hyperglass/models/config/devices.py +++ b/hyperglass/models/config/devices.py @@ -54,6 +54,7 @@ class Device(HyperglassModelWithId, extra="allow"): structured_output: Optional[StrictBool] directives: Directives = Directives() driver: Optional[SupportedDriver] + driver_config: Dict[str, Any] = {} attrs: Dict[str, str] = {} def __init__(self, **kw) -> None: