On 2015-21-01 11:25, shashank wrote:
Hi All,

I was using puppet since the release of puppet 2.6 version in various
projects.Now came across the "Puppet Experimental Features" in the
Puppet 3.x series  and some of which are really very useful for projects
I was taking care of.

My concern is that how much it is safe to use the Puppet Experimental
Features like parser=future in the production environment as I am using
puppet 3.7.1.I had already tested this feature on the testing
environment for a long time and used some of the features frequently
like (each($x) |$a | {} ).

Now my codes are ready for the production environment, please suggest me
whether I should go with the puppet parser future feature or should I
remove the codes supported by these feature from my manifests (Basically
the feature of iteration over hashes using 'each') ?


Today, a release of Puppet 4.0.0 is around the corner together with a release of 3.7.4. In Puppet 4.0.0 the future parser and evaluator in 3.x is the default, and the 3.7.4 release with --parser future turned on is as close as we can get to 4.0.0 behavior. This for the purpose of being a migration path from 3x to 4x (i.e. run 3x with future parser turned on to fix issues before doing the migration to 4.0).

Since 'future parser' is available as an experimental feature its features are not subject to semver and there may be breaking changes between minor versions.

Over the 3x series there were naturally more issues and risk at the beginning. The 3.7.3 release is quite decent, but it has a couple of bugs related to collection of resources that have been fixed in 3.7.4.

Also, since it is marked 'experimental', it is really up to careful testing on the user's part before making a decision to run with future parser turned on in production - e.g. spotify has been testing future parser versions all along, and are now running it in production with 3.7.3.

The best is naturally to use 3.7.4 with future parser. It is due any day now.

On the question if it "is safe to use in production" the answer is "yes, if you have tested" as there are no known issues that would make us say it is unsafe. There are however language changes that if you are extremely unlucky and have "old messy puppet code" you may silently get a different result without errors being raised. This is the reason that careful testing has to be done. Other changes may cause parse/validation or runtime errors - those are considered safe as it alerts you to what you need to fix.

If you decide to try a version of 3.7.x < 3.7.4 it is prudent to check issue tickets marked DSL fixed in later releases so you know what could potentially bite you. (It is probably easier to upgrade to latest 3.7 though :-)

Hope that helps you making a decision
Regards
- henrik

--

Visit my Blog "Puppet on the Edge"
http://puppet-on-the-edge.blogspot.se/

--
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/m9o0m0%24qb3%241%40ger.gmane.org.
For more options, visit https://groups.google.com/d/optout.

Reply via email to