Skip to content

Commit

Permalink
fix timeout decorator after scrapli core update
Browse files Browse the repository at this point in the history
  • Loading branch information
carlmontanari committed Jul 30, 2022
1 parent 4ae49ed commit 78a7daa
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 12 deletions.
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
lxml>=4.5.1,<5.0.0
scrapli>=2022.01.30a2
scrapli>=2022.07.30
8 changes: 3 additions & 5 deletions scrapli_netconf/channel/async_channel.py
Original file line number Diff line number Diff line change
@@ -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
Expand Down Expand Up @@ -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
Expand All @@ -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:
Expand Down
8 changes: 8 additions & 0 deletions scrapli_netconf/channel/base_channel.py
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
10 changes: 4 additions & 6 deletions scrapli_netconf/channel/sync_channel.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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:
Expand Down Expand Up @@ -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
Expand All @@ -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:
Expand Down

0 comments on commit 78a7daa

Please sign in to comment.