diff --git a/requirements.txt b/requirements.txt index ae59fd6..340ef50 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,2 @@ lxml>=4.5.1,<5.0.0 -scrapli>=2022.01.30a2 +scrapli>=2022.07.30 diff --git a/scrapli_netconf/channel/async_channel.py b/scrapli_netconf/channel/async_channel.py index ca3762e..46479d1 100644 --- a/scrapli_netconf/channel/async_channel.py +++ b/scrapli_netconf/channel/async_channel.py @@ -1,7 +1,7 @@ """scrapli_netconf.channel.async_channel""" from scrapli.channel import AsyncChannel from scrapli.channel.base_channel import BaseChannelArgs -from scrapli.decorators import ChannelTimeout +from scrapli.decorators import timeout_wrapper from scrapli.transport.base.async_transport import AsyncTransport from scrapli_netconf.channel.base_channel import BaseNetconfChannel, NetconfBaseChannelArgs from scrapli_netconf.constants import NetconfVersion @@ -44,9 +44,7 @@ async def open_netconf(self) -> None: self._process_capabilities_exchange(raw_server_capabilities=raw_server_capabilities) await self._send_client_capabilities() - @ChannelTimeout( - "timed out determining if session is authenticated/getting server capabilities", - ) + @timeout_wrapper async def _get_server_capabilities(self) -> bytes: """ Read until all server capabilities have been sent by server @@ -72,7 +70,7 @@ async def _get_server_capabilities(self) -> bytes: self.logger.debug(f"received raw server capabilities: {repr(capabilities_buf)}") return capabilities_buf - @ChannelTimeout("timed out sending client capabilities") + @timeout_wrapper async def _send_client_capabilities( self, ) -> None: diff --git a/scrapli_netconf/channel/base_channel.py b/scrapli_netconf/channel/base_channel.py index 22684f6..f642f8f 100644 --- a/scrapli_netconf/channel/base_channel.py +++ b/scrapli_netconf/channel/base_channel.py @@ -6,9 +6,17 @@ from lxml import etree from scrapli.channel.base_channel import BaseChannel +from scrapli.decorators import FUNC_TIMEOUT_MESSAGE_MAP from scrapli_netconf.constants import NetconfClientCapabilities, NetconfVersion, XmlParserVersion from scrapli_netconf.exceptions import CapabilityNotSupported, CouldNotExchangeCapabilities +FUNC_TIMEOUT_MESSAGE_MAP[ + "_get_server_capabilities" +] = "timed out determining if session is authenticated/getting server capabilities" +FUNC_TIMEOUT_MESSAGE_MAP[ + "channel_authenticate_netconf" +] = "timed out during in channel netconf authentication" + @dataclass() class NetconfBaseChannelArgs: diff --git a/scrapli_netconf/channel/sync_channel.py b/scrapli_netconf/channel/sync_channel.py index 641dd71..9bb8a09 100644 --- a/scrapli_netconf/channel/sync_channel.py +++ b/scrapli_netconf/channel/sync_channel.py @@ -4,7 +4,7 @@ from scrapli.channel import Channel from scrapli.channel.base_channel import BaseChannelArgs -from scrapli.decorators import ChannelTimeout +from scrapli.decorators import timeout_wrapper from scrapli.exceptions import ScrapliAuthenticationFailed, ScrapliTimeout from scrapli.transport.base import Transport from scrapli_netconf.channel.base_channel import BaseNetconfChannel, NetconfBaseChannelArgs @@ -70,7 +70,7 @@ def _authenticate_check_hello(buf: bytes) -> bool: return True return False - @ChannelTimeout("timed out during in channel netconf authentication") + @timeout_wrapper def channel_authenticate_netconf( self, auth_password: str, auth_private_key_passphrase: str ) -> None: @@ -132,9 +132,7 @@ def channel_authenticate_netconf( ) return - @ChannelTimeout( - "timed out determining if session is authenticated/getting server capabilities", - ) + @timeout_wrapper def _get_server_capabilities(self) -> bytes: """ Read until all server capabilities have been sent by server @@ -160,7 +158,7 @@ def _get_server_capabilities(self) -> bytes: self.logger.debug(f"received raw server capabilities: {repr(capabilities_buf)}") return capabilities_buf - @ChannelTimeout("timed out sending client capabilities") + @timeout_wrapper def _send_client_capabilities( self, ) -> None: