Releases: kubernetes-sigs/gcp-compute-persistent-disk-csi-driver
v1.0.0
See release notes at CHANGELOG-1.0.
v0.7.0
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 allowcsi-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 bothproject-id
andzone
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
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 namespacedefault
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
v0.5.1
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
DO NOT USE: Identified issue with Access Modes validation, will patch and release a new version
v0.4.0
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
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
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