On Oct 5, 4:40 pm, Craig White <craig.wh...@ttiltd.com> wrote:
> I suspect that I must be missing something here but it seems rather obvious 
> to me that in this specific example...
>
> require => Package["git"]

That would work if Puppet was attempting to use Git (in Matthias'
example) and LibVirt (in my example) during the evaluation of it's
catalog, but it's not. Puppet is essentially failing with a Parse
error. It's the same as trying to "include" a CPAN module in Perl when
it's not installed, or link against a C library that doesn't exist.
The Agent has a catalog with containing a native type of Git and
there's no Git installed on the Agent.

We've got providers that use underlying system functionality (Git/
LibVirt) but that functionality gets installed by Puppet - bit of a
chicken and egg. Personally I don't want Git/LibVirt installed on
every machine in my estate just in case my nodes might use one of
these user defined types.

> would mean that git is installed first and then it should just work.
>
> As for 'fail' and continue on, that's clearly not the puppet way and any 
> tolerance of failures seems inappropriate on just about any level.

I agree it's not perfect, for this problem there's a number of less
than perfect solutions, but failing in the catalog evaluation would at
least give you a full report on the first Puppet run and simplify your
manifests from strange conditional logic (like mine have at the
moment).

I'd be very interested in other people's approaches for user defined
types based on Puppet installed prerequisites.

-Luke

-- 
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