@@ -479,6 +479,24 @@ involve volumes that need to be created by the driver.
479
479
If not set or false, the scheduler makes such decisions without considering
480
480
whether the driver really can create the volumes (the current situation).
481
481
482
+ This field was initially immutable for the sake of consistency with
483
+ the other fields. Deployments of a CSI driver had to delete and
484
+ recreate the object to switch from "feature disabled" to "feature
485
+ enabled". This turned out to be problematic:
486
+ - Seamless upgrades from a driver version without support of the feature
487
+ to a version with support is harder (` kubectl apply ` fails, operators
488
+ need special cases to handle ` CSIDriver ` ).
489
+ - Rolling out a driver without delaying pod scheduling and later
490
+ enabling the check when the driver had published
491
+ ` CSIStorageCapacity ` objects had to be done such that the driver was
492
+ temporarily active without a ` CSIDriver ` object, which may have
493
+ affected other aspects like skipping attach.
494
+
495
+ Starting with Kubernetes 1.23, the field can be modified. Clients
496
+ that assume that it is immutable work as before. The only consumer
497
+ is the Kubernetes scheduler. It supports mutability because it always
498
+ uses the current ` CSIDriver ` object from the informer cache.
499
+
482
500
### Updating capacity information with external-provisioner
483
501
484
502
Most (if not all) CSI drivers already get deployed on Kubernetes
@@ -788,6 +806,7 @@ checks for events that describe the problem.
788
806
- 5 installs
789
807
- More rigorous forms of testing e.g., downgrade tests and scalability tests
790
808
- Allowing time for feedback
809
+ - Integration with [ Cluster Autoscaler] ( https://github.com/kubernetes/autoscaler )
791
810
792
811
### Upgrade / Downgrade Strategy
793
812
@@ -1079,7 +1098,8 @@ to `CSIStorageCapacity` objects.
1079
1098
## Implementation History
1080
1099
1081
1100
- Kubernetes 1.19: alpha
1082
-
1101
+ - Kubernetes 1.21: beta
1102
+ - Kubernetes 1.23: ` CSIDriver.Spec.StorageCapacity ` became mutable.
1083
1103
1084
1104
## Drawbacks
1085
1105
0 commit comments