Issue #6368 has been updated by Jacob Helwig.

Status changed from Accepted to Available In Testing Branch

Merged into `2.7.next` in commit:89620ab51997e032ccde218de13acab9f55da4b8
----------------------------------------
Feature #6368: File type should autorequire all parents
https://projects.puppetlabs.com/issues/6368

Author: Ian Ward Comfort
Status: Available In Testing Branch
Priority: Normal
Assignee: 
Category: file
Target version: Statler
Affected Puppet version: 
Keywords: type file autorequire
Branch: 


This is an RFC feature request. I think I'd like the file type to autorequire 
not only its parent directory, but any parent directories which appear in the 
catalog.

My concrete use case involves packages which install directory hierarchies. For 
example, the cobbler RPM installs `/var/lib/cobbler`, 
`/var/lib/cobbler/kickstarts`, `/var/lib/cobbler/snippets`, 
`/var/lib/cobbler/triggers`, &c. I install the Cobbler package in one module, 
and install Cobbler kickstarts and snippets in several other places. Rather 
than adding `require => Package['cobbler']` to these numerous and disparate 
file resources, I'd rather put this in my cobbler module:

<pre>
package { 'cobbler': ensure => present }

file { '/var/lib/cobbler':
  ensure  => directory,
  require => Package['cobbler'],
}
</pre>

And have that be a way of saying, "The `/var/lib/cobbler` hierarchy is created 
by the cobbler RPM; please treat the package as a (transitive) requirement for 
any files installed under this hierarchy." (I'd prefer to specify this 
information once, and to specify it in the cobbler module itself.)

The only downsides I can think of are (1) some superfluous relationships in 
catalogs that define dense hierarchical file resources, and (2) the outside 
possibility of creating cycles in existing (probably bizarre) catalogs.

If this behavior seems desirable, I've got a tiny patch which implements it, 
and I should be able to add some tests fairly easily.

(Incidentally, this feature would resolve issue #3648 pretty cleanly.)


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to