Skip to content

Releases: kubernetes-sigs/sig-storage-lib-external-provisioner

v10.0.0

29 Apr 15:02
ac362bb
Compare
Choose a tag to compare

Urgent Upgrade Notes

(No, really, you MUST read this before you upgrade)

  • Using patch to update finalizers. Any external-provisioner now needs permission rules to patch PersistentVolumes. Please update RBAC rules of your provisioner. (#164, @carlory)

Changes by Kind

Feature

  • Contextual logging added. Some function arguments have been modified. (#154, @bells17)

Uncategorized

  • Added debug logs to shouldDelete function (#146, @amacaskill)
  • Update to Kubernetes 1.30 and go 1.22. Removed gometalinter. (#167, @jsafrane)

v9.1.0-rc.0

09 Aug 08:56
cc0612e
Compare
Choose a tag to compare
v9.1.0-rc.0 Pre-release
Pre-release

This is a pre-release with updated Kubernetes dependencies to v1.28.0-rc.0

v9.0.3

21 Jul 07:40
f6117b4
Compare
Choose a tag to compare

Added debug logs to shouldDelete function (#146, @amacaskill)

v8.0.1

04 Apr 20:39
ddba727
Compare
Choose a tag to compare

Fix indefinite stuck Pending pod on a deleted node (#141, @sunnylovestiramisu)

v9.0.2

24 Mar 09:10
cabcbb0
Compare
Choose a tag to compare

Fix indefinite stuck Pending pod on a deleted node (#139, @sunnylovestiramisu)

v9.0.1

21 Feb 17:44
f1f3e83
Compare
Choose a tag to compare

Fixed go.mod to declare version v9.

v9.0.0

11 Jan 09:18
52106c7
Compare
Choose a tag to compare
  • Action Needed: Updated leader election to use Endpoints + Lease. All provisioners based on this library must have RBAC permissions to create/update Lease objects in coordination.k8s.io/v1 API. (#120, @NikhilSharmaWe)
  • Added a new label source to controller_persistentvolumeclaim_provision_total metric. (#128, @RaunakShah)
  • Added support for external-provisioner.volume.kubernetes.io/finalizer on statically provisioned volumes. (#129, @deepakkinni)

v8.0.0

17 Nov 22:18
a35bec6
Compare
Choose a tag to compare
  • sig-storage-lib changes to support PV Deletion protection finalizer #117
    • Previously: if AddFinalizer were true, the controller only added "external-provisioner.volume.kubernetes.io/finalizer" to PVs at creation time. It could be removed before the provisioner deleted the PVs' respective volumes.
    • Now: if AddFinalizer is true, in certain situations the controller also adds "external-provisioner.volume.kubernetes.io/finalizer" to existing PVs to ensure that the provisioner deletes the PVs' respective volumes.
    • If AddFinalizer is false (default) then "external-provisioner.volume.kubernetes.io/finalizer" is never added to PVs.
    • See https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/2644-honor-pv-reclaim-policy and kubernetes-csi/external-provisioner#546 for details
  • Update annStorageProvisioner to GA version #110
    • As of kubernetes 1.23, "volume.beta.kubernetes.io/storage-provisioner" is deprecated in favor of "volume.kubernetes.io/storage-provisioner"

v7.0.1

29 Jun 18:56
853cdd7
Compare
Choose a tag to compare
  • Fix module path to include /v7 suffix #109

v7.0.0

25 Jun 19:39
4b6549b
Compare
Choose a tag to compare
  • Set provision-by anno to the storage class provisioner #104
    • Previous behavior: the pv.kubernetes.io/provisioned-by PV annotation was always set to the Controller's primary provisionerName
    • New behavior: if additionalProvisionerNames is passed to the Controller then the pv.kubernetes.io/provisioned-by PV annotation is set to the provisionerName or additionalProvisionerNames equal to the PV's StorageClass.
      • For example, if you have a Controller with provisionerName: ebs.csi.aws.com and additionalProvisionerNames: [kubernetes.io/aws-ebs] then PVs created for StorageClass with provisioner: ebs.csi.aws.com will have annotation pv.kubernetes.io/provisioned-by: ebs.csi.aws.com and PVs created for StorageClass with provisioner: kubernetes.io/aws-ebs will have annotation pv.kubernetes.io/provisioned-by: kubernetes.io/aws-ebs
  • Remove support for obsolete kubernetes versions #106
    • The kubeVersion argument to NewProvisionController is gone. This means it's no longer needed to discover the Kubernetes server version via the Kubernetes Discovery API to set the argument.