On 11/01/17 02:50, John Gelnaw wrote:
On Tuesday, January 10, 2017 at 3:19:45 PM UTC-5, Eric Sorenson wrote:


    I'd like to point out that this ntp module is also deliberately a
    test case for *all* of the puppet 4 language features, and as such
    is kind of a "reference module", so it certainly could be simpler
    but is intended to both do something useful and provide a working
    example of things like EPP and the type system. Helen Campbell wrote
    up a walk-through of the features that she and David Schmitt
    implemented in it here:
     https://puppet.com/blog/ntp-puppet-4-language-update
    <https://puppet.com/blog/ntp-puppet-4-language-update>


Understood.


        Most of my bitterness towards puppet comes from the 3.x series,
        where the API was a moving target, and upgrading to the "latest"
        puppet 3.x package could break your world.  It's gotten
        significantly better, but I'm still only about halfway up the
        puppet 3.x --> 4.x cliff.  ;)


    Can you give me an example of backwards-incompatible API changes in
    the 3.x series? I'm not being snarky; we had long debates (way too
    long, in some cases) about semantic versioning and did extra work to
    not introduce breaking changes into the 3.x. The goal was rebuilding
    trust that new versions behave like you'd expect given the version
    number, so I'm dismayed to hear that those efforts failed and things
    broke for you anyway :(


Unfortunately, I don't remember specifics-- looking in my git log, I had
to freeze the version at 3.4.3.  Some feature (not mentioned in my git
log) went from "deprecated" to "fail" in the jump from 3.4.3 to 3.5, and
upgrading to 3.5.x or later caused my puppet master to stop working.

I'm thinking it might have actually been a change in the future parser,
which I was (and still am) using fairly heavily in my AD-based user
management.  Is it possible that the future parser stopped accepting
hyphens around then?


:-)
As you were probably aware, the future parser was marked as experimental and it was explicitly pointed out that it could be breaking API even in minor releases. If we had not taken that approach, you would probably still be waiting for iteration...

You were courageous to start using future parser so early. It stabilized and had most kinks worked out around 3.7 and around that time also became a supported option.

A big thank you for being an early user and being willing to expose yourself to breakages in an experimental version. Without test pilots we would not have been able to reach the high quality we now enjoy.
Were you unaware that your choice was to take the rocky road?

At the point in time when the future parser work started there were several hundred bugs reported against features of the language that were strange and to a large degree unsolvable per ticket. There was also a steady stream of incoming tickets. The situation today is very different - there are hardly any language related issues - when we get one it is usually about improving error messages, the ability to detect and report corner cases that otherwise result in hard to understand subsequent errors, and the like.

There is still a substantial cleanup and rewrite to be done in the Compiler (and related language constructs, such as resource defaults, the inability to declare an identical resource more than once, the inflexibility and lack of semantic power in the space ship operators, etc.)

We also have internal APIs that needs to evolve, and here we must move slowly as changes cause breakage and it takes a long time before the majority of the puppet ecosystem has migrated/upgraded.

Specific to your question about future parser 3.4 -> 3.5:
Future Parser in Puppet 3.5.0 was a big change as it was the first version of the reimplemented evaluator. Up to that point, the future parser transformed everything to the old AST format before evaluation.

- henrik

--
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
<mailto:puppet-users+unsubscr...@googlegroups.com>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/puppet-users/6d377003-44f2-436d-a126-c4722ff6339f%40googlegroups.com
<https://groups.google.com/d/msgid/puppet-users/6d377003-44f2-436d-a126-c4722ff6339f%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.


--

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 puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/2898ff75-48f9-fa68-109a-d55456041a74%40puppet.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to