We generally upgrade within 1-2 maintenance windows of a new release coming out, so within a couple of months of the release being available. For minor updates, we update at the next maintenance window. At one point, we were stuck several release behind. Getting all caught up wasn't that bad. I think were were on 15.something and upgrading to 17.11, or something like that.
For that upgrade, most of the work happened on the DB server, I
upgraded one-at-a-time through each release until we were current
on the SlurmDB, and then made a single upgrade to the latest
version on the slurm controller and compute nodes.
Our Slurm DB is small, so the upgrade changes to the DB only took a few minutes per upgrade. For larger DBs, it can take hours per upgrade.
This is one reason people like to keep current with Slurm - it
makes future upgrades that much easier. On maintenance window of
only a couple hours is more palatable than a couple of days of
downtime. Also, when you jump several updates, it's hard to tell
when a new "feature" or "bug" was introduced, which makes
identifying the source and fixing/understanding the new behavior
that much harder.
Prentice