Skip to content

Releases: carlmontanari/scrapli

Much improved testing, Telnet improvements, naming improvements, improve all the things!

21 Mar 23:10
Compare
Choose a tag to compare
  • lots of readme updates
  • regen docs
  • makefile adds/tweaks
  • totally overhauled tests to hopefully suck less
  • added "functional" tests -- scrapli is now tested against all core platforms ++ linux
  • improve telnet auth handling
  • improve ssh auth handling
  • minor channel improvements
  • renamed "auth_public_key" -> "auth_private_key" since its actually looking for the... private key...
  • some minor priv clean up for the core drivers
  • improved on_close method for core drivers
  • set telnet username prompts for nxos/junos
  • fixed issue that left failed key auth system sessions hanging
  • actually running coverage against the core drivers now
  • add base configs for vrnetlab functional devices ++ NAPALM to push configs before running tests

More cleanup and minor improvements

08 Mar 23:32
Compare
Choose a tag to compare
  • improve prompt patterns
  • add ssh config file example
  • examples clean up
  • lots of readme changes/improvements
  • lots of docstring clean up
  • channel now has send_input and send_inputs for singular or plural inputs respectively
  • improve unit testing a bit -- more fixtures, try to cover more possible cases
  • NetworkDriver is an ABC as it should be now
  • few random little bug fixes
  • update dev requirement pinned versions
  • regen docs

Internal improvements, API changes to get closer to "stable"

05 Mar 16:09
Compare
Choose a tag to compare
  • improve docs hopefully everywhere basically
  • minor improvements to channel reading
  • 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
  • way way way better repr for scrape
  • significantly better netmiko compatability setup

Transport Keepalives, General Improvements

24 Feb 01:31
dca5373
Compare
Choose a tag to compare

readme updates
add "smoke tests" -- basic helpful scripts i use when making changes
remove unused blocking method from transport
improve auth handling for system ssh
move some things from scrape -> networkdriver where they make more sense
add transport keepalive support
regen docs

SSH Strict Key Checking

18 Feb 01:52
Compare
Choose a tag to compare

Add strict key checking to Paramiko and ssh2-python transport
Add ssh known hosts handling
Example updates/cleanup
Readme updates/cleanup

SSH Config Support Enhancement

15 Feb 03:18
50b58f1
Compare
Choose a tag to compare
  • Readme updates
  • Rename containers
  • Fix telnet and System ssh login timeouts
  • Type/cleanup docstrings for SSH parsing
  • SSH config file support for ssh2 and system

Scrapli!

10 Feb 04:36
Compare
Choose a tag to compare

-rename -> scrapli
-add test telnet support
-support 3.6+ again (named tuple instead of data class)
-rename result->response and reswizzle
-drop TextFSM off of send command, is available via response object
-regen docs
-remove flush as it seemed useless...
-cleanup docstrings (remove noqa stuff)

Feature adds

02 Feb 23:16
Compare
Choose a tag to compare

Generated docs
Added Netmiko compatibility
Improved/added testing (still needs to be redone a bit to make it easier, but progress!)
Added platform drivers (untested other than IOSXE at this point, but as it is mostly a rip from ssh2net it should be solid)
Add to Makefile
Added docker-compose
Dropped py36 to get data classes to use for the privilege levels
Minor API adds (send_interactive in network driver)

Initial release!

02 Feb 01:44
Compare
Choose a tag to compare
2019.02.01

mypy to requirements-dev