Skip to content

Releases: kubernetes-sigs/gcp-compute-persistent-disk-csi-driver

v1.0.0

14 Aug 02:21
d7d9f2e
Compare
Choose a tag to compare

See release notes at CHANGELOG-1.0.

v0.7.0

05 Mar 01:23
fb027cc
Compare
Choose a tag to compare

Image: gcr.io/gke-release/gcp-compute-persistent-disk-csi-driver:v0.7.0-gke.0

Changelog Since v0.6.0

This is a fairly large release with some serious fixes and new functionality. There are also some breaking changes that will require intervention and special steps if upgrading from a previous version of the driver.

This is also my (davidz627@) final release of the driver.

adieu.

Changes with Action Required

  • Adding PodSecurityPoliciy to allow csi-gce-pd-node in clusters with policies enabled.
    IF LOCAL PSP MANIFEST PATCH IS USED PLEASE BEWARE THAT YOU WILL NEED TO DELETE LOCAL CHANGES AND USE THE UPSTREAM (#448, @ffilippopoulos)
  • BREAKING CHANGE: All deployment objects in setup-cluster.yaml have been renamed. When deleting the deployment using ./delete-driver.sh, make sure to use specs from your previous deployment version to ensure the correct objects are cleaned up. (#405, @verult)

New Features

  • Add GET_VOLUME_STATS Node Service Capability and implementation for getting stats for volume (#406, @davidz627)
  • ValidateVolumeCapabilities validates that the given volume conforms to all capabilities in the request. Validation of existing volumes during inserts also improved to check all parameters. (#467, @davidz627)
  • It is now possible to disable the controller service by setting --run-controller-service=false. Similarly, it is possible to disable the node service by setting --run-node-service=false. The latter enables running the controller server of the GCE PD driver separately/outside of the cluster it is serving. Also, if both project-id and zone are specified in the GCE cloud config then the controller server does no longer try to contact the GCE metadata service. (#449, @rfranzke)
  • Add support for formatting and mounting an XFS filesystem (#447, @davidz627)
  • Add a blanket toleration to the Node Daemonset of the driver deployment so that it can be deployed on all nodes (#417, @davidz627)
  • Adds LIST_VOLUMES and LIST_VOLUMES_PUBLISHED_NODES capabilities with respective functionality (#392, @davidz627)

Bug Fixes

  • Fixed bug where ControllerExpandVolume was returning incorrect size when disk was already the requested size or larger (#462, @davidz627)
  • Set volume limits to 15 only for machine-types: "f1-micro", "g1-small", "e2-micro", "e2-small", "e2-medium". Limit is 127 for all others (#455, @davidz627)
  • Changed deployment of Controller and Node components to use hostNetwork for compatibility with GKE Workload Identity (#436, @davidz627)
  • During NodeStageVolume run udevadm --trigger to fix device symlinks if device path is not found or device path points to the wrong device (#459, @davidz627)
  • Bump external-snapshotter version to v1.2.2 for fix of CVE-2019-11255 (#434, @davidz627)

Other Notable Changes

  • Update driver base image distro to debian-amd64:v2.0.0 and build with go v1.13.4 (#439, @davidz627)
  • Mounting an unformatted volume with an fstype as read-only now throws a more descriptive error (#458, @davidz627)
  • Remove explicit stripping of secrets from RPC request/response logs since the driver doesn't accept secrets for operations (#428, @davidz627)
  • Improve driver logs to log success in all paths as well as logging additional useful information (#409, @davidz627)

v0.6.0

11 Oct 21:18
fd8d641
Compare
Choose a tag to compare

Breaking Changes

  • Some of the API objects in the deployment specs have changed names/labels/namespaces, please tear down old driver before deploying this version to avoid orphaning old objects. You will also no longer see the driver in the default namespace.
  • Some error codes have been changed, please see below for details if you rely on specific error codes of the driver

New Features

  • Add support for Raw Block devices. (#283, @davidz627)
  • Operations in the node driver are now parallelized, except those involving a volume already being operated on now return an error. (#303, @hantaowang)
  • Adds support for ControllerExpandVolume and NodeExpandVolume (#317, @davidz627)
  • Operations in the controller driver on a volume already being operated on now return an error. (#316, @hantaowang)
  • Picking up support for inline volume migration and some fixes for backward compatible access modes for migration (#324, @davidz627)

Bug Fixes

  • Reduces node attach limits by 1 since the node boot disk is considered an attachable disk (#361, @davidz627)
  • Fixed a bug that causes disks in the same zone/region to be provisioned serially (#344, @hantaowang)
  • Remove cross validation of access modes, multiple access modes can be specified that represent all the capabilities of the volume (#289, @davidz627)
  • Driver should check socket parent directory before trying to bind it (#339, @zhucan)
  • Updated CSI Attacher to stop ignoring errors from ControllerUnpublish (#378, @davidz627)
  • CreateVolume will now fail with NOT_FOUND error when VolumeContentSource SnapshotId does not refer to a snapshot that can be found (#312, @davidz627)
  • ControllerUnpublishVolume now returns success when the Node is GCE API NotFound.
    Invalid format VolumeID is now GRPC InvalidArgument error instead of GRPC NotFound.
    Underspecified disks not found in any zone now return GRPC NotFound. (#368, @davidz627)

Other Notable Changes

  • Deployment spec updates:
    The deployment is no longer in namespace default
    Changed "app" label key to "k8s-app"
    csi-snapshotter version has been changed to v1.2.0-gke.0
    The resizer role binding has been renamed to "csi-controller-resizer-binding"
    Removed driver-registrar role. (#364, @verult)
  • Updating the following image versions in stable deployment specs:
    gcp-compute-persistent-disk-csi-driver: v0.6.0-gke.0
    csi-provisioner: v1.4.0-gke.0
    csi-attacher: v2.0.0-gke.0
    csi-node-driver-registrar: v1.2.0-gke.0 (#400, @verult)

v0.5.2

05 Aug 18:33
3afd4c8
Compare
Choose a tag to compare

Image: gke.gcr.io/gcp-compute-persistent-disk-csi-driver:v0.5.2-gke.0

Other Notable Changes

  • Reduces node attach limits by 1 since the node boot disk is considered an attachable disk (#362, @davidz627)

v0.5.1

10 Jun 22:41
8a6b66a
Compare
Choose a tag to compare

Action Required

Ensure workloads using the CSI Driver are using valid access modes before upgrading to this version of the driver to avoid disruption.

Alpha Features

Alpha features may require specific setup for the Kubernetes cluster or driver deployment. See README.md for details.

  • Snapshots

Changelog Overview

  • BREAKING: The driver now enforces AccessMode validation for all calls, supported access modes are SINGLE_NODE_WRITER, SINGLE_NODE_READER_ONLY, MULTI_NODE_READER_ONLY
  • Support for regional clusters
    • Topology feature promoted to Beta
  • Support for dynamic MaxVolumesPerNode based on node type
  • Support authentication with GCP through an AltTokenSource
  • Added additional support and fixes for compatibility with CSI Migration
  • Improved testing framework
  • Added Alpha overlay for easy deployment of the driver with Alpha features enabled

Breaking Changes

75e17ab The driver now enforces AccessMode validation for all calls, supported access modes are SINGLE_NODE_WRITER, SINGLE_NODE_READER_ONLY, MULTI_NODE_READER_ONLY
34d1b19 The driver now enforces that AccessModes specified on a single volume are compatible with each other

Major Driver Changes

3d6be58 Remove cross validation of access modes, multiple access modes can be specified that represent all the capabilities of the volume
8e7c69a Set MaxVolumesPerNode in NodeGetInfo
062bc7b enable topology in Beta
75e17ab Statically validate volume capabilities for CreateVolume, ControllerPublish, NodeStage, NodePublish
06bd754 Introducing AltTokenSource for authenticating with GCP; injecting project ID from GCE cloud config file

Testing Changes

b0d15e9 Modify default volumeID
71085ca Expand test focus of migration tests
54edfcd Only run Dynamic Provisioning tests for Migration for now
63a0f21 Add migration test script and make required test binary changes for migration
d8431f5 Add supported filesystem types to k8s integration driver test config
ecf6a60 Make integration test kube version configurable
fc073c4 Add test focus and kube feature gates flags to integration test suite
ee485c4 Use K8s external-storage test framework

Deployment Changes

3dd5dd6 Change pd image placeholder in integration tests to gke.gcr.io vanity url
d1538d7 Update RBAC rules for external provisioner and attacher to the updated roles required based on upstream repositories
718e34c Update scripts to be compatible with project ids that include the org name
a0e1ce9 Updating image paths to gke.gcr.io
096ac2e Bump csi-provisioner to v1.2.0 for migration fixes
ab12cf5 Bump CSI Provisioner to v1.1.1 for Migration Delete fix
54edfcd Only run Dynamic Provisioning tests for migration for now
0857457 Make base deploy gke-release, dev overlay will now replace base images successfully
deb6adb Augment script to update Kustomize if version is incorrect
c5b7a18 Rename prow gke overlays to gke-release-staging
a347ff3 Rebase dev overlay on top of alpha overlay
ca7547a Use stable overlay for pull jobs
f420366 Add alpha overlay for snapshots
8f518dd Upgrade kustomize and use the set image command to patch the image name and version

Documentation

4e04693 remove demo-pvc
b49cd5f Improve VolumeSnapshot guide
ff59f6f Update examples and documentation

[DO NOT USE] v0.5.0

05 Jun 01:00
abaea70
Compare
Choose a tag to compare
[DO NOT USE] v0.5.0 Pre-release
Pre-release

DO NOT USE: Identified issue with Access Modes validation, will patch and release a new version

v0.4.0

15 Mar 21:28
5d62c77
Compare
Choose a tag to compare

Action Required

None

Alpha Features

Alpha features may require specific setup for the Kubernetes cluster or driver deployment. See README.md for details.

  • Snapshots
  • Topology
  • Customer Managed Encryption Keys

Breaking Changes

None

Major Driver Changes

79a94ce Alpha implementation of Customer Managed Encryption Keys
0c2fcee Strip secret fields from GRPC logging

Testing Changes

1207699 Bump E2E test timeout to 20 minutes
8f91196 Bump RePD disk size to 200Gb for tests
3b8add3 Add test for Customer Managed Encryption Keys volume lifecycle
95ca054 Don't fail firewall rule insert if rule already exists
bf68fc4 Use kubectl bundled in release tar for integration testing

Deployment Changes

5fb4dec Dev deployment update external-snapshotter version to v1.0.1

v0.3.1

20 Dec 01:01
76b0c8e
Compare
Choose a tag to compare

Action Required

  • Kubernetes must support the 1.0 Spec, driver is incompatible with Kubernetes or Sidecars with CSI Spec versions <1.0
  • All Kubernetes PV/PVC created with a previous version of the driver must be removed from the cluster before updating, this driver is not compatible with previous versions of the driver.

Alpha Features

Alpha features may require specific setup for the Kubernetes cluster or driver deployment. See README.md for details.

  • Snapshots
  • Topology

Breaking Changes

f2586bb Fix kubelet socket path
bff4c82 Bump to CSI Spec to v1.0.0
da033f7 Change driver name to pd.csi.storage.gke.io and topology key to topology.gke.io/zone

Major Driver Changes

b7df449 Fail CreateVolume() when Block volume capability is requested
9f3ede3 Bump builder and Debian base versions in Dockerfile
bff4c82 Bump to CSI Spec to v1.0.0
6edbdaa Implementation updates for CSI Spec v1.0.0-rc2
7c106db Vendor updates for CSI Spec v1.0.0-rc2
da033f7 Change driver name to pd.csi.storage.gke.io and topology key to topology.gke.io/zone
13e7e02 Pass snapshot source when creating volumes
f208819 Add preStop hook to remove registration sockets when driver registrar node container goes down
195cf5b Update labels and fix api version

Testing Changes

f930d0b Pass ARTIFACTS so that test logs will be written to directories that can be picked up by prow. Also allow block tests
3628737 fix test focus
2c0a9d1 fix retry logic for boskos resource
b027169 Add retry for acquiring a boskos resource
a70899a make boskos resource name configurable
a782422 Add gke prow config
0f17a09 Bring up driver in k8s-integration framework instead of in e2e tests. This runs deploy-driver.sh, which handles secret creation and kustomize

Deployment Changes

f2586bb Fix kubelet socket path
569d746 Fix prow head template merge error
2c61df8 Update Prow Head Template
4441af9 Bump Driver Registrar to v1.0.1
47a05d2 Added explicit cluster roles for external csi components because system roles deprecated
44f439d Add the cluster role for snapshotter
ac25e21 Remove hardcoded environment variables from spec
898c260 Update stable images to official releases
12cef7b Modify deployment scripts to use kustomize
0b27ea9 Convert dev yamls into patches
2005ae3 Rename dev yamls and remove dev setup-cluster
5a2ddb8 Add kustomization configs
128aa56 Move kustomization patches to overlays directory
bf308a0 Move specs from stable to base

v0.2.0.alpha

17 Dec 23:19
fa02b89
Compare
Choose a tag to compare

Image: gcr.io/gke-release/gcp-compute-persistent-disk-csi-driver:v0.2.0-gke.0

This is the beta release of the gcp-compute-persistent-disk-csi-driver.

Compatible with CSI Spec Versions:
v0.2.0
v0.3.0
v0.4.0

New Features:

Make standard GCE PD available to workloads

v0.3.0

20 Dec 00:57
103b746
Compare
Choose a tag to compare

DO NOT USE BROKEN RELEASE