| Puppet Version: 4.10.5, 5.5.1, 5.5.8, 6.1.0 OS Name/Version: CentOS 7.6.1810, Ubuntu 18.04, Sabayon 19.01 When creating an instance of a defined type and then modifying it with plusignment at a later point, the first plusignment will overwrite the variable completely if it's using its default value at the time. Desired Behavior: Plusignment respects the current value - even if it is the default one Actual Behavior: Plusignment ignores any default value, replacing it entirely on the first run. Example manifests that show this problem have been attached, and the issue is demonstrated easily by attempting to apply them;
$ puppet apply broken.pp |
Error: Evaluation Error: Error while evaluating a Resource Statement, Defined_type[broken]: parameter 'values' expects an Array value, got String (file: /tmp/tmp.CaxYtnutGf/broken.pp, line: 6) on node example.local |
$ puppet apply working.pp |
Notice: Scope(Defined_type[broken]): [This works] |
Notice: Compiled catalog for example.local in environment production in 0.02 seconds |
Notice: Applied catalog in 0.04 seconds |
$ puppet apply working2.pp |
Notice: Scope(Defined_type[broken]): [This works, as well] |
Notice: Compiled catalog for example.local in environment production in 0.01 seconds |
Notice: Applied catalog in 0.04 seconds
|
|