Age | Commit message (Collapse) | Author |
|
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.
|
|
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...
|
|
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
|
|
|
|
|
|
Added support for Comware based devices from HP (A-series), H3C and
3Com.
|
|
Also fix the boilerplate comment to reflect the OEM relationship
|
|
closes #64
|
|
|
|
|
|
|
|
|
|
firmware versions
|
|
|
|
|
|
|
|
emj complained that it sometimes pops in, sometimes pops out. I guess
really no point having it there.
|
|
- Otherwise all nodes can not be loaded.
|
|
- 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.
|
|
|
|
|
|
|
|
Supports 200, 300, 500, and ESW2 series switches
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If set to true, repo will have directory matching model type, instead of
new repo.
|
|
|
|
with 0.19.0 (in rubygem-rugged-0.19.0-4.fc20.x86_64) you'll get this:
/usr/local/share/gems/gems/oxidized-0.2.2/lib/oxidized/output/git.rb:69:in `create': wrong argument type nil (expected Hash) (TypeError)
from /usr/local/share/gems/gems/oxidized-0.2.2/lib/oxidized/output/git.rb:69:in `update_repo'
from /usr/local/share/gems/gems/oxidized-0.2.2/lib/oxidized/output/git.rb:33:in `store'
from /usr/local/share/gems/gems/oxidized-0.2.2/lib/oxidized/worker.rb:37:in `process'
from /usr/local/share/gems/gems/oxidized-0.2.2/lib/oxidized/worker.rb:13:in `block in work'
from /usr/local/share/gems/gems/oxidized-0.2.2/lib/oxidized/worker.rb:13:in `each'
from /usr/local/share/gems/gems/oxidized-0.2.2/lib/oxidized/worker.rb:13:in `work'
from /usr/local/share/gems/gems/oxidized-0.2.2/lib/oxidized/core.rb:36:in `run'
from /usr/local/share/gems/gems/oxidized-0.2.2/lib/oxidized/core.rb:29:in `initialize'
from /usr/local/share/gems/gems/oxidized-0.2.2/lib/oxidized/core.rb:11:in `new'
from /usr/local/share/gems/gems/oxidized-0.2.2/lib/oxidized/core.rb:11:in `new'
from /usr/local/share/gems/gems/oxidized-0.2.2/lib/oxidized/cli.rb:9:in `run'
from /usr/local/share/gems/gems/oxidized-0.2.2/bin/oxidized:9:in `<top (required)>'
from /usr/local/bin/oxidized:23:in `load'
from /usr/local/bin/oxidized:23:in `<main>'
|
|
|
|
If you have
input:
debug: session_log
Then session_log-telnet and session_log-ssh will be created showing what
the telnet/ssh saw. Helpful in model development.
|
|
- now default type is 'nil', which is collapsed to flat config via
Outputs#to_cfg
- if type is not 'nil' then name is automatically set if not set by
model
- if name and type is set, separate file is created
- if name is not set, but type is set, outputs from type are collapsed
as with 'nil' types
This model:
cmd 'show ip cef' do |out|
out.type = 'poop'
out.name = false
out
end
cmd 'show process cpu' do |out|
out.type = 'poop'
out.name = 'my_cpu'
out
end
cmd 'show memory statistics' do |out|
out.type = 'poop'
out.name = false
out
end
cmd 'show ip bgp summary' do |out|
out.type = 'poop'
end
Would produce git output:
[ytti@ytti.fi ~/.config/oxidized]% ls poop
bu.ip.fi bu.ip.fi--cpu bu.ip.fi--show_ip_bgp_summary
[ytti@ytti.fi ~/.config/oxidized]%
bu.ip.fi contains the collapsed stuff
bu.ip.fi--cpu is manually named
bu.ip.fi--show_ip_bgp_summary is automatically named
|
|
Unfortunately, older Foundry/Brocade hardware doesn't support "terminal
length 0" and you have to use the much clunkier "skip-page-display"
instead. This especially affects older FastIron era devices.
|
|
The model will look like this:
cmd 'show ip cef' do |out|
out.type = 'poop'
out
end
cmd 'show process cpu' do |out|
out.type = 'poop'
out
end
cmd 'show memory statistics' do |out|
out.type = 'poop'
out
end
I think it's cleaner.
|
|
These objects have some keys, such as 'type' and 'name', which allows
our output model to discriminate on them.
If ios.rb contains this:
cmd 'show ip cef' do |out|
{ output: out, type: 'poop' }
end
cmd 'show process cpu' do |out|
{ output: out, type: 'poop' }
end
cmd 'show memory statistics' do |out|
{ output: out, type: 'poop' }
end
Our git output looks like this:
[ytti@ytti.fi ~/.config/oxidized]% git clone oxidized.git
Cloning into 'oxidized'...
done.
[ytti@ytti.fi ~/.config/oxidized]% git clone poop.git
Cloning into 'poop'...
done.
[ytti@ytti.fi ~/.config/oxidized]% ls poop
bu.ip.fi--show_ip_cef bu.ip.fi--show_memory_statistics bu.ip.fi--show_process_cpu
[ytti@ytti.fi ~/.config/oxidized]% ls oxidized
bu.ip.fi
[ytti@ytti.fi ~/.config/oxidized]%
Where oxidized repo contains standard config for all unspecified types (type is
then 'cfg'), for all specified types instead of collapsing it into single
string, we store them in 'type' repo with filename including 'name' of the
command.
|
|
|
|
|