* Initial integration of sshcollector into Worker::Plugin architecture
* NOT FULLY FUNCTIONAL - this is only to discuss some issues for now
* add NodesBySSH.pm
* update Build.PL and config.yml to integrate the new module
* Further integration of sshcollector into Worker::Plugin architecture
* NOT FULLY FUNCTIONAL - this is only to discuss some issues for now
* added App::Netdisco::Transport::CLI loosely based on ::SNMP counterpart
* switched to the more prevalent two-space tabs style
* removed various TBD items, some new ones
* Further steps to integration of sshcollector into Worker::Plugin architecture
* cleaned up code
* added various error handling
* warning for bin/netdisco-sshcollector deprecation
* device_auth allows passing master_opts to Net::OpenSSH
* netdisco-do -D also toggles Net::OpenSSH debug
* Merged NodesBySSH.pm into Nodes.pm
* see https://github.com/netdisco/netdisco/pull/489#pullrequestreview-205603516
* Further integration of sshcollector into Worker::Plugin architecture
* add snmp_arpnip_also option to sshcollector device_auth
* cleanup code
* Remove big TBD: comment from CLI.pm as doc is updated now
* Improve netdisco-sshcollector CLI experience
* add -d <device>
* add -O debug option to toggle Net::OpenSSH::debug
* add -w MCE::Loop max_workers
* updated POD for all of the above
* Fix -Q documentation
* Specifying -Q multiple times has no effect, removed part talking about that.
* Emit Net::OpenSSH connection failures as warnings
While setting up an sshcollector, I found that the script doesn't handle an
arpless device very gracefully. The log looks like:
[46567] 2018-04-10 16:59:08 warn WARNING: no entries received from <IP>
Can't use string ("1") as an ARRAY ref while "strict refs" in use at perl5/bin/netdisco-sshcollector line 114, <__ANONIO__> line 3.
This is fixed by making the process function always return the expected
structure, even if it's empty. After this error, the following errors showed
up:
[53232] 2018-04-10 17:06:15 warn WARNING: no entries received from <IP>
[53210] 2018-04-10 17:06:15 info [134.71.0.126] arpnip - retrieved 0 entries
Use of uninitialized value in sprintf at perl5/bin/netdisco-sshcollector line 119, <__ANONIO__> line 3.
[53210] 2018-04-10 17:06:15 info arpnip - processed ARP Cache entries from 1 devices
This is because $stats{entry} only becomes an integer by being incremented, so
if there aren't any entries, it never exists. This is fixed by starting it at 0.