Age | Commit message (Collapse) | Author |
|
Oxidized would throw:
----
/var/lib/gems/2.1.0/gems/oxidized-0.7.2/lib/oxidized/jobs.rb:36:in `to_i': NaN (FloatDomainError)
from /var/lib/gems/2.1.0/gems/oxidized-0.7.2/lib/oxidized/jobs.rb:36:in `new_count'
from /var/lib/gems/2.1.0/gems/oxidized-0.7.2/lib/oxidized/jobs.rb:28:in `duration'
from /var/lib/gems/2.1.0/gems/oxidized-0.7.2/lib/oxidized/jobs.rb:16:in `initialize'
from /var/lib/gems/2.1.0/gems/oxidized-0.7.2/lib/oxidized/worker.rb:7:in `new'
from /var/lib/gems/2.1.0/gems/oxidized-0.7.2/lib/oxidized/worker.rb:7:in `initialize'
from /var/lib/gems/2.1.0/gems/oxidized-0.7.2/lib/oxidized/core.rb:21:in `new'
from /var/lib/gems/2.1.0/gems/oxidized-0.7.2/lib/oxidized/core.rb:21:in `initialize'
from /var/lib/gems/2.1.0/gems/oxidized-0.7.2/lib/oxidized/core.rb:12:in `new'
from /var/lib/gems/2.1.0/gems/oxidized-0.7.2/lib/oxidized/core.rb:12:in `new'
from /var/lib/gems/2.1.0/gems/oxidized-0.7.2/lib/oxidized/cli.rb:9:in `run'
from /var/lib/gems/2.1.0/gems/oxidized-0.7.2/bin/oxidized:9:in `<top (required)>'
from /usr/local/bin/oxidized:23:in `load'
from /usr/local/bin/oxidized:23:in `<main>'
---
When nodes.size == 0, this may happen when you have say one node in router.db which has non-existing model. Actual problem happens in jobs.rb:
@duration = @durations.inject(:+).to_f / @nodes.size
...
@want = ((@nodes.size * @duration) / @interval).to_i
Simplified:
a = 0.0 / 0
b = a.to_i
|
|
The current implementation is modular and allows users to define hooks
in several ways:
* Use one of the built-in hook types (currently only 'exec')
* Define their own Hook classes inside ~/.config/oxidized/hook
Exec hook type runs a user defined command with or without shell. It
populates a bunch of environment variables with metadata. The command
can either be run as synchronous or asynchronous. The default is
synchronous.
|
|
|
|
|
|
|
|
|
|
(new behavior in net-ssh 2.9.3)
|
|
|
|
|
|
|
|
Require rugged for lib/oxidized/output/git.rb
|
|
|
|
|
|
|
|
|
|
|
|
+ bumpup gemspec
|
|
|
|
We need to return value of 'r' instead of value of previous evaluation.
|
|
- actually start to follow semantic version
- a.b.c a == major, b == minor c == patch
- c only for bug-fixes etc
- b for non-breaking new features
- a for breaking new featires
- a == 0 is special, can break anywhere
- http://semver.org
- add more specific version restrictions for gems
|
|
We are doing this in sql.rb
:user => @cfg.sql.user?
:password => @cfg.sql.password?
As 'asetus' will accept arbitrary chain
@cfg.sql.one.two.three
it is clear that 'one' or 'two' cannot _ever_ return nil/false,
otherwise you cannot create 'three'.
So if there isn't value of one/two, instance of 'asetus' is returned,
upon which we can build two, and then tree'.
one?, two?, three? version existed in old asetus, as strict boolean test
@cfg.sql.one? would return true, false or nil
In newer version, instead of returning true, it returns actual value.
|
|
|
|
|
|
|
|
|
|
|
|
In new method, where we no long explicitly set loaded class name for
later resolution we depend on file name being same as class name.
However for File output, this is not true, because I didn't want plain
File in code to resolve to Oxidized::File, and din't want to always
write ::File, File ouput has class name OxFile.
This change allows class names to start optionally with string
'Oxidized' if so, they still match.
|
|
|
|
|
|
We probably should just axe Node#last, as Node#stats contains all it
does and more.
However it would need changing web views and I'm too lazy for that right
now.
Perhaps Nodes/Node also needs some unique ID so two instances of Nodes
can be compared exactly. Right now copying the old stats relies on name
being identical, but can we trust name to be unique? Even with groups
support?
|
|
Bumpup gemspec
|
|
- we need config/vars before model
- some whitespace changes
Bump up gemspec
|
|
1) ssh fails
2) user clicks 'update'
3) node is reset and moved head of queue
4) telnet fails
5) node last time is set to current
net result, head of queue will block until interval has passed, even
though below head there are nodes which need to be processed.
|
|
It's useful to run interactively during startup, to get the helpful
messages about missing stuff.
|
|
It is now separately in oxidized-web package
|
|
Not every installation will use git + sql. Try to give helpful error
message on missing dependencies.
|
|
|
|
|
|
|
|
Change models to Asetus syntax
|
|
Main benefits
a) we get support for system wide configs
b) we don't use symbols in config file, they're confusing to
non-rubyist
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
At least I hope it fixes #10, since I didn't figure out how to introduce
10s I/O latency to confirm.
|
|
Block must return string, it returned nil which broke it.
Also coerce type to string in future, so block won't fail so
catastrophically, just output missing.
|