** Next PR Triage Wednesday, November 19th @ 10:00 am Pacific. **


Priorities

  1. Puppet 3.7.4

  2. Native Facter 0.3.0

  3. Puppet Server 1.0.0

  4. Code removal for puppet 4

  5. New puppet doc implementation


Commentary


Puppet:


We are going to keep 3.7.4 in parallel with 4.0.0 to ensure we get a 3x release that contains

a future parser that is as close as possible to what is released in 4.0.0. It will be released in close proximity to 4.0.0 (unless there is a burning need to release it sooner).


Please note that some changes in puppet 4 mean that puppet 3 agents won’t be able to talk to puppet 4 masters (or vice-versa). This probably means you don’t want to be updating puppet itself with “ensure => latest” :)


One of these changes is for the URL structure for the master/agent HTTP API.  Specifically, we’d like to move the environment name away from being the first segment of the URL, so that the URL space is more well-contained and predictable.  This will allow us to begin separating the monolithic “master” service into more fine-grained services.


Code removals for puppet 4 is picking up more steam (yay, burn all the things…) - 17k lines removed so far. See a heads up below if you are doing advanced things with any of the classes under puppet/parser (an additional 15k removal).


We are doing major triage for 4.0.0 as we have accumulated quite a bit of scope creep. You will be seeing tickets move to target 4x as we like to reserve the 4.0.0 tag for things that we feel are required for this release. This means that we may pull in tickets/PRs marked 4x, but we will not block the release if they do not make it in time.


We are also engaged in yet more work around environments - this time removing support for legacy environments.


Puppet Server:


Puppet Server 0.4.0 was released!  The changes were mostly plumbing; packaging improvements, tweaks to make the CA behavior more consistent with the old CA, and some improvements related to SSL transports.


We’re planning for the next release to be our 1.0 release.  It will include a few cool new features related to directory environment caching, plus a few minor tweaks and bug fixes.  The 1.0 series will be compatible with the Puppet 3.7.x, so next up will be to start working on Puppet Server 2.0 for Puppet 4.x compatibility.

Puppet Doc:


We have worked on the scope of the new puppet doc implementation (puppet strings), there are now tickets, and we are just starting to work on those.


Native Facter:


Solaris, Windows, ec2/gce facts are all in - there are a handful of misc fix-it tickets remaining before we tag 0.3.0.


Also, we now have Native Facter nightlies!


Right now it’s rhel6/rhel7/wheezy with more packages coming. Try it out and tell us what we’re missing :)


Other conversations of note:

  • Henrik taking over after Andy

    • Yes, I am stepping in after Andy which means that I now will be saying no to my own crazy ideas - or face the consequences :-)

  • Rosetta lands Philae on Comet 67P


 

Heads up on Code Removals


With the fix in PUP-2906 being merged (reimplementation of collections) we now freed up for the removal of the old AST classes and work is now ongoing on ticket PUP-3274, which removes the AST and switches puppet 4.0.0 over to always using the future parser.


As a heads up (if you have written code that relies on any of the parser classes), this means that:


  • The --parser setting will be removed (it is always parser=future from this point. (Well unless there is the need to again do language feature work and have a "new future")

  • The old Puppet::Parser::Parser is removed (if you have written code using the parser directly you should have switched to using the ParserFactory a long time ago.

  • The old Puppet::Parser::Lexer is removed - if you relied to on low level lexing you need to use the new Lexer instead.

  • Almost all of the AST classes have been removed except those that are used by the compiler and some of the functions. (List below of what remains of the AST).

  • The AstTransformer has shrunken to only deal with a few 4x to 3x tasks. It may be refactored and go away completely.

  • A large number of tests have been removed.

  • RDoc support no longer produce output for any .pp files (to be replaced with the Puppet Strings module).

  • Since we are also dropping support for Ruby 1.8.7 in Puppet 4.0.0 the support for RDoc1 has been removed.


Remaining AST:


  • AST::Regexp - a class we would like to also remove in favor of a different construct, but it is currently expected for supporting Node.

  • AST::BlockExpression - is used as the container of code in the top level constructs that the compiler cares about. Will stay around probably until the compiler is rewritten.

  • AST::HostClass - a top level construct the compiler cares about.

  • AST::AstArray - used in the top level constructs - I would like to see this go away, not sure when that will happen.

  • AST::ResourceInstance, is currently used by the create_resources function to get the same behavior as in 3x Puppet Languag when creating a resource. May be rewritten to instead use the same logic used in the new evaluator.

  • AST::ResourceParam, these are used to instantiate resource attributes, they are registered as part of overrides and defaults. These will stay around until the compiler is rewritten.

  • AST::Branch, an abstact class used by ResourceParam (and others).

  • AST::TopLevelConstruct, an abstract class for some of the others.


ALL OTHER AST CLASSES HAVE BEEN REMOVED. If you have logic that makes use of those you need to do things differently. Please ping if you are

in this situation and need help with the transition.


Regards

Henrik Lindberg
henrik.lindb...@puppetlabs.com


-- 

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 Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to puppet-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-dev/m45g10%24j35%241%40ger.gmane.org.
For more options, visit https://groups.google.com/d/optout.

Reply via email to