User Tools

Site Tools


puppet

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
puppet [2018/04/18 15:43]
k2patel
puppet [2019/03/07 09:53] (current)
k2patel [Puppet Dynamic values playground]
Line 41: Line 41:
 </​code>​ </​code>​
  
 +==== Puppet Dynamic values playground ====
  
 +=== EPP and passing values ===
 +<code ruby>
 +$template_parameters = {
 +   ​test ​ => $test1,
 +   test2 => $test::​test,​
 +   ​nice ​ => $works,
 +}
 +
 +content => epp('​vsftpd/​template.epp',​ $template_parameters),​
 +</​code>​
 +==== trimming values ====
 +Following can grab the last character from the hostname and convert to integer to avoid warning.
 +<code ruby>
 +$esnumber = inline_epp('<​%= Integer.new($::​hostname[-1,​1]) + 1 %>'​)
 +</​code>​
 ==== Checking Hiera Value ==== ==== Checking Hiera Value ====
 **Trying to lookup vhostip value** **Trying to lookup vhostip value**
Line 281: Line 297:
 create_resources('​apache::​vhost',​ $myApacheVhost) create_resources('​apache::​vhost',​ $myApacheVhost)
 </​code>​ </​code>​
 +
 +==== Troubleshooting ====
 +===  duplicate resource was found while collecting exported resources ===
 +8-O
 +<code bash | error >
 +Info: Loading facts
 +Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: A duplicate resource was found while collecting exported resources, with the type and title Apache::​Balancermember[visualizer] on node testserver.k2patel.in
 +Warning: Not using cache on failed catalog
 +Error: Could not retrieve catalog; skipping run
 +</​code>​
 +
 +
 +Many suggestions from the puppet forums to run query shown below, didn't helped.
 +
 +<code bash | depend on your puppet version select one which works>
 +sudo -u postgres psql puppetdb -c '​delete from catalogs where certname in (select certname from certnames where certname like '​%testserver.k2patel.in%'​);'​
 +
 +sudo -u postgres psql puppetdb -c '​delete from catalogs where id in (select id from certnames where certname like '​%testserver.k2patel.in%'​);'​
 +</​code>​
 +
 +Only thing worked for me to drop database and recreate.
 +
 +<code bash>
 +systemctl stop puppetdb
 +su - postgres
 +dropdb puppetdb
 +createdb -E UTF8 -O puppetdb puppetdb
 +psql puppetdb -c '​create extension pg_trgm';​
 +</​code>​
 +
 +=== Mapping values ===
 +<code ruby>
 +<%- $ips = $vs_map[$name].map |$val| { $val['​address'​]['​ip'​] } -%>
 +</​code>​
 +
  
 ==== External Links ==== ==== External Links ====
Line 289: Line 340:
  
 [[ https://​groups.google.com/​group/​puppet-users/​browse_thread/​thread/​e56e0f678a134089 | Incremental Number ]] [[ https://​groups.google.com/​group/​puppet-users/​browse_thread/​thread/​e56e0f678a134089 | Incremental Number ]]
 +
 +[[ https://​github.com/​jessereynolds/​puppet_certificate_extensions_facts | Trusted facts example ]]
puppet.1524080625.txt.gz ยท Last modified: 2018/04/18 15:43 by k2patel