|
| 1 | +# Changes since v1.5.0 |
| 2 | + |
| 3 | +## Deprecations |
| 4 | + |
| 5 | +- Support for `storage.k8s.io/v1beta1.CSINode` and the `nodeid` annotation will be |
| 6 | + removed in a future release. Only cluster versions that support |
| 7 | + `storage.k8s.io/v1.CSINode` will be supported. The topology feature gate will |
| 8 | + also be removed and will always be on if the plugin supports the |
| 9 | + `VOLUME_ACCESSIBILITY_CONSTRAINTS` capability. |
| 10 | + ([#385](https://github.com/kubernetes-csi/external-provisioner/issues/385), |
| 11 | + [#257](https://github.com/kubernetes-csi/external-provisioner/issues/257)) |
| 12 | +- The current leader election lock name will be changed in a future release. |
| 13 | + Rolling upgrades to a newer sidecar will not maintain proper leadership, and a |
| 14 | + full teardown and bringup will be required if the driver cannot handle |
| 15 | + multiple leaders. |
| 16 | + ([#295](https://github.com/kubernetes-csi/external-provisioner/issues/295)) |
| 17 | +- The `--leader-election-type` argument will be removed in a future release. |
| 18 | + Only Leases-type leader election will be supported. The |
| 19 | + `--enable-leader-election` argument will also be renamed to |
| 20 | + `--leader-election`. |
| 21 | + ([#401](https://github.com/kubernetes-csi/external-provisioner/issues/401)) |
| 22 | +- The default value of `--worker-threads` will be lowered to 10 to match the |
| 23 | + other CSI sidecars in a future release. |
| 24 | + ([#322](https://github.com/kubernetes-csi/external-provisioner/issues/322)) |
| 25 | +- The external-provisioner will no longer default an empty fstype to `ext4`. |
| 26 | + A new option to set the default will be added, otherwise the CSI driver |
| 27 | + must be able to handle an empty fstype according to the CSI spec. |
| 28 | + ([#328](https://github.com/kubernetes-csi/external-provisioner/issues/328)) |
| 29 | +- Already deprecated arguments `--connection-timeout` and `--provisioner` will |
| 30 | + be removed in a future release. |
| 31 | + |
| 32 | +## New Features |
| 33 | + |
| 34 | +- `StorageClass.allowedtopologies` can specify a subset of the topology keys |
| 35 | + supported by the driver. |
| 36 | + ([#421](https://github.com/kubernetes-csi/external-provisioner/pull/421), |
| 37 | + [@pawanpraka1](https://github.com/pawanpraka1)) |
| 38 | +- Added a new flag, `cloning-protection-threads` which defaults to 1, |
| 39 | + managing how many threads will simultaneously serve the |
| 40 | + `provisioner.storage.kubernetes.io/cloning-protection` finalizer removal |
| 41 | + ([#424](https://github.com/kubernetes-csi/external-provisioner/pull/424), |
| 42 | + [@Danil-Grigorev](https://github.com/Danil-Grigorev)) |
| 43 | +- finalizer `provisioner.storage.kubernetes.io/cloning-protection` |
| 44 | + is now set on the source PVC preventing their removal before the cloning finishes. |
| 45 | + ([#422](https://github.com/kubernetes-csi/external-provisioner/pull/422), |
| 46 | + [@Danil-Grigorev](https://github.com/Danil-Grigorev)) |
| 47 | +- Adds `--extraCreateMetadata` flag which, when enabled, will inject parameters onto CreateVolume driver requests with PVC and PV metadata. |
| 48 | + Injected keys: |
| 49 | + - csi.storage.k8s.io/pvc/name |
| 50 | + - csi.storage.k8s.io/pvc/namespace |
| 51 | + - csi.storage.k8s.io/pv/name ([#399](https://github.com/kubernetes-csi/external-provisioner/pull/399), [@zetsub0u](https://github.com/zetsub0u)) |
| 52 | +- Default StorageClass secrets are added: |
| 53 | + - csi.storage.k8s.io/secret-name: ${pvc.name} |
| 54 | + - csi.storage.k8s.io/secret-namespace: ${pvc.namespace} |
| 55 | + Note: Default secrets for storage class feature does work only when both parameters are added. ([#393](https://github.com/kubernetes-csi/external-provisioner/pull/393), [@taaraora](https://github.com/taaraora)) |
| 56 | + |
| 57 | +## Bug Fixes |
| 58 | + |
| 59 | +- If a CSI driver returns ResourceExhausted for CreateVolume, supports topology, |
| 60 | + and the `StorageClass.volumeBindingMode` is `WaitForFirstConsumer`, |
| 61 | + then the pod will be rescheduled. This may then result in a CreateVolume retry |
| 62 | + with a different topology. |
| 63 | + ([#405](https://github.com/kubernetes-csi/external-provisioner/pull/405), |
| 64 | + [@pohly](https://github.com/pohly)) |
| 65 | +- CSI Migration: Fixes CSI migration issue where PVCs provisioned before |
| 66 | + migration was turned on could not be deleted |
| 67 | + ([#412](https://github.com/kubernetes-csi/external-provisioner/pull/412), |
| 68 | + [@davidz627](https://github.com/davidz627)) |
| 69 | +- Cloning: ensure source and target PVCs have matching volumeMode. |
| 70 | + ([#410](https://github.com/kubernetes-csi/external-provisioner/pull/410), |
| 71 | + [@j-griffith](https://github.com/j-griffith)) |
| 72 | + |
| 73 | + |
| 74 | +## Other Notable Changes |
| 75 | + |
| 76 | +- Use informers for StorageClass ([#387](https://github.com/kubernetes-csi/external-provisioner/pull/387), [@bertinatto](https://github.com/bertinatto)) |
| 77 | + |
| 78 | + |
0 commit comments