From 61b7cf367be118aef2ed2658dd31886716797aa3 Mon Sep 17 00:00:00 2001 From: Javi Fontan Date: Wed, 8 Sep 2010 17:57:17 +0200 Subject: [PATCH] Stop im probes execution on error --- src/im_mad/remotes/kvm.d/kvm.rb | 4 ++++ src/im_mad/remotes/run_probes | 19 +++++++++++++++++++ src/im_mad/remotes/xen.d/xen.rb | 3 +++ 3 files changed, 26 insertions(+) diff --git a/src/im_mad/remotes/kvm.d/kvm.rb b/src/im_mad/remotes/kvm.d/kvm.rb index 3de95e2733..bc88f58b00 100755 --- a/src/im_mad/remotes/kvm.d/kvm.rb +++ b/src/im_mad/remotes/kvm.d/kvm.rb @@ -27,6 +27,7 @@ end ###### nodeinfo_text = `virsh -c qemu:///system nodeinfo` +exit(-1) if $?!=0 nodeinfo_text.split(/\n/).each{|line| if line.match('^CPU\(s\)') @@ -45,6 +46,8 @@ nodeinfo_text.split(/\n/).each{|line| NETINTERFACE = "eth1" top_text=`top -bin2` +exit(-1) if $?!=0 + top_text.gsub!(/^top.*^top.*?$/m, "") # Strip first top output top_text.split(/\n/).each{|line| @@ -73,6 +76,7 @@ top_text.split(/\n/).each{|line| $free_memory=`free -k|grep "buffers\/cache"|awk '{print $4}'` net_text=`cat /proc/net/dev` +exit(-1) if $?!=0 net_text.split(/\n/).each{|line| if line.match("^ *#{NETINTERFACE}") diff --git a/src/im_mad/remotes/run_probes b/src/im_mad/remotes/run_probes index f92bcd6564..0112759db1 100755 --- a/src/im_mad/remotes/run_probes +++ b/src/im_mad/remotes/run_probes @@ -29,6 +29,11 @@ function run_dir { for i in `ls *`;do if [ -x "$i" ]; then ./$i + EXIT_CODE=$? + if [ "x$EXIT_CODE" != "x0" ]; then + echo "Error executing $i" 1>&2 + exit $EXIT_CODE + fi fi done ) @@ -36,9 +41,23 @@ function run_dir { data=$( run_dir 'common.d' + + EXIT_CODE=$? + + if [ "x$EXIT_CODE" != "x0" ]; then + exit $EXIT_CODE + fi + if [ -d "$HYPERVISOR_DIR" ]; then run_dir $HYPERVISOR_DIR fi ) +EXIT_CODE=$? + echo $data | tr '\n' ' ' + +if [ "x$EXIT_CODE" != "x0" ]; then + exit $EXIT_CODE +fi + diff --git a/src/im_mad/remotes/xen.d/xen.rb b/src/im_mad/remotes/xen.d/xen.rb index eec3a66ce8..e03283752b 100755 --- a/src/im_mad/remotes/xen.d/xen.rb +++ b/src/im_mad/remotes/xen.d/xen.rb @@ -27,7 +27,10 @@ def print_info(name, value) end xentop_text=`sudo #{XENTOP_PATH} -bi2` +exit(-1) if $?!=0 + xm_text=`sudo #{XM_PATH} info` +exit(-1) if $?!=0 xentop_text.gsub!(/^xentop.*^xentop.*?$/m, "") # Strip first top output xentop_text.gsub!("no limit", "no_limit")