Reported this yesterday in #puppet, didn't get many responses, am now
repeating it here for consideration.

We're having an odd, sort of interesting issue with one of our puppet file
objects. We've had it in place for several months, and are now trying to
move the content to a directory on another (emptier) filesystem, and make
the old file object a straight-up symlink to the new location.

When we roll the new revision of the puppet manifest out, puppet was failing
to realize that the directory had been turned into a symlink, and tried to
back up the TARGET of the symlink into the clientbucket.

After some consultation with folks in the channel, we made some tweaks and
wound up with this:

(//Node[default]/sched-node/sched-bits/mongrel-directories/File[/home/rails/someclient/production/shared/log]/ensure)
change from absent to link failed: Could not set link on ensure: No such
file or directory - /mnt/railslog or
/home/rails/someclient/production/shared/log/ at
/etc/puppet/manifests/classes/mongrel.pp:261

At this point we had an object definition that looked like this:

file {
"/home/rails/someclient/$rails_env/shared/log/":

        target =>
"/mnt/railslog",

        ensure =>
link,

        backup => false,
}

When this is run, we get the error above.

Some suggestions from the channel were that we change back to using ensure
=> "/mnt/railslog";  after doing so, we get this trio of errors:

stanza:

      file {
"/home/rails/someclient/$rails_env/shared/log/":

        ensure => "/mnt/railslog",
        backup => false,
      }

produces:

Aug 27 14:18:37 sched4 puppetd[2725]:
(//Node[default]/sched-node/sched-bits/mongrel-directories/File[/home/rails/someclient/production/shared/log])
Not removing directory; use 'force' to override
Aug 27 14:18:37 sched4 puppetd[2725]:
(//Node[default]/sched-node/sched-bits/mongrel-directories/File[/home/rails/someclient/production/shared/log])
Not removing directory; use 'force' to override
Aug 27 14:18:37 sched4 puppetd[2725]:
(//Node[default]/sched-node/sched-bits/mongrel-directories/File[/home/rails/someclient/production/shared/log]/ensure)
change from directory to link failed: Could not remove existing file




Both /home/rails/someclient/production/shared/log and its target,
/mnt/railslog, already exist and are in an acceptable state.

Further attempts - we turned on links => manage and force => true - to no
real effect.  We still get:

Aug 27 14:45:01 sched4 puppetd[4849]:
(//Node[default]/sched-node/sched-bits/mongrel-directories/File[/home/rails/someclient/production/shared/log]/ensure)
change from directory to link failed: Could not remove existing file

Any ideas?  This is rather baffling - we have symlinks elsewhere that work,
work fine, and have worked for a good long while now... but something screwy
is going on here!

Help!

thanks,

--elijah

--~--~---------~--~----~------------~-------~--~----~
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+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to