Okay, looks like removing environment = master from the [master] block fixed the issue..
I took that from this example https://puppetlabs.com/blog/git-workflow-and-puppet-environments/ not sure how/why it seemed to work fine for the rest of the configration with the exception of hiera. Thank you for all your help! On Wednesday, June 5, 2013 1:34:19 PM UTC-6, Ygor wrote: > > I am. > > You have : > > [main] > environment = 'master' > [master] > environment = 'master' > [agent] > environment = 'master' > > If you want the node to be in another environment, try removing the line > from [main] > > And restart your puppetmaster > > “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) > > ------------------------------ > *From: *[email protected] <javascript:> > *To: *[email protected] <javascript:> > *Sent: *Wednesday, June 5, 2013 3:17:25 PM > *Subject: *Re: [Puppet Users] Share Hiera configuration between 2 nodes? > > Ygor, My common.yaml is actually empty at the moment. > > I think I have discovered the problem...I found that it is using the > hiera.yaml file from my master environment instead of testing but I am not > sure why... > > Here is my /etc/puppet/puppet.conf > > [main] > # The Puppet log directory. > # The default value is '$vardir/log'. > logdir = /var/log/puppet > > # Where Puppet PID files are kept. > # The default value is '$vardir/run'. > rundir = /var/run/puppet > > # Where SSL certificates are kept. > # The default value is '$confdir/ssl'. > ssldir = $vardir/ssl > confdir = /etc/puppet > environment = 'master' > > [master] > environment = 'master' > hiera_config = $confdir/environments/$environment/hiera.yaml > manifest = $confdir/environments/$environment/manifests/site.pp > modulepath = $confdir/environments/$environment/modules > fileserverconfig = $confdir/environments/$environment/fileserver.conf > authconfig = $confdir/environments/$environment/auth.conf > [agent] > # The file in which puppetd stores a list of the classes > # associated with the retrieved configuratiion. Can be loaded in > # the separate ``puppet`` executable using the ``--loadclasses`` > # option. > # The default value is '$confdir/classes.txt'. > classfile = $vardir/classes.txt > > # Where puppetd caches the local configuration. An > # extension indicating the cache format is added automatically. > # The default value is '$confdir/localconfig'. > localconfig = $vardir/localconfig > server = puppetmaster > report = true > show_diff = true > environment = 'master' > ~ > > > > On Wednesday, June 5, 2013 1:07:29 PM UTC-6, Ygor wrote: >> >> What is in /etc/puppet/environments/testing/hieradata/common.yaml ? >> I find that last debug line troubling. >> >> “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) >> >> ----- Original Message ----- >> From: [email protected] >> To: [email protected] >> Sent: Wednesday, June 5, 2013 12:08:59 PM >> Subject: Re: [Puppet Users] Share Hiera configuration between 2 nodes? >> >> Yes and it seems to work >> >> >> >> [root@puppetmaster ~]# hiera classes -c >> /etc/puppet/environments/testing/hiera.yaml environment=testing >> role=webserver fqdn=node1 --debug -a >> DEBUG: Wed Jun 05 10:02:23 -0600 2013: Hiera YAML backend starting >> DEBUG: Wed Jun 05 10:02:23 -0600 2013: Looking up classes in YAML backend >> DEBUG: Wed Jun 05 10:02:23 -0600 2013: Looking for data source node1 >> DEBUG: Wed Jun 05 10:02:23 -0600 2013: Found classes in node1 >> DEBUG: Wed Jun 05 10:02:23 -0600 2013: Looking for data source webserver >> DEBUG: Wed Jun 05 10:02:23 -0600 2013: Found classes in webserver >> DEBUG: Wed Jun 05 10:02:23 -0600 2013: Looking for data source common >> DEBUG: Wed Jun 05 10:02:23 -0600 2013: Data retrieved from >> /etc/puppet/environments/testing/hieradata/common.yaml is not a Hash, >> setting defaults >> ["keepalived", "apache"] >> >> >> On Wednesday, June 5, 2013 9:53:25 AM UTC-6, Ygor wrote: >> >> >> >> have you tried running hiera on the command line with debug ? >> >> >> “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) >> >> >> From: [email protected] >> To: [email protected] >> Sent: Wednesday, June 5, 2013 11:43:24 AM >> Subject: Re: [Puppet Users] Share Hiera configuration between 2 nodes? >> >> Ok maybe I spoke too soon... >> >> >> It looks like the hiera hierarchy is not seeing the custom fact and as a >> result is not applying the corresponding .yaml file. I expected it to load >> the hieradata\webserver.yaml file. However as the puppetmasterd debug log >> shows that it skips over this and loads the osfamily .yaml file. >> >> >> >> hiera.yaml >> >> --- >> :backends: >> - yaml >> :yaml: >> :datadir: /etc/puppet/environments/%{environment}/hieradata >> :hierarchy: >> - %{fqdn} >> - %{role} >> - %{osfamily} >> - common >> >> >> >> Puppetmasterd debug messages >> ... >> >> Info: Caching node for node1 >> DEBUG: Wed Jun 05 09:11:50 -0600 2013: Looking up apache_vhosts in YAML >> backend >> DEBUG: Wed Jun 05 09:11:50 -0600 2013: Looking for data source node1 >> DEBUG: Wed Jun 05 09:11:50 -0600 2013: Looking for data source RedHat >> DEBUG: Wed Jun 05 09:11:50 -0600 2013: Looking for data source common >> Notice: Compiled catalog for node1 in environment testing in 0.04 seconds >> ... >> >> >> >> >> Contents of hieradata folder: >> >> [root@puppetmaster~]# ls /etc/puppet/environments/testing/hieradata/ >> common.yaml webserver.yaml node1.yaml node2.yaml RedHat.yaml >> >> >> >> >> Contents of /etc/facter/facts.d/role.yaml >> --- >> role: webserver >> >> >> node1 >> >> >> >> [root@node1 /]# puppet agent -t --environment=testing >> Info: Retrieving plugin >> Info: Loading facts in >> /var/lib/puppet/lib/facter/iptables_persistent_version.rb >> Info: Loading facts in /var/lib/puppet/lib/facter/facter_dot_d.rb >> Info: Loading facts in /var/lib/puppet/lib/facter/root_home.rb >> Info: Loading facts in /var/lib/puppet/lib/facter/puppet_vardir.rb >> Info: Loading facts in /var/lib/puppet/lib/facter/iptables_version.rb >> Info: Loading facts in /var/lib/puppet/lib/facter/pe_version.rb >> Info: Loading facts in /var/lib/puppet/lib/facter/concat_basedir.rb >> Info: Loading facts in /var/lib/puppet/lib/facter/ip6tables_version.rb >> Info: Caching catalog for node1 >> Info: Applying configuration version '1370444163' >> Notice: The value is: webserver >> Notice: /Stage[main]//Node[node1]/Notify[The value is: >> webserver]/message: defined 'message' as 'The value is: webserver' >> Notice: Finished catalog run in 0.31 seconds >> >> >> Facter test >> [root@node1 /]# facter -p role >> webserver >> >> >> >> Puppet Versions >> >> [root@node1 /]# facter --version >> 1.7.1 >> [root@node1 /]# puppet --version >> 3.2.1 >> >> [root@puppetmaster ~]# facter --version >> 1.7.1 >> [root@puppetmaster ~]# puppet --version >> 3.2.1 >> >> >> Thanks for the help! >> >> On Tuesday, June 4, 2013 2:09:48 PM UTC-6, Keith Burdis wrote: >> >> >> >> >> You could set a custom "role" fact on node1 and node2 with the value >> "webserver" and then use the "role" fact in your Hiera hierarchy. >> >> For example using facter.d on on node1 and node2: >> >> # cd /etc/facter/facts.d >> # echo 'role: webserver' >> custom_facts.yaml >> # facter -p role >> role => webserver >> >> and on the master: >> >> # cat /etc/hiera.yaml >> ... >> :hierarchy: >> - %{role} >> >> ... >> >> >> >> with the common configuration in webserver.yaml under your Hiera datadir. >> >> >> - Keith >> >> >> >> >> >> On 4 June 2013 20:41, < [email protected] > wrote: >> >> >> Hi, >> >> >> I am trying to use Hiera in puppet 3 and I have two nodes that both need >> the same configuration. In this case they are two web servers which have >> the same apache configuration. >> >> >> Rather than creating two seperate hiera files for node1.yaml and >> node2.yaml is there a way to group these by role (e.g. webserver.yaml)? I >> want to avoid duplicating the configuration if possible and keep the data >> in hiera. >> >> >> Thanks! >> Joe >> >> -- >> 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 . >> >> >> >> >> >> -- >> 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 . >> >> >> >> >> -- >> 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 . >> >> >> -- > 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] <javascript:>. > To post to this group, send email to [email protected]<javascript:> > . > Visit this group at http://groups.google.com/group/puppet-users?hl=en. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- 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.
