Background: I like to keep installed apps in a non-standard area and sym link to the binaries, libraries and other files through the /usr/local tree so that they''re in the user''s path. The purpose of this is to help with software versions, upgrades and to allow me to keep multiple versions of apps on one machine which can be useful for interpreters like perl or python. I created a file repository under /etc/puppet that is filled with these sym links and I''m trying to push them out to the servers but I keep getting the error "Could not evaluate: Got nil value for content" in the logs and it''s not pushing the sym links. My configuration in the manifest is the following: file { "/usr": path => "/usr", ensure => present, recurse => true, links => manage, force => true, source => "puppet://puppet/app/usr", notify => Service[app], } I started with a very bare bones configuration but added ensure, links and force after doing some research. From what I''ve read the links directive is supposed to make this work but it''s unclear to me if there is a bug that prevents this from working in 2.6.x. BTW, this was working until a couple of days ago but the Redhat yum repos just upgraded from 0.25.5 to 2.6.6 and that seems to have broken this. Thanks for any help you can give. -- 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.
jcbollinger
2011-Sep-30 14:55 UTC
[Puppet Users] Re: Recursively pushing sym links in 2.6.6
On Sep 29, 1:16 pm, Josh <joshua.l.greenb...@gmail.com> wrote:> Background: > > I like to keep installed apps in a non-standard area and sym link to > the binaries, libraries and other files through the /usr/local tree so > that they''re in the user''s path. The purpose of this is to help with > software versions, upgrades and to allow me to keep multiple versions > of apps on one machine which can be useful for interpreters like perl > or python. I created a file repository under /etc/puppet that is > filled with these sym links and I''m trying to push them out to the > servers but I keep getting the error "Could not evaluate: Got nil > value for content" in the logs and it''s not pushing the sym links. My > configuration in the manifest is the following: > > file { "/usr": > path => "/usr", > ensure => present, > recurse => true, > links => manage, > force => true, > source => "puppet://puppet/app/usr", > notify => Service[app], > } > > I started with a very bare bones configuration but added ensure, links > and force after doing some research. From what I''ve read the links > directive is supposed to make this work but it''s unclear to me if > there is a bug that prevents this from working in 2.6.x. BTW, this was > working until a couple of days ago but the Redhat yum repos just > upgraded from 0.25.5 to 2.6.6 and that seems to have broken this. > Thanks for any help you can give.That declaration looks a bit strange, in that you seem to be configuring a system-wide directory specifically for the "app" service. Is that some kind of general-purpose management service? I do advise you to ensure "directory" instead of "present", and to recurse only over the remote directory: file { ''/usr'': ensure => ''directory'', recurse => ''remote'', links => manage, force => true, source => ''puppet://puppet/app/usr'', notify => Service[''app''], } I don''t expect that to change Puppet''s behavior, however, and I agree that the behavior you describe sounds buggy. In particular, when Puppet is recursively managing a directory with "links => manage", it should not care whether the links it manages are broken, since it''s just copying them anyway. John -- 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.