Minor gotchas upgrading from Puppet 2.6 to Puppet 2.7

Puppet is a fairly complicated little product once you start to look under the covers, and by now it’s pretty widely know that for larger environments, moving from 2.6 to 2.7 isn’t a particularly straightforward upgrade. Most of people’s various pain points relate to the deprecation of dynamic scoping in favor of lexical scoping and parameterized classes, but there’s some other gotchas that haven’t been as widely publicized. Here’s a few. Undefined template variables have changed Previously, if you attempted to look up a variable from a template, and that variable did not exist, it would return a Ruby nil, … Continue Reading →