| 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.
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
Ratioinale is, we want to keep it default, but it should be easy for
people to understand what to do, if they don't want it.
Closes #17
 | 
 | 
- we need config/vars before model
- some whitespace changes
Bump up gemspec
 | 
 | 
 | 
 | 
 | 
 | 
Let's raise OxidizedError instead for known dependencies
 | 
 | 
It is now separately in oxidized-web package
 | 
 | 
Will allow convenience methods such as
cmd :all do |cfg|
  cfg.pop.shift
end
instead of:
cmd :all do |cfg|
  cfg.each_line.to_a[1..-2].join
end
And what ever convenience configs we come up with
 | 
 | 
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
 | 
 | 
 | 
 | 
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
 | 
 | 
 | 
 | 
Silly for shit-and-giggles attempt at rancid
 |