Skip to content

Commit c1505fe

Browse files
committed
storage capacity tracking: update API comments and scale test link
1 parent 78df78d commit c1505fe

File tree

1 file changed

+9
-5
lines changed
  • keps/sig-storage/1472-storage-capacity-tracking

1 file changed

+9
-5
lines changed

keps/sig-storage/1472-storage-capacity-tracking/README.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -298,9 +298,12 @@ still an unsolved problem.
298298
//
299299
// The producer of these objects can decide which approach is more suitable.
300300
//
301-
// They are consumed by the kube-scheduler if the CSIStorageCapacity beta feature gate
302-
// is enabled there and a CSI driver opts into capacity-aware scheduling with
303-
// CSIDriver.StorageCapacity.
301+
// They are consumed by the kube-scheduler when a CSI driver opts into capacity-aware
302+
// scheduling with CSIDriverSpec.StorageCapacity. The scheduler compares the
303+
// MaximumVolumeSize against the requested size of pending volumes to filter
304+
// out unsuitable nodes. If MaximumVolumeSize is unset, it falls back to
305+
// a comparison against the less precise Capacity. If that is also unset,
306+
// the scheduler assumes that capacity is insufficient and tries some other node.
304307
type CSIStorageCapacity struct {
305308
metav1.TypeMeta
306309
// Standard object's metadata. The name has no particular meaning. It must be
@@ -339,7 +342,7 @@ type CSIStorageCapacity struct {
339342
// The semantic is currently (CSI spec 1.2) defined as:
340343
// The available capacity, in bytes, of the storage that can be used
341344
// to provision volumes. If not set, that information is currently
342-
// unavailable and treated like zero capacity.
345+
// unavailable.
343346
//
344347
// +optional
345348
Capacity *resource.Quantity
@@ -354,6 +357,7 @@ type CSIStorageCapacity struct {
354357
// create a volume with the same parameters as those in
355358
// GetCapacityRequest. The corresponding value in the Kubernetes
356359
// API is ResourceRequirements.Requests in a volume claim.
360+
// Not all CSI drivers provide this information.
357361
//
358362
// +optional
359363
MaximumVolumeSize *resource.Quantity
@@ -1151,7 +1155,7 @@ such a scenario, the scheduler has to make those decisions based on
11511155
outdated information, in particular when making one scheduling
11521156
decisions affects the next decision.
11531157

1154-
[Scale testing](https://github.com/kubernetes-csi/csi-driver-host-path/blob/d6d9639077691986d676984827ea4dd7ee0c5cce/docs/storage-capacity-tracking.md)
1158+
[Scale testing](https://github.com/kubernetes-csi/csi-driver-host-path/blob/f053a7b0c4b719a5808fc47fdb3eba9cdade2067/docs/storage-capacity-tracking.md)
11551159
showed that this can occur for a fake workload that generates
11561160
pods with generic ephemeral inline volumes as quickly as possible: publishing
11571161
CSIStorageCapacity objects was sometimes too slow, so scheduling retries were

0 commit comments

Comments
 (0)