Age | Commit message (Collapse) | Author |
|
1.9.3 does not have Syslog::Logger so in 1.9.3 keep on logging to files
|
|
1.9 does not have #to_h, unnecessarily breaks compatibility downwards
|
|
We now merge user config with bootstrap config ensuring all configuratio
options are set even if not in configuratatin. Allowing us to add new
configuration options, without needing for users to touch their existing
configuration.
All default values are still written to user config when ever CFG.save
is called, which means when you change your output/input/source models
and configuration is missing, instead of just adding the configuration
needed for that particular module, it'll save full config to file.
Don't really think that is a bug, but might be something to fix later on
with maybe parameter to 'save'. Which would load user config, merge it
with 'save' argument level and save user config. But unless someone is
bothered by it, I won't do it.
This commit fixes #1
|
|
I didn't like that solution anyhow, but wasn't sure my locked methods
are not calling other external locked methods.
That shouldn't be the case so synchronize should work.
|
|
|
|
As I can't do IO#select on sinatra/puma to run it when I have time, I
have to run it on separate thread.
This means Nodes container needs to be thread safe, it now has ghetto
mutex locking, but I probably need to be be more focused what are the
external methods that can be called and wrap those in @mutex.synchronize
Provide also HTML UI not just JSON for ghetto UI to people who don't want to
integrate
|
|
Rakefile changes
Bump up gemspec version
|
|
|
|
Specifically AOS 6, vxworks era, not linux era 7
|
|
Now input ssh has configuration secure which is false by default,
meaning we don't care about changing keys. It breaks ssh security model
but rancid does it too.
Also input models error handling is now mostly moved to node.rb for
centralized handling + logging. With input models only defining which
errors they want to receover from.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* IOS model conditional support for enable password
* rest_client fix
* rescue more errors in ssh
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
always attempt to enable if :enable password is configured
|
|
|
|
|
|
use TimeoutError for compatibility
|
|
|
|
Now we can deal with pager and additional PW prompts, such as 'enable'
Examples in IOS model how to use.
The Telnet implementation is particularly fugly, I just need one line in
'waitfor' to handle pager while waiting for prompt, but couldn't figure
out clean way to do it, so needed to rewrit whole Telnet#waitfor just to
add that line.
|
|
|
|
Some devices might throw us out, while we are waiting for command to
compelete
|
|
|
|
Dell Powerconnect does this
|
|
|
|
|
|
Kudos to Samer Abdel-Hafez for noticing
|
|
No point creating the model for one-off use, especially with dodgy
dynamic consts
|
|
|
|
|
|
|
|
Gives alternative, maybe less awkward way to do conditional commands.
You can first use cmd methods to gather stuff you want, then in main
method you could conditional to things based on them, maybe futher call
methods per model.
|
|
'store' is more logical, as we cannot know if output method guarantees
any version history which 'update' implies.
|
|
|
|
'syslog.rb' listed to UDP port (or reads file). When IOS or JunOS style
config change/commit message is seen, it triggers immediate update ot
config
It transports commit message (junos) remote host from which change was
mde (ios) and who made the change (junos+ios). This is carried over to
the 'output' methods, that is, 'git blame' will show IOS/JunOS user-name
who made the change.
|
|
Easier screen-scraping, if each command produces always same set of
cruft that needs to be removed
|
|
|
|
Silly for shit-and-giggles attempt at rancid
|