Without the additional logic introduced in this change, the storageClassName field would by default be set to empty string.
For systems with a default storage class configured, setting storageClassName to the empty string would be OK during installation since the storage class controller will set the storageClassName afterwards.
This, however, does not work for upgrades because then the storageClassName of the live object is already set to something and then we try to change that immutable field to the empty string.
This change ensures that the storageClassName is only set if we specify persistence.storage_class.
Checklist
Ticks in all boxes and 🟢 on all GitHub actions status checks are required to merge:
Description
Without the additional logic introduced in this change, the
storageClassName
field would by default be set to empty string.For systems with a default storage class configured, setting
storageClassName
to the empty string would be OK during installation since the storage class controller will set thestorageClassName
afterwards.This, however, does not work for upgrades because then the
storageClassName
of the live object is already set to something and then we try to change that immutable field to the empty string.This change ensures that the
storageClassName
is only set if we specifypersistence.storage_class
.Checklist
Ticks in all boxes and 🟢 on all GitHub actions status checks are required to merge:
Third-party code
If you've added third-party code (copy/pasted or new dependencies), please reach out to an architect.
Reminder
By using GitHub, you have already agreed to the GitHub’s Terms of Service including that: