ad431b7700
Put the variables defined in manifests/site.pp at the top of the file so that they are in a known location after running csplit in test.sh and we can prepend them to the puppet-apply top files. A better solution would be to move this data into hiera, but this is not sensitive data, so a move to hiera should wait until we a have solution for a public hiera data repo separate from the private hiera data. Change-Id: I509a8266462dfdf53e1727938e4fb043241166b6
22 lines
752 B
Bash
Executable File
22 lines
752 B
Bash
Executable File
#!/bin/bash -e
|
|
|
|
ROOT=$(readlink -fn $(dirname $0))
|
|
MODULE_PATH="${ROOT}/modules:/etc/puppet/modules"
|
|
|
|
if [ ! -d applytest ] ; then
|
|
mkdir applytest
|
|
fi
|
|
|
|
csplit -sf applytest/puppetapplytest manifests/site.pp '/^$/' {*}
|
|
sed -i -e 's/^[^][:space:]$]/#&/g' applytest/puppetapplytest*
|
|
sed -i -e 's@hiera(.\([^.]*\).,\([^)]*\))@\2@' applytest/puppetapplytest*
|
|
mv applytest/*00 applytest/head # These are the top-level variables defined in site.pp
|
|
|
|
for f in `find applytest -name 'puppetapplytest*' -print` ; do
|
|
cat applytest/head $f > $f.final
|
|
done
|
|
|
|
find applytest -name 'puppetapplytest*.final' -print0 | \
|
|
xargs -0 -P $(nproc) -n 1 -I filearg \
|
|
sudo puppet apply --modulepath=${MODULE_PATH} --noop --verbose --debug filearg > /dev/null
|