From ee9ee54e5b31661866a840ae9e6fa76213bcb1b8 Mon Sep 17 00:00:00 2001 From: ellen56 <ellen56@8638fb3e-16cb-4fca-ae20-7b5d299a9bcd> Date: Fri, 11 Mar 2011 07:04:37 +0000 Subject: [PATCH] fix defect 3152286 git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@9030 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd --- xCAT-server/lib/xcat/plugins/nodestat.pm | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/xCAT-server/lib/xcat/plugins/nodestat.pm b/xCAT-server/lib/xcat/plugins/nodestat.pm index 54482de6c..b561aceeb 100644 --- a/xCAT-server/lib/xcat/plugins/nodestat.pm +++ b/xCAT-server/lib/xcat/plugins/nodestat.pm @@ -1095,18 +1095,18 @@ sub process_request { my $oldappstatus=$stuff->{$node1}->[0]->{'appstatus'}; my $newappstatus=$status->{$node1}->{'appsd'}; - if ($newappstatus) { - if ((!$oldappstatus) || ($newappstatus ne $oldappstatus)) { - $status1->{$node1}->{appstatus}= $newappstatus; - $status1->{$node1}->{appstatustime}= $currtime; - } - } - else { - if ($oldappstatus) { - $status1->{$node1}->{appstatus}= ""; - $status1->{$node1}->{appstatustime}= ""; - } - } + while ($newappstatus =~ /(\w+)\=(\w+)/) { + my $tmp1=$1; + my $tmp2=$2; + if($oldappstatus =~ /$tmp1\=/){ + $oldappstatus =~ s/$tmp1\=\w+/$tmp1\=$tmp2/g; + }else{ + $oldappstatus = $oldappstatus."\,$tmp1\=$tmp2"; + } + $newappstatus =~ s/(\w+)\=(\w+)//g; + } + $status1->{$node1}->{appstatus}= $oldappstatus; + $status1->{$node1}->{appstatustime}= $currtime; } #print Dumper($status1); $nodetab->setNodesAttribs($status1);