Hello Puppet list, I am taking over the puppet configuration of a sysadmin who left, and am having troubles deploying puppet to a new node. We are using puppet v2.7.3 both on the client and the puppetmaster, on Ubuntu 10.10. The node asks for a certificate fine, and I signed it on the puppetmaster. For the following logs extract I ve replaced the FQDN of my node by puppet.example.com. When doing a puppet run I am getting the following error: err: Could not retrieve catalog from remote server: Error 400 on SERVER: Failed to parse template linux/dput.cf.erb: Could not find value for ''lsbdistid'' at 2:/etc/puppet/modules/linux/templates/ dput.cf.erb at /etc/puppet/modules/linux/manifests/dput.pp:7 on node puppetnode.example.com The line in dput.cf.erb is this one: # packages for <%= lsbdistid %> to a private repository (not the official So I guess there is a problem passing the $lsbdistid variable. Before I had another related error, it was complaining here: content => template($operatingsystem ? { Debian => "root/profile-linux.erb", Ubuntu => "root/profile-linux.erb", OpenBSD => "root/profile-openbsd.erb", default => "root/profile.erb" }), That root/profile.erb didn´ t exist. It is true it didn´ t exist, but being an Ubuntu node, it should ave picked the root/profile-linux.erb one, so I guess the $operatingsystem variable is not being passed correctly. On the puppetmaster I can see this: Oct 18 14:49:41 p41 puppet-master[6001]: Host is missing hostname and/ or domain: puppetnode.example.com So I guess it is complaining because the puppet node is not passing the appropriate facts... However on the puppet node: root@plista47 /etc/puppet # sudo facter -p | egrep "(operatingsystem| lsbdistid|hostname|domain)" domain => example.com hostname => puppetnode lsbdistid => Ubuntu operatingsystem => Ubuntu operatingsystemrelease => 10.10 There is no file for that node in /var/lib/puppet/yaml/facts/ . "Puppetnode.example.com" resolves both on the server and the client, as well as "puppetnode", to the external IP address of the puppet node. My best guess is that for some reason, the client fails to send its facts to the master, and the master fails to compile because of this. I am out of ideas as to why this is happening though... Hope someone here will be more inspired! Thanks -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Aaron Grewell
2011-Oct-18 17:10 UTC
Re: [Puppet Users] Puppet node fails to pass facts to master
Make sure you have all the lsb packages installed. That''s usually what causes LSB facts not to resolve. On Tue, Oct 18, 2011 at 6:22 AM, Yann H <yh@plista.com> wrote:> Hello Puppet list, > > I am taking over the puppet configuration of a sysadmin who left, and > am having troubles deploying puppet to a new node. We are using puppet > v2.7.3 both on the client and the puppetmaster, on Ubuntu 10.10. > The node asks for a certificate fine, and I signed it on the > puppetmaster. > For the following logs extract I ve replaced the FQDN of my node by > puppet.example.com. > > When doing a puppet run I am getting the following error: > > err: Could not retrieve catalog from remote server: Error 400 on > SERVER: Failed to parse template linux/dput.cf.erb: Could not find > value for ''lsbdistid'' at 2:/etc/puppet/modules/linux/templates/ > dput.cf.erb at /etc/puppet/modules/linux/manifests/dput.pp:7 on node > puppetnode.example.com > > The line in dput.cf.erb is this one: > # packages for <%= lsbdistid %> to a private repository (not the > official > > So I guess there is a problem passing the $lsbdistid variable. > Before I had another related error, it was complaining here: > > content => template($operatingsystem ? { > Debian => "root/profile-linux.erb", > Ubuntu => "root/profile-linux.erb", > OpenBSD => "root/profile-openbsd.erb", > default => "root/profile.erb" }), > > That root/profile.erb didn´ t exist. It is true it didn´ t exist, but > being an Ubuntu node, it should ave picked the root/profile-linux.erb > one, so I guess the $operatingsystem variable is not being passed > correctly. > > On the puppetmaster I can see this: > > Oct 18 14:49:41 p41 puppet-master[6001]: Host is missing hostname and/ > or domain: puppetnode.example.com > > So I guess it is complaining because the puppet node is not passing > the appropriate facts... > However on the puppet node: > > root@plista47 /etc/puppet # sudo facter -p | egrep "(operatingsystem| > lsbdistid|hostname|domain)" > domain => example.com > hostname => puppetnode > lsbdistid => Ubuntu > operatingsystem => Ubuntu > operatingsystemrelease => 10.10 > > There is no file for that node in /var/lib/puppet/yaml/facts/ . > "Puppetnode.example.com" resolves both on the server and the client, > as well as "puppetnode", to the external IP address of the puppet > node. > > My best guess is that for some reason, the client fails to send its > facts to the master, and the master fails to compile because of this. > I am out of ideas as to why this is happening though... > > Hope someone here will be more inspired! > Thanks > > -- > You received this message because you are subscribed to the Google Groups "Puppet Users" group. > To post to this group, send email to puppet-users@googlegroups.com. > To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. > For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. > >-- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Adrien Thebo
2011-Oct-18 20:10 UTC
Re: [Puppet Users] Puppet node fails to pass facts to master
What version of facter are you using? On Oct 18, 2011 9:49 AM, "Yann H" <yh@plista.com> wrote:> Hello Puppet list, > > I am taking over the puppet configuration of a sysadmin who left, and > am having troubles deploying puppet to a new node. We are using puppet > v2.7.3 both on the client and the puppetmaster, on Ubuntu 10.10. > The node asks for a certificate fine, and I signed it on the > puppetmaster. > For the following logs extract I ve replaced the FQDN of my node by > puppet.example.com. > > When doing a puppet run I am getting the following error: > > err: Could not retrieve catalog from remote server: Error 400 on > SERVER: Failed to parse template linux/dput.cf.erb: Could not find > value for ''lsbdistid'' at 2:/etc/puppet/modules/linux/templates/ > dput.cf.erb at /etc/puppet/modules/linux/manifests/dput.pp:7 on node > puppetnode.example.com > > The line in dput.cf.erb is this one: > # packages for <%= lsbdistid %> to a private repository (not the > official > > So I guess there is a problem passing the $lsbdistid variable. > Before I had another related error, it was complaining here: > > content => template($operatingsystem ? { > Debian => "root/profile-linux.erb", > Ubuntu => "root/profile-linux.erb", > OpenBSD => "root/profile-openbsd.erb", > default => "root/profile.erb" }), > > That root/profile.erb didn´ t exist. It is true it didn´ t exist, but > being an Ubuntu node, it should ave picked the root/profile-linux.erb > one, so I guess the $operatingsystem variable is not being passed > correctly. > > On the puppetmaster I can see this: > > Oct 18 14:49:41 p41 puppet-master[6001]: Host is missing hostname and/ > or domain: puppetnode.example.com > > So I guess it is complaining because the puppet node is not passing > the appropriate facts... > However on the puppet node: > > root@plista47 /etc/puppet # sudo facter -p | egrep "(operatingsystem| > lsbdistid|hostname|domain)" > domain => example.com > hostname => puppetnode > lsbdistid => Ubuntu > operatingsystem => Ubuntu > operatingsystemrelease => 10.10 > > There is no file for that node in /var/lib/puppet/yaml/facts/ . > "Puppetnode.example.com" resolves both on the server and the client, > as well as "puppetnode", to the external IP address of the puppet > node. > > My best guess is that for some reason, the client fails to send its > facts to the master, and the master fails to compile because of this. > I am out of ideas as to why this is happening though... > > Hope someone here will be more inspired! > Thanks > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To post to this group, send email to puppet-users@googlegroups.com. > To unsubscribe from this group, send email to > puppet-users+unsubscribe@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/puppet-users?hl=en. > >-- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.