Silly question: Why not use https://forge.puppet.com/modules/puppetlabs/ntp ? _______________________________________________________ Dan White : [email protected] “Sometimes I think the surest sign that intelligent life exists elsewhere in the universe is that none of it has tried to contact us.” Bill Waterson (Calvin & Hobbes)
> On Mar 28, 2023, at 10:30 AM, Laci D <[email protected]> wrote: > > I tried both epp and erb templates. > > This is the manifest file: > > class site::profiles::ntp { > $ntp = hiera_hash('ntp') > > case $::operatingsystem { > 'freebsd': { > file { "/etc/ntp.conf": > ensure => file, > recurse => true, > purge => true, > force => true, > owner => "root", > group => 0, > mode => "0644", > content => template('site/ntp/ntp.conf.epp'), > #content => template('site/ntp/ntp.conf.erb'), > } > service { 'ntpd': > ensure => 'running', > enable => true, > } > service { 'ntpdate': > enable => true, > } > } > default: { > > class { 'ntp': > servers => $ntp['servers'], > } > > } > } > } > > > The template: > > templates/ntp/ntp.conf.epp > <% @ntp[’servers’].each { |server| -%> > server: <%= server %> > <% } -%> > > And this is the hiera (as of now there is only one ntp server but there'll be > more in the future): > ntp: > servers: > - 169.254.169.123 > > Martin with the latest change I'm getting: > Error: Could not retrieve catalog from remote server: Error 500 on SERVER: > Server Error: Evaluation Error: Error while evaluating a Resource Statement, > Evaluation Error: Error while evaluating a Function Call, Failed to parse > template site/ntp/ntp.conf.epp: > Filepath: /etc/puppetlabs/code/modules/site/templates/ntp/ntp.conf.epp > Line: 3 > Detail: undefined local variable or method `’servers’' for > #<Puppet::Parser::TemplateWrapper:0x34a1bb52> > (file: /etc/puppetlabs/code/modules/site/manifests/profiles/ntp.pp, line: > 14, column: 31) > Warning: Not using cache on failed catalog > Error: Could not retrieve catalog; skipping run > On Tuesday, March 28, 2023 at 10:08:43 AM UTC-4 Martin Alfke wrote: >> My example is an epp template. >> >> What name does the variable have? $ntp? And: is this a hash with servers key >> set to an array? >> >> In this case your erb (!) template can look like the following: >> >> <% @ntp[’servers’].each { |server| -%> >> server: <%= server %> >> <% } -%> >> >> >>> On 28. Mar 2023, at 14:37, Laci D <[email protected] <>> wrote: >>> >> >>> Thank you Martin! >>> >>> I used your example and I think something is missing. >>> Since "servers" is under "ntp" in the hiera file (see example in my >>> original email) maybe we need to define that in the erb file? >>> >>> >>> Error: Could not retrieve catalog from remote server: Error 500 on SERVER: >>> Internal Server Error: org.jruby.exceptions.SyntaxError: (SyntaxError) >>> /etc/puppetlabs/code/modules/site/templates/ntp/ntp.conf.erb:6: syntax >>> error, unexpected tSTRING_BEG >>> _erbout.<< "server: ".freeze; _erbout.<<((... >>> ^ >>> Warning: Not using cache on failed catalog >>> Error: Could not retrieve catalog; skipping run >>> >>> On Tuesday, March 28, 2023 at 2:57:23 AM UTC-4 Martin Alfke wrote: >>>> You must iterate as servers is an array: >>>> >>>> <% $servers.each |$server| { -%> >>>> server: <%= $server %> >>>> <%- } -%> >>>> >>>> >>>>> On 27. Mar 2023, at 22:21, Laci D <[email protected] <>> wrote: >>>>> >>>> >>>>> I'm working on defining NTP servers from Hiera. >>>>> >>>>> For Linux servers I have been using puppetlabs-ntp, which has been >>>>> working nicely. Now I need to add support for FreeBSD. Above module >>>>> doesn't support FreeBSD but I can edit ntp.conf with file resource type. >>>>> >>>>> This is where things got complicated, file adds extra ["..."] around the >>>>> value form hiera, since it's an array. Array type is required for >>>>> puppetlabs-ntp >>>>> Question is how can I get rid of the extra squarely braces and double >>>>> quotes? >>>>> Rather than using a static file I'd like to stick to hiera since the ntp >>>>> can very based on datacenter. >>>>> >>>>> /etc/ntp.conf >>>>> server ["169.254.169.123"] >>>>> >>>>> Desired /etc/ntp.conf >>>>> server 169.254.169.123 >>>>> >>>>> hieradata/site.yaml >>>>> ntp: >>>>> servers: >>>>> - 169.254.169.123 >>>>> >>>>> templates/ntp/ntp.conf.erb >>>>> server <%= @ntp['servers'] %> >>>>> >>>> >>>>> -- >>>>> 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 view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/puppet-users/848044f1-888d-44b3-8098-2c3569eb1608n%40googlegroups.com >>>>> >>>>> <https://groups.google.com/d/msgid/puppet-users/848044f1-888d-44b3-8098-2c3569eb1608n%40googlegroups.com?utm_medium=email&utm_source=footer>. >>>> >>> >>> >>> -- >>> 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 view this discussion on the web visit >>> https://groups.google.com/d/msgid/puppet-users/1d68b2ef-0c4f-425f-a84d-3cc22e6f750an%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/puppet-users/1d68b2ef-0c4f-425f-a84d-3cc22e6f750an%40googlegroups.com?utm_medium=email&utm_source=footer>. >> > > > -- > 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] > <mailto:[email protected]>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/puppet-users/b1ef24bc-7995-469f-b81c-a0f51c4010c9n%40googlegroups.com > > <https://groups.google.com/d/msgid/puppet-users/b1ef24bc-7995-469f-b81c-a0f51c4010c9n%40googlegroups.com?utm_medium=email&utm_source=footer>. -- 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 view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/129D2FAC-5628-44F5-B1CD-752D90FFAB72%40icloud.com.
