summaryrefslogtreecommitdiff
path: root/lib/oxidized
AgeCommit message (Collapse)Author
2015-04-01Add match for 35xx Switches, tidy up regexMrRJ45
Added a check for 35xx switches Also extract only on the model number, not the suffix (P or F) as we dont need that.
2015-03-31Some Git libraries cant see initial commitMrRJ45
Using some libraries, in this case pygit2 the initial commit cannot be seen, a change and new commit fixes this. Adding index.write appears to be a simple fix, as confirmed in this rugged issue: https://github.com/libgit2/rugged/issues/441
2015-03-30PowerConnect Model not skipping some detailsMrRJ45
Some PowerConnect models were skipping fine as "Uptime" for example is shown across one line. Some models show this as a heading, and then lines for each stack member and so this was being included in the configuration. This will skip that "section" which is terminated by the next blank line.
2015-03-26rename fileSaku Ytti
2015-03-26remove whitespace, rename classSaku Ytti
2015-03-23Backup full ASA configuration (include passwords)Stefan Schlesinger
At the old version it didn't backup things like ldap passwords, which ended up in output marked as '****'. pre: ldap-login-password ***** now: ldap-login-password wBGqqqCY5SjZ8hY
2015-03-16Remove traces of telnet supportEric
2015-03-16Added support for Mikrotik RouterOSEric
2015-03-14Also fix logout issue as described in #89Eric
2015-03-14Fix terminal length issues with older powerconnect switches as mentioned in ↵Eric
#89. Fixed by sending both commands and allowing one of them to fail.
2015-03-08Merge pull request #88 from brandt/interpret_true_as_no_passwordytti
Add back ability to use passwordless enable on EOS
2015-03-07Add back ability to use passwordless enable on EOSJ. Brandt Buckley
This commit adds the ability to go into Privileged EXEC mode when no password is required by setting `enable: true`. By default, in Arista EOS you aren't prompted for a password when entering Privileged EXEC (or privilege mode 15) mode. In PR #86, oxidized began always expecting a password. An unquoted `true` in YAML is a boolean. So when `var(:enabled)` is `TrueClass`, we interpret this as meaning that the user wishes to go into Privileged EXEC mode and does not require a password.
2015-03-07Fix: Handle missing output fileJ. Brandt Buckley
If no output file is found, return nil. Previously, it would try to find the output file by doing a recursive glob search in the config dir. It would then try to open the file for reading regardless of whether any file was found. I ran into this when I fired up oxidized for the first time and tried to access a switch config on oxidized-web before it had a chance to collect it. In this scenario, you get a stack trace on the switch config page (e.g. `http://oxidized.example.com:8888/node/fetch/switch-001.example.com`): ``` Puma caught this error: undefined method `join' for #<String:0x007f3a3c4283f8> (NoMethodError) /usr/lib64/ruby/gems/2.2.0/gems/sinatra-1.4.5/lib/sinatra/show_exceptions.rb:37:in `rescue in call' /usr/lib64/ruby/gems/2.2.0/gems/sinatra-1.4.5/lib/sinatra/show_exceptions.rb:21:in `call' /usr/lib64/ruby/gems/2.2.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:180:in `call' /usr/lib64/ruby/gems/2.2.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:2014:in `call' /usr/lib64/ruby/gems/2.2.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1478:in `block in call' /usr/lib64/ruby/gems/2.2.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1788:in `synchronize' /usr/lib64/ruby/gems/2.2.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1478:in `call' /usr/lib64/ruby/gems/2.2.0/gems/rack-1.6.0/lib/rack/urlmap.rb:66:in `block in call' /usr/lib64/ruby/gems/2.2.0/gems/rack-1.6.0/lib/rack/urlmap.rb:50:in `each' /usr/lib64/ruby/gems/2.2.0/gems/rack-1.6.0/lib/rack/urlmap.rb:50:in `call' /usr/lib64/ruby/gems/2.2.0/gems/rack-1.6.0/lib/rack/builder.rb:153:in `call' /usr/lib64/ruby/gems/2.2.0/gems/puma-2.11.1/lib/puma/server.rb:507:in `handle_request' /usr/lib64/ruby/gems/2.2.0/gems/puma-2.11.1/lib/puma/server.rb:375:in `process_client' /usr/lib64/ruby/gems/2.2.0/gems/puma-2.11.1/lib/puma/server.rb:262:in `block in run' /usr/lib64/ruby/gems/2.2.0/gems/puma-2.11.1/lib/puma/thread_pool.rb:104:in `call' /usr/lib64/ruby/gems/2.2.0/gems/puma-2.11.1/lib/puma/thread_pool.rb:104:in `block in spawn_thread' ```
2015-03-06Log prompt detection failuresSamer Abdel-Hafez
2015-03-03fixes for EOS switches with enable secret configuredMartin Pels
2015-02-27better prompt for Arista EOSSamer Abdel-Hafez
2015-02-27Minor cosmetic changes and additionsSamer Abdel-Hafez
2015-02-26Resolves #81Florian Hibler
2015-02-26Resolves #80Florian Hibler
2015-02-26Fixing formattingFlorian Hibler
2015-02-26Fixing HUP trapFlorian Hibler
2015-02-24kill -hup reloads nodesSaku Ytti
2015-02-24set_cmd can't be nilSaku Ytti
still not sure if this is the right way to guard non-string blocks...
2015-02-23guard against model returning non-stringSaku Ytti
Return empty string instead of what ever model returned. Closes #63
2015-02-22Give more helpful error message from git errorsSaku Ytti
closes #61
2015-02-22refactor HOLB preventionSaku Ytti
Still not sure we want this. But previous one might have caused infinite loop in #work. Consider we have just 1 node all together, and our rotation interval is more than our MAX_INTER_JOB_GAP, then we'd add @want to 2, instead of 1. Now we want more threads than we have nodes, and 'while @jobs.size < @jobs.want' will never be true
2015-02-22run #duration not #new_countSaku Ytti
@duration isn't set before #duration is ran
2015-02-22Allow node to be removed while collectingSaku Ytti
Closes #68 (hopefully at least) Further, our TODO to refactor/redesign the code to move state from memory to disk should help.
2015-02-21Force new job if too long since last jobSaku Ytti
MAX_INTER_JOB_GAP is now 300s, if latest job was started 300s ago, we add new job. Ratioanele is that if we want n jobs, and all these jobs are taking very very long, or perhaps hanging, then we are blocking everything else too. Consider you have use one job, because it's enough to meet your rotation interval quota. Then some one box is somehow taking tens of minutes or hours, we won't figure out new amount of workers until it finishes, so we're blocking all other jobs from spawning. I'm not super happy about this solution, not really sure what is the right wayt to tackle it.
2015-02-21Increase rolling average viewSaku Ytti
Previously view was 2 nodes, so if average was 7s then some node took 1000s your average would be 503.5s. Now we're looking rolling average of each node, which might not be wise either, perhaps I should limit it to last 100 or 1000 nodes. Since we really don't want another place where we have potentially unbounded amount of state...
2015-02-21allow setting IP from sourceSaku Ytti
sql/csv can now set IP as well as name, useful if you don't have FQDN. If IP is given, then we don't try to resolve name. closes #78
2015-02-19Logout behaviour fixed.fhibler
2015-02-19Password detection fixedfhibler
2015-02-07Added model for Comware based devicesJasper
Added support for Comware based devices from HP (A-series), H3C and 3Com.
2015-01-20stop Aruba changing the diff each 'show inventory'Charlie Allom
Also fix the boilerplate comment to reflect the OEM relationship
2014-12-13Skip commentsSaku Ytti
closes #64
2014-12-03Merge branch 'master' into cfg_as_objectSaku Ytti
2014-10-27model/asa: ASA prompt contains HA Failover state separated by slashesStefan Schlesinger
2014-10-23model/asa: removing >show clock and ignoring uptime in >show versionStefan Schlesinger
2014-10-23model/asa: fixing prompt - hostname regex taken from ios modelStefan Schlesinger
2014-10-02Fixed more ever changing output in powerconnect model, only shows up on some ↵Eric
firmware versions
2014-09-26Removed ever-changing output from powerconnect model, thanks @artmannEric
2014-09-22Added model for cisco NXOSEric
2014-09-22Fixed small bug in powerconnect enable codeEric
2014-08-30Remove ntp clock-period completelySaku Ytti
emj complained that it sometimes pops in, sometimes pops out. I guess really no point having it there.
2014-08-25Return true if node_want is nilJari Salo
- Otherwise all nodes can not be loaded.
2014-08-25Match IP address explicitlyJari Salo
- New method node_want? - Don't match node to node[:name] if node[:name] is an ip address. Otherwise we might match to wrong ip address.
2014-08-24Add Brocade NOSSaku Ytti
2014-08-24Add ExtremeXOSSaku Ytti
2014-08-19Merge branch 'master' into cfg_as_objectSaku Ytti