Releases: kubernetes-sigs/gcp-compute-persistent-disk-csi-driver
v1.2.0
See release notes at CHANGELOG-1.2.
v1.2.0-rc1
Merge pull request #674 from saad-ali/release-1.2.0-docs Add release notes for upcoming 1.2 release.
v1.1.0
See release notes at CHANGELOG-1.1.
v1.1.0-rc1
Merge pull request #642 from alculquicondor/upgrade-google-api Upgrade google.golang.org/api and transient dependencies
v1.0.1
See release notes at CHANGELOG-1.0.
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