adamant-kite-43734
11/21/2023, 6:43 AMfaint-sunset-36608
11/21/2023, 4:23 PMspec.priorityClassName
on all Longhorn pods so they will not (hopefully) not be evicted. A single instance-manager
pod runs all necessary engines and replicas on each node. So, a successful update of the "priority-class" setting necessarily restarts each instance-manager
pod with the new value. The restart would crash any engines or replicas running inside that instance-manager
, so we disallow attached volumes while it is modified.
The only other obvious behavior I can think of would be a "lazy" update where we changed the spec.priorityClassName
on Longhorn pods when we started or restarted them, but not if they were running. (Maybe this is what you're getting at?) I don't think this would be very useful, because instance-manager
pods are very rarely restarted. (Even if a node doesn't have any workloads on it, it may be running replicas for volumes attached elsewhere.) So changing the "priority-class" setting would have virtually no immediate benefit (which could be quite confusing).
Note that even during upgrades we don't require instance-manager
to be restarted (as this would disrupt workloads). Instead, we start a new instance-manager
and only clean up the old one when all the processes running inside it are gone.
If you still think a change in behavior (or the addition of an optional behavior) makes sense given this context, I encourage you to open a feature request at https://github.com/longhorn/longhorn!crooked-cat-21365
11/22/2023, 8:53 AMcrooked-cat-21365
11/22/2023, 9:12 AMcrooked-cat-21365
11/22/2023, 9:28 AMfaint-sunset-36608
11/22/2023, 2:23 PM