On Wed, Apr 03, 2013 at 06:25:58PM +0200, Dejan Muhamedagic wrote:
> Hi,
> 
> On Fri, Mar 22, 2013 at 08:41:30AM +0100, Roman Haefeli wrote:
> > Hi,
> > 
> > When stopping a node of our cluster managing a bunch of OpenVZ CTs, I
> > get a lot of such messages in the syslog:
> > 
> > Mar 20 17:20:44 localhost ManageVE[2586]: ERROR: vzctl status 10002 
> > returned: 10002 does not exist.
> > Mar 20 17:20:44 localhost lrmd: [2547]: info: operation monitor[6] on 
> > opensim for client 2550: pid 2586 exited with return code 7
> > 
> > It looks to me as if lrmd is making sure the CT is not running anymore.
> > However, this triggers ManageVE to print an error.
> 
> Could be. Looking at the RA, there's a bunch of places where the
> status is invoked and where this message could get logged. It
> could be improved. The following patch should help:
> 
> https://github.com/ClusterLabs/resource-agents/commit/ca987afd35226145f48fb31bef911aa3ed3b6015

BTW, why call `vzctl | awk` *twice*,
just to get two items out of the vzctl output?

how about lose the awk, and the second invokation?
something like this:
(should veexists and vestatus be local as well?)

diff --git a/heartbeat/ManageVE b/heartbeat/ManageVE
index 56a3d03..53f9bab 100755
--- a/heartbeat/ManageVE
+++ b/heartbeat/ManageVE
@@ -182,10 +182,12 @@ migrate_from_ve()
 status_ve()
 { 
   declare -i retcode
-
-  veexists=`$VZCTL status $VEID 2>/dev/null | $AWK '{print $3}'`
-  vestatus=`$VZCTL status $VEID 2>/dev/null | $AWK '{print $5}'`
+  local vzstatus
+  vzstatus=`$VZCTL status $VEID 2>/dev/null`
   retcode=$?
+  set -- $vzstatus
+  veexists=$3
+  vestatus=$5
 
   if [[ $retcode != 0 ]]; then
     ocf_log err "vzctl status $VEID returned: $retcode"



[ BTW, what's all the "declare -i" doing in there?
 "local" would have done nicely. ]

_______________________________________________________
Linux-HA-Dev: [email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/

Reply via email to