You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
added message to timeout decorator to be more clear why/where things time out
migrated away from signals (yay for windows i guess) for decorator -- due to systemssh doing things in new procs signal wouldn't work there, new implementation is concurrent futures threads
added timeout_exit to kill connections if timeout occurs (or not)
a little bit better/more logging especially in decorator (more to go for sure though)
updated all core drivers to reflect on_open/on_close callabales, removed "exit_command" entirely
simplified network driver due to moving to on_open/on_close
modified netowrk driver send_commands to only accept a list of commands to send, added send_command which only accepts a single command
due to above change only return a list of responses if using send_commands -- if using send_command just return a response object
added exception for keepalive failure -- raised by keepalive thread if/when keepalives are missed for > 3x the keepalive interval -- this may need to get changed/tweaked in the future and/or add a keepalive_exit flag like the timeout
textfsm_parse_output no longer updates the response object w/ results (in place operation), it now returns results and there is no "structured_result" attribute of the response object
removed external function validation stuff from helper -- was neat maybe but not necessary for now, on_open/on_close simply accept callables no need to parse a text string to try to import things... could be added back in the future easy enough if it seems useful
transport base class now has a useful init method that sub classes can super
transport child classes that create a socket (paramiko/ssh2) now do so via composition instead of inheritance -- mro was just annoying, plus couldnt (easily? at all?) super w/ different args to transport vs socket (didnt look hard, composition seems fine)
systemssh/telnet transport store channel args needed for authenticaiton (prompt pattern/ansi/return char) as private args now. they are used for initial auth then ignored...
systemssh ssh args/open cmd improvements
add keepalive for systemssh/telnet (network only)
systemssh/telnet store _timeout_ops (channel timeout basically) as a private arg for same reasons as the auth stuff -- timeout authentication things, this is ignored after auth occurs
systemssh improved pty authentication handling
driver/driver (scrape) now doesnt store most arguments passed to it in the object itself -- they are instead stored in _initialization_args and passed to the channel and transport as needed