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
This commit is contained in:
Spencer Krum 2015-03-24 11:05:47 -07:00
parent e82e1c511d
commit 284749fb4d
2 changed files with 27 additions and 2 deletions

View File

@ -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

23
tools/test_puppet_apply.sh Executable file
View File

@ -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