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.