summaryrefslogtreecommitdiff
path: root/lib/oxidized
AgeCommit message (Collapse)Author
2014-02-28Remove useless initializationSaku Ytti
2014-02-28Rescue all StandardError from modulesSaku Ytti
If module crashes with unexpected error class, rescue it, and write it backtrace Also log if unknown model is attempted instead of crash
2014-02-27Slightly less ugly nodes pageSaku Ytti
2014-02-27Redirect / to /nodesSaku Ytti
2014-02-27Switch to syslog instead of fileSaku Ytti
1.9.3 does not have Syslog::Logger so in 1.9.3 keep on logging to files
2014-02-26Switch OpenStruct#to_h to #marshal_dump for 1.9Saku Ytti
1.9 does not have #to_h, unnecessarily breaks compatibility downwards
2014-02-25Fix crashes on missing configSaku Ytti
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
2014-02-25Remove Mutex#owned? It is incompatible with 1.9.3Saku Ytti
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.
2014-02-23Fix sleep and return ability to not run rest/webSaku Ytti
2014-02-23Migrate to sinatra/puma from webrickSaku Ytti
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
2014-02-20Figure out which parent class we rescuedSaku Ytti
Rakefile changes Bump up gemspec version
2014-02-10Handle exceptions with different log levelsSaku Ytti
2014-02-07Add AOS (ALU OmniSwitch) supportSaku Ytti
Specifically AOS 6, vxworks era, not linux era 7
2014-02-07Ignore ssh keys, change input exceptionsSaku Ytti
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.
2013-10-26set group to nil if no group is definednopedial
2013-10-26fix logicnopedial
2013-10-26cleanup ascii API outputnopedial
2013-10-26clean ascii API outputnopedial
2013-10-26add primitive plain ascii API output supportnopedial
2013-10-26add fetch API to git outputnopedial
2013-10-25Fix fetch methodSaku Ytti
2013-10-24Merge https://github.com/p-sherratt/oxidized workSaku Ytti
* IOS model conditional support for enable password * rest_client fix * rescue more errors in ssh
2013-10-23finalize fetch API callnopedial
2013-10-15Update file.rbSamer Abdel-Hafez
2013-10-15fix fetch search and broken outputnopedial
2013-10-15enhance fetch supportnopedial
2013-10-14implement fetch into output modelnopedial
2013-10-10add check and rescue for fetch paramsnopedial
2013-10-10primitive ascii configuration fetch APInopedial
2013-09-06more errors to rescue fromPaul Sherratt
2013-09-05filter mpls te bandwidth line from config if auto-bw is configured, and ↵p-sherratt
always attempt to enable if :enable password is configured
2013-05-12add rescue for Errno::EHOSTUNREACH in input/ssh.rbnopedial
2013-05-12models enhancenopedial
2013-05-01Net::ReadTimeout is ruby 2.0.0 specificSaku Ytti
use TimeoutError for compatibility
2013-05-01add latest changesSamer Abdel-Hafez
2013-05-01Add Model#expect, support block at post/pre configSaku Ytti
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.
2013-04-29Fix README.md and add cmd to powerconnect modelSamer Abdel-Hafez
2013-04-29Catch 'Errno::ECONNRESET' in Telnet#cmdSaku Ytti
Some devices might throw us out, while we are waiting for command to compelete
2013-04-27Add models and README.mdnopedial
2013-04-27Fix connction reset on disconnectSaku Ytti
Dell Powerconnect does this
2013-04-27Fix timeout on receiving command from inputSaku Ytti
2013-04-261.9/2.0 compatibility fix + syslogd cleanupSaku Ytti
2013-04-26Fix: telnet exceptions, broken json/ext, typoSaku Ytti
Kudos to Samer Abdel-Hafez for noticing
2013-04-24Remove Sequel modelSaku Ytti
No point creating the model for one-off use, especially with dodgy dynamic consts
2013-04-24Remove useless aliasesSaku Ytti
2013-04-21Dont reimplement 'cmd', call #cmd from #getSaku Ytti
2013-04-21run Model::cmd(:all) for Model#cmd as wellSaku Ytti
2013-04-21Run 'main' method if it existsSaku Ytti
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.
2013-04-21rename 'update' to 'store'Saku Ytti
'store' is more logical, as we cannot know if output method guarantees any version history which 'update' implies.
2013-04-21Add input method fallback, e.g. if ssh does not work, try telnetSaku Ytti