Move variables in manifests/site.pp to top of file

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
This commit is contained in:
K Jonathan Harker 2014-06-03 17:28:27 -07:00
parent 1a47af3bde
commit ad431b7700
2 changed files with 26 additions and 12 deletions

View File

@ -1,3 +1,20 @@
#
# Top-level variables
#
# There must not be any whitespace between this comment and the variables or
# in between any two variables in order for them to be correctly parsed and
# passed around in test.sh
#
$elasticsearch_nodes = [
'elasticsearch01.openstack.org',
'elasticsearch02.openstack.org',
'elasticsearch03.openstack.org',
'elasticsearch04.openstack.org',
'elasticsearch05.openstack.org',
'elasticsearch06.openstack.org',
'elasticsearch07.openstack.org',
]
#
# Default: should at least behave like an openstack server
#
@ -244,16 +261,6 @@ node 'wiki.openstack.org' {
}
}
$elasticsearch_nodes = [
'elasticsearch01.openstack.org',
'elasticsearch02.openstack.org',
'elasticsearch03.openstack.org',
'elasticsearch04.openstack.org',
'elasticsearch05.openstack.org',
'elasticsearch06.openstack.org',
'elasticsearch07.openstack.org',
]
node 'logstash.openstack.org' {
class { 'openstack_project::logstash':
sysadmins => hiera('sysadmins', ['admin']),

11
test.sh
View File

@ -8,7 +8,14 @@ if [ ! -d applytest ] ; then
fi
csplit -sf applytest/puppetapplytest manifests/site.pp '/^$/' {*}
sed -i -e 's/^[^[:space:]]/#&/g' applytest/puppetapplytest*
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
find applytest -name 'puppetapplytest*' -print0 | xargs -0 -P $(nproc) -n 1 -I filearg sudo puppet apply --modulepath=${MODULE_PATH} --noop --verbose --debug filearg > /dev/null
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