Age | Commit message (Collapse) | Author |
|
If we use assignment method (#method=) we don't get return value, so we
never know that manager fails to load.
Also we do not want to rescue failures of input/output/source loading,
they are catastrophic and should fail whole process, loading of model is
not catastrophic.
|
|
I probably should figure out how to start rack in the code, so I'd get
caching of the SASS (and in future Coffee) files, instead of Sinatra
generating them always on the fly
|
|
Outputs about what we've seen last in input class. Quite dirty in
telnet, so not sure I'm going to support it. Let's see if there is
use-case for it.
|
|
|
|
If module crashes with unexpected error class, rescue it, and write it
backtrace
Also log if unknown model is attempted instead of crash
|
|
|
|
|
|
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
|
|
|
|
|
|
|