The constraint on VRRP `preempt-delay` is `--positive`.
`--positive` demands that the number be >0.
The keepalived daemon is capable of accepting a `preempt-delay` time of 0 (no delay).
The constraint should be changed to `--non-negative` or `--range 0-1000` (1000 seems to be the max according to config documentation).
The default should also be changed from 300 to 0 to be in line with keepalived defaults.