Ok, so the workaround is to use a variable (set default), if that fails, 
try the fact.

Thanks!

On Thursday, October 6, 2016 at 10:45:26 AM UTC+3, R.I. Pienaar wrote:
>
>
>
> ----- Original Message ----- 
> > From: "Erez Zarum" <erez...@gmail.com <javascript:>> 
> > To: "puppet-users" <puppet...@googlegroups.com <javascript:>> 
> > Sent: Thursday, 6 October, 2016 09:40:44 
> > Subject: [Puppet Users] Facts and Resource relationships 
>
> > I'm not sure if it's a bug or an expected behavior. 
> > 
> > I have written a simple fact for a module that returns a version of a 
> > binary file, it executes: "binary --version" and then parses the 
> version, 
> > no issues there, it works. 
> > 
> > The issue i am having is relying on this fact in case the binary file 
> gets 
> > upgraded during a package installation (this is the simple example) 
> > 
> > package { 'package': 
> > ensure => '1.3.8' 
> > } -> 
> > notify { "version: ${::binary_version}": } 
> > 
> > If the previous version was 1.3.7 the fact "binary_version" will return 
> > 1.3.7, the next run it will return 1.3.8 as expected. 
> > The biggest issue is if i rely on this fact to pick up a template to 
> use, 
> > if this package is not yet installed the fact won't work and will work 
> only 
> > on the second run. 
> > 
> > I can only assume this happens because the facts are being "compiled" 
> > before the catalog is. 
> > 
> > I have tried different ways to declare the relationship but it doesn't 
> work. 
>
> yes, you cant use facts for something that changes during a run.  It's for 
> facts 
> about your node that influence the creation of the catalog. 
>
> things the catalog changes - well thats after the catalog was created 
>

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/1af175d0-ba5d-4626-8fcc-986f6c7fc8f3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to