From 3482b19554bed197ef3fd423c797ecec58af94e2 Mon Sep 17 00:00:00 2001 From: jbjohnso Date: Fri, 9 Jul 2010 18:18:15 +0000 Subject: [PATCH] -Sometimes extracting a view on an inprogress task can go awry if the task completes in the middle of thinking ignore that case git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@6695 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd --- xCAT-server/lib/xcat/plugins/esx.pm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/xCAT-server/lib/xcat/plugins/esx.pm b/xCAT-server/lib/xcat/plugins/esx.pm index 151ed77a3..5fc7822bf 100644 --- a/xCAT-server/lib/xcat/plugins/esx.pm +++ b/xCAT-server/lib/xcat/plugins/esx.pm @@ -760,8 +760,13 @@ sub process_tasks { } if ($state eq 'running' and not $running_tasks{$_}->{questionasked}) { # and $curt->info->progress == 95) { #This is unfortunate, there should be a 'state' to indicate a question is blocking #however there isn't, so if we see something running at 95%, we just manually see if a question blocked the rest - my $vm = $curcon->get_view(mo_ref=>$curt->info->entity); - if ($vm->{summary} and $vm->summary->{runtime} and $vm->summary->runtime->{question} and $vm->summary->runtime->question) { + my $vm; + $@=""; + eval { + $vm = $curcon->get_view(mo_ref=>$curt->info->entity); + }; + if ($@) { $vm = 0; } + if ($vm and $vm->{summary} and $vm->summary->{runtime} and $vm->summary->runtime->{question} and $vm->summary->runtime->question) { $running_tasks{$_}->{questionasked}=1; $running_tasks{$_}->{callback}->($curt,$running_tasks{$_}->{data},$vm->summary->runtime->question,$vm); }