ref: refs/heads/master
commit 5a7d821938c4c1cad33f5da72322fe7309468a8f
Author: Stefan Schubert
Date: Tue Jul 14 15:17:05 2009 +0200
limits defined
---
.gitignore | 1 +
plugins/status/app/models/status.rb | 28 +++++++++++++++++++++++++++-
webservice/config/routes.rb | 1 +
3 files changed, 29 insertions(+), 1 deletions(-)
diff --git a/.gitignore b/.gitignore
index e7683df..ac6cb73 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
*~
*.bak
+plugins/status/config/status_limits.yaml
\ No newline at end of file
diff --git a/plugins/status/app/models/status.rb b/plugins/status/app/models/status.rb
index d8c7dfd..d05675c 100644
--- a/plugins/status/app/models/status.rb
+++ b/plugins/status/app/models/status.rb
@@ -1,5 +1,6 @@
class Status < ActiveRecord::Base
require 'scr'
+ require 'yaml'
attr_accessor :data
@@ -8,9 +9,24 @@ class Status < ActiveRecord::Base
@health_status = nil
@data = Hash.new
start_collectd
-# @collectd_base_dir = "/var/lib/collectd/"
@datapath = set_datapath
@metrics = available_metrics
+
+ #find the correct plugin path for the config file
+ @plugin_config_dir = "#{RAILS_ROOT}/config" #default
+ Rails.configuration.plugin_paths.each do |plugin_path|
+ if File.directory?(File.join(plugin_path, "status"))
+ @plugin_config_dir = plugin_path+"/status/config"
+ Dir.mkdir(@plugin_config_dir) unless File.directory?(@plugin_config_dir)
+ break
+ end
+ end
+ @limits = {}
+ @limits = YAML.load(File.open(File.join(@plugin_config_dir, "status_limits.yaml"))) if File.exists?(File.join(@plugin_config_dir, "status_limits.yaml"))
+# @limits = {"load/load/shortterm"=>{ :value=>1.00, :maximum=>true}, "load/load/longterm"=>{:value=>2.0, :maximum=>true}, "load/load/midterm"=>{:value=>3.0, :maximum=>true}}
+# f = File.open(File.join(@plugin_config_dir, "status_limits.yaml"), "w")
+# f.write(@limits.to_yaml)
+# f.close
end
def start_collectd
@@ -141,6 +157,16 @@ class Status < ActiveRecord::Base
end
end
end
+
+ #setting the limits
+ result.each do |key, value|
+ path = rrdfile.chomp(".rrd") + "/" + key
+ if @limits.has_key?(path)
+ result[key] ||= Hash.new
+ result[key].merge!({"limit" => @limits[path] })
+ end
+ end
+
return result
end
end
diff --git a/webservice/config/routes.rb b/webservice/config/routes.rb
index 10b8b7f..94ac35a 100644
--- a/webservice/config/routes.rb
+++ b/webservice/config/routes.rb
@@ -6,4 +6,5 @@ ActionController::Routing::Routes.draw do |map|
# login uses POST for both
map.login "/login.:format", :controller => 'sessions', :action => 'create'
map.logout "/logout.:format", :controller => 'sessions', :action => 'destroy'
+
end
--
To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org
For additional commands, e-mail: yast-commit+help@opensuse.org