[PUP-3062] The default unit for `splaylimit` should not be seconds. Created: 2014/08/14 Updated: 2019/06/19 Resolved: 2019/06/19
|Labels:||customer, help_wanted, support|
|Remaining Estimate:||Not Specified|
|Time Spent:||Not Specified|
|Original Estimate:||Not Specified|
runinterval defaults to minutes, and splaylimit defaults to runinterval
What's more, I can't imagine ever wanting to splay by seconds instead of minutes.
I'm not opposed to the option existing, but it should not be the default unit.
I've seen this confuse at least one customer, and it certainly took me time to notice this in the docs. Of course I should have read them more closely, but this is still confusing on its face.
|Comment by Zee Alexander [ 2014/08/14 ]|
The obvious caveat here would be that this change would break backwards compatibility. If this request is accepted it should be at some major release bump.
|Comment by Andrew Parker [ 2014/08/14 ]|
There are problems with defaulting this one to minutes: all of the other durations default to seconds. We could start changing each one to its own default unit, but that seems even more confusing. A good middle ground is to not allow values that don't specify the units (the "s" is always required, even if 5 seconds is wanted).
I think the way to move this forward would be to get a deprecation warning for Puppet 3.7 and change it to a failure in puppet 4.
|Comment by Nick Walker [ 2017/05/22 ]|
I agree that the only correct way to implement this change if we decide to do so is to error out if the unit is not specified instead of silently changing users splay to minutes when they now expect seconds.
|Comment by Josh Cooper [ 2019/06/19 ]|
The runinterval and splaylimit settings are both type duration. If you set either of them and don't specify units, then they both are interpreted as seconds. The reason this issue occurred is because runinterval defaults to 30m, but splaylimit was overridden as 60 which is interpreted as seconds.
I don't think requiring units is a good idea. It would be very disruptive without a lot of benefit, as everything that has ever set a puppet setting would need to be aware of units, such as puppet config set runinterval 30m, packaging (rpm, deb, msi), cloud-init scripts, kickstart, foreman, etc.
Closing this ticket.