From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Jackson Subject: [OSSTEST PATCH 9/9] mg-allocate: In planner mode, pre-check the arguments Date: Thu, 17 Dec 2015 17:06:08 +0000 Message-ID: <1450371968-27997-9-git-send-email-ian.jackson@eu.citrix.com> References: <1450371968-27997-1-git-send-email-ian.jackson@eu.citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1a9c0U-0005uK-5j for xen-devel@lists.xenproject.org; Thu, 17 Dec 2015 17:06:22 +0000 In-Reply-To: <1450371968-27997-1-git-send-email-ian.jackson@eu.citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xenproject.org Cc: Ian Jackson , Ian Campbell List-Id: xen-devel@lists.xenproject.org Now, attempting to allocate a nonexistent host fails immediately with a sensible message, rather than queueing up and then reporting the message only later: mariner:testing.git> OSSTEST_CONFIG=/u/iwj/.xen-osstest/config:local-config.test-database_iwj ./mg-allocate -U 1h spong 2015-12-17 17:05:14 Z pre-checking resources (dry run)... 2015-12-17 17:05:14 Z (precheck) task 196916 static iwj@mariner: iwj@mariner manual *** no candidates for spong! *** mariner:testing.git> Signed-off-by: Ian Jackson --- mg-allocate | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/mg-allocate b/mg-allocate index 54a7af3..3730c23 100755 --- a/mg-allocate +++ b/mg-allocate @@ -238,7 +238,8 @@ sub loggot { foreach @got; } -sub execute () { +sub execute (;$) { + my ($dryrun) = @_; my @got; db_retry($dbh_tests, \@all_lock_tables, sub { @@ -259,10 +260,15 @@ sub execute () { } } + if ($dryrun) { + db_retry_abort(); + return; + } if (!$allok) { die "allocation/deallocation unsuccessful\n"; } }); + return if $dryrun; loggot(@got); logm("done."); } @@ -388,6 +394,11 @@ while (@ARGV && $ARGV[0] =~ m/^[-0-9]/) { } if ($duration) { + { + logm("pre-checking resources (dry run)..."); + local $Osstest::TestSupport::logm_prefix = $logm_prefix.' (precheck)'; + execute(1); + }; plan(); } else { execute(); -- 1.7.10.4