I have a template that I'm using to build Memcache configs from. The
template looks like this:
USER="memcached"
MAXCONN="1024"
OPTIONS=""
PIDDIR="/var/run/memcached"
<% cachebins.each_pair do |bin, params| %>
<%= bin.upcase %>_PORT="<%= params['port'] %>"
<%= bin.upcase %>_CACHESIZE="<%= params['cachesize'] %>"
<%= bin.upcase %>_PIDFILE="$PIDDIR/<%= bin %>.pid"
<% end -%>
The hiera config looks like this:
memcache:
default:
port: 11211
cachesize: 64
session:
port: 11212
cachesize: 128
menu:
port: 11213
cachesize: 64
views:
port: 11214
cachesize: 64
filter:
port: 11215
cachesize: 32
users:
port: 11216
cachesize: 32
page:
port: 11217
cachesize: 32
and init.pp looks like this:
$cachebins = hiera('memcache')
file { "memcache_conf":
path => "/etc/sysconfig/memcached",
owner => root,
group => root,
mode => 644,
notify => Service["memcached"],
content => template("memcache/memcached.conf.erb"),
}
The issue is that when the template is compiled, it periodically (and
randomly) gets recompiled in a different order, which causes my notify
statement to fire and restart memcache.
The actual contents don't change, just the order in which the bins are
listed in the template. I was expecting the layout to follow my hiera data
structure, but it seems to glob them in an unordered (and maybe random)
manner when it parses out into the template.
Maybe I'm going about this in the wrong way in terms of importing my hiera
data, but is there a way I can force the template to be built in the same
order every time so that I don't have the file randomly updating and
causing a restart from my notify?
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.