Hello every one,
I have looked at a lots of threads in the Puppet User group but I did not find a clear answer or explanation how custom functions work....
Here is my current setup :
* I have 2 "environments". working fine
/etc/puppet/environments/production/
/etc/puppet/environments/test/
* I have a version of my function already working in production
* According to the documentation, "functions" are executed on puppet master Side.
So I put my new version into /var/lib/puppet/lib/puppet/parser/functions/myfunction.rb on the master.
My new version is also present in /etc/puppet/environments/test/modules/mymodule/lib/puppet/parser/function/myfunction.rb and synced to the agent via "pluginsync"
* When I run my puppet agent on my "test" environment, I get the expected behavior.
So I merged my changes in the "production" environment.
* Now when I run my agent on the "production" Environment, I get the behavior of the previous version of my function.
If I run the agent right away against the "test" environment, I get again the expected behavior...
I checked the files in both environment through md5sum and they are the same.
And the /var/lib... on the master is also the same....
So, how exactly does it work ?
More details :
- Debian Squeeze
- Puppet 2.6.2
- Apache + Passenger Front End
Thanks a lot for your answers !