On May 20, 6:17 am, Markus Falb wrote:
I was thinking about a conceptual thing and I will try to explain with a
concrete example.

In the puppetlabs-lvm module
there is code like this in the logical_volume provider

if mount( '-f', '--guess-fstype', path) =~ /ext[34]/
resize2fs( path) || ...

The resize2fs command is in the e2fsprogs package (well it is more
complicated, but this is another topic), so this package has to be
installed or an error will thrown.

I was thinking about how to ensure that the package is installed.
I realize that I could do just

package { 'e2fsprogs': }
logical_volume { 'bla':
fs_type => 'ext3',
require => Package['e2fsprogs']


Is it possible to hide this dependency in the custom type?

It depends on what exactly you mean by that, but the "confine"
function in your provider code expresses providers' requirements on
external resources. It will cause Puppet to find the provider
unsuitable if the expressed requirements are not met.

Is it possible to include another class from within a custom type?

No. The native type and provider framework cannot modify the
catalog. This is as it should be, for the type should not know the
requirements (that's the provider's job), whereas the master does not
know at catalog compilation time what provider will be used.

the other class is included autorequire could do its job. I think it is
some kind of autoinclude that I am after.

You can do something like that with a defined type, but not with a
custom (native) type. This is the sort of problem that run stages
were originally conceived to solve, but the idea mutated along the
way, and the actual implementation of run stages in 2.6 and 2.7 does
not solve it.


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.

Search Discussions

Discussion Posts


Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 2 of 3 | next ›
Discussion Overview
grouppuppet-users @
postedMay 20, '12 at 11:18a
activeMay 21, '12 at 4:26p



site design / logo © 2022 Grokbase