From 284749fb4d92a347961f61747bc983d59a43f7de Mon Sep 17 00:00:00 2001 From: Spencer Krum <nibz@spencerkrum.com> Date: Tue, 24 Mar 2015 11:05:47 -0700 Subject: [PATCH] Print the node definition before apply test This makes it easier to tell which node definition is being evaluated Because xargs -P doesn't do bash functions, some of the apply_test has been moved into test_puppet_apply.sh. All the test snippets and test output is being recorded in files in tools/opt, then catted for the user. Change-Id: I4fb77f93f9e9a7216b62634438a11d8d297bdefe --- tools/apply-test.sh | 6 ++++-- tools/test_puppet_apply.sh | 23 +++++++++++++++++++++++ 2 files changed, 27 insertions(+), 2 deletions(-) create mode 100755 tools/test_puppet_apply.sh diff --git a/tools/apply-test.sh b/tools/apply-test.sh index d0d83843a6..2d6cafe22f 100755 --- a/tools/apply-test.sh +++ b/tools/apply-test.sh @@ -15,7 +15,7 @@ # under the License. ROOT=$(readlink -fn $(dirname $0)/..) -MODULE_PATH="${ROOT}/modules:/etc/puppet/modules" +export MODULE_PATH="${ROOT}/modules:/etc/puppet/modules" export PUPPET_INTEGRATION_TEST=1 @@ -97,4 +97,6 @@ echo "Running apply test on these hosts:" find applytest -name 'puppetapplytest*.final' -print0 find applytest -name 'puppetapplytest*.final' -print0 | \ xargs -0 -P $(nproc) -n 1 -I filearg \ - sudo puppet apply --modulepath=${MODULE_PATH} --color=false --noop --verbose --debug filearg > /dev/null + ./tools/test_puppet_apply.sh filearg + +cat applytest/*.out diff --git a/tools/test_puppet_apply.sh b/tools/test_puppet_apply.sh new file mode 100755 index 0000000000..ec15a45d12 --- /dev/null +++ b/tools/test_puppet_apply.sh @@ -0,0 +1,23 @@ +#!/bin/bash -eux + +# Copyright 2015 Hewlett-Packard Development Company, L.P. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +file=$1 +fileout=${file}.out +echo "##" > $fileout +cat $file > $fileout +sudo puppet apply --modulepath=${MODULE_PATH} --color=false --noop --verbose --debug $file >/dev/null 2>> $fileout +ret=$? +exit $ret