(MODULES-3414) Limit non-strict parsing to pre-3.5.0 only
authorHunter Haugen <hunter@puppet.com>
Wed, 27 Jul 2016 04:23:12 +0000 (21:23 -0700)
committerHunter Haugen <hunter@puppet.com>
Wed, 27 Jul 2016 15:39:42 +0000 (08:39 -0700)
commit360f04dcc10d327c99d5dab0870c6ff49e5bb037
tree5ee938761b8274e88e0ced34f4278dbc3004798c
parent5e076fcc9ec2edbdc88884592576d8a808b677a9
(MODULES-3414) Limit non-strict parsing to pre-3.5.0 only

Puppet 3.5.0 introduced strict variables and the module handles strict
variables by using the defined() function. This does not work on prior
versions of puppet so we must gate based on that version.

Puppet 4 series has a new setting `strict` that may be set to enforce
strict variables while `strict_variables` remains unset (see PUP-6358)
which causes this conditional to erroniously use non-strict 3.5-era
parsing and fail.

The new conditional corrects the cases such that strict variable
behavior happens on versions 3.5.0 and later.
manifests/params.pp
spec/defines/key_compat_spec.rb
spec/defines/source_compat_spec.rb