Issue #10237 has been updated by Stefan Schulte.
Hi Jacob, I agree that this a major change in behaviour. But do have any idea how to »deprecate it« in a smart way? Because assigning an empty array to a property is valid right now and will be valid in the future and I can't tell what the user is expecting when he writes `property => []`. The only way that I can think of is to throw a warning every time an empty array is assigned to a property. Like <pre> You've assigned an empty array to principals. The current behaviour is to ignore this property but that will change in the future: An empty array will cause puppet to remove any principal it finds. If this is not what you want remove the property from the resource definition or use principals => undef. </pre> Now the problem is that I don't know a way to get the desired behaviour (remove all principals) in the current setup. So if someone has `principals => []` and wants to remove any principal they * have no way to achieve that (at least not that I know of) * they have to remove `principals => []` in their manifests or they will now get my deprecation message all the time So how am I going to tell them that they can now switch back to `principals => []` once it has the desired behaviour? ---------------------------------------- Bug #10237: An empty array of principals to k5login type does not empty the .k5login. https://projects.puppetlabs.com/issues/10237 Author: Steve Traylen Status: Code Insufficient Priority: Normal Assignee: Stefan Schulte Category: RAL Target version: Affected Puppet version: 0.24.0 Keywords: Branch: https://github.com/stschulte/puppet/tree/ticket/2.7.x/10237 Running 2.6.6 on RHEL6.1 and starting with a non-empty /root/.k5login # cat /root/.k5login [email protected] The the following configuration k5login {'/root/.k5login': principals => []} Results in an unchanged /root/.k5login still containing the principal. I believe in this case the file should be emptied. In the null string case the file is emptied. k5login {'/root/.k5login': principals => ''} however in the this case nothing happens k5login {'/root/.k5login': } which is quite possibly correct? Certainly the zero length array should be empty, it's important to me since I'm returning the array from a custom function. Apologies for not confirming with the latest greatest puppet, I'll set one up shortly for confirming these kind of things are still present if they are. -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://projects.puppetlabs.com/my/account -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
