Add support for Kubernetes 1.30- No changes in the release
- Take into account
ControllerUnpublishVolumeRequest.NodeId
inControllerUnpublishVolume
to prevent undesired detach operations during overlapping CSI calls. - Update base image to newer alpine minor version.
- Update base image to newer alpine minor version.
- Update go version used during build.
- Update cloudscale-go-sdk to 4.0.0.
- Bump google.golang.org/grpc from 1.53.0 to 1.56.3.
- Update base image to newer alpine minor version.
- Bump google.golang.org/grpc
- Bump golang.org/x/net
- Update base image to latest alpine version.
- Update CSI spec to 1.6.0
- Use
registry.k8s.io
instead ofk8s.gcr.io
.
- Update all side-cars.
- Package as Helm chart.
- Always set
CLOUDSCALE_MAX_CSI_VOLUMES_PER_NODE
in manifest. - Explicitly set
reclaimPolicy
andvolumeBindingMode
for storage classes to Kubernetes default values.
- Ensure that the device has the expected size in NodeExpandVolume to avoid a race-condition that appeared in testing.
- Minor changes to the integration test suite.
- Update cloudscale-go-sdk to 1.11.0.
- Use k8s mount library.
- Update the alpine base image to 3.15.
- Improve metrics test to accept results within a delta.
- Update the alpine base image to 3.11.
- Use quay.io instead of Docker Hub.
- Run unit tests from Github Actions instead of Travis.
- Ensure go.mod and modules.txt are up to date. Revendor github.com/googleapis.
- Support raw block volume mode (not in conjunction with LUKS for now)
- Update go libraries.
- Add support for Kubernetes 1.22
- Use
csi.cloudscale.ch/zone
instead ofregion
label.
- Set default fsType for external provisioner.
- Implement NodeGetVolumeStats
- Update side-cars to support Kubernetes >=1.20.
- Update Makefile and related scripts.
- Update go libraries.
- Update go version used.
- Support all formats of files in
/dev/disk/by-id
that were observed across different Linux distributions.
- Increase the default value of CLOUDSCALE_MAX_CSI_VOLUMES_PER_NODE to 125.
- Add support for nodes that use dev/sdX devices.
- Make the driver zone aware. The driver reads the zone the server is running in from the metadata server
at
http://169.254.169.254
.
- Fix: Handle max. volumes per node limit correctly.
- Introduce new option
CLOUDSCALE_MAX_CSI_VOLUMES_PER_NODE
.
- Fix a problem with resizing luks-encrypted volumes while they are attached and mounted.
-
Update to CSI spec v1.1.0
-
Add support for Volume Expansion.
- Fix: Volume Attaching sometimes didn't work, please see #9
-
Add support for luks-encrypted volumes
-
Add support for
bulk
volumes -
Read cloudscale.ch access token from environment variable
-
Disable reserved blocks for privileged processes for
ext3
andext4
volumes -
Update to CSI spec v1.0.0
-
Forked this repository from csi-digitalocean. They have a similar API. Thanks a lot to DigitalOcean - mostly Fatih Arslan - for his work.
This release contains breaking changes, because of the update to the CSI
spec v1.0.0 and the introduction of the csi.cloudscale.ch/volume-type
parameter.
Your kubernetes version must be at least v1.13.0 to support CSI spec v1.0.0.
If you have deployed previous versions of the CSI plugin, you cannot update the existing
cloudscale-volume-ssd
storage class, because parameters of a storage class cannot be changed.
However, the default behaviour of the CSI plugin is to use volumes of type ssd unless specified
otherwise, so you can just leave the cloudscale-volume-ssd
storage class as it is.
Make sure you have the following feature gates activated:
CSINodeInfo=true
CSIDriverRegistry=true
The following features are required but are GA in kubernetes v1.13.0. No explicit feature gate activation is needed:
CSIPersistentVolume=true
MountPropagation=true
KubeletPluginsWatcher=true
- Add support to CSI Spec
v0.3.0
. This includes many new changes, make sure to read the Github PR for more information [GH-72] - Check volume limits before provisioning calls [GH-73]
- Rename resource (DaemonSet, StatefulSet, containers, etc..) names and combine the attacher and provisioner into a single Statefulset. [GH-74]
IMPORTANT:This release contains breaking changes, mainly about how thing
are deployed. The minimum Kubernetes version needs to be now v1.10.5.
To upgrade from a prior v0.1.x
versions please remove the old CSI plugin
completely and re-install the new one:
# delete old version, i.e: v0.1.5
kubectl delete -f https://raw.githubusercontent.com/cloudscale-ch/csi-cloudscale/master/deploy/kubernetes/releases/csi-cloudscale-v0.1.5.yaml
# install v0.2.0
kubectl apply -f https://raw.githubusercontent.com/cloudscale-ch/csi-cloudscale/master/deploy/kubernetes/releases/csi-cloudscale-v0.2.0.yaml
- Makefile improvements. Please check the GH link for more information. [GH-66]
- Validate volume capabilities during volume creation. [GH-68]
- Add version information to logs [GH-65]
- Add logs to mount operations [GH-55]
- Remove description to allow users to reuse volumes that were created by the UI/API [GH-59]
- Handle edge cases from external action, such as Volume deletion via UI more gracefully. We're not very strict anymore in cases we don't need to be, but we're also returning a better error in cases we need to be. [GH-60]
- Fix attaching multiple volumes to a single pod [GH-61]
- Fix passing an empty source to
IsMounted()
function duringNodeUnpublish
. This would prevent a pod to be deleted successfully in case of a dettached volume, becauseNodeUnpublish
would never return success asIsMounted()
was failing. [GH-50]
- Check if mounts are propagated (
MountPropagation
is enabled on the host) in Node plugin to prevent silent failing. [GH-46] - Fix
IsMounted()
for bind mounts where it was returning false positives. [GH-46] - Log 422 errors for visibility in Controller publish/unpublish methods. [GH-38]
- Fix panicking on errors for nil response objects [GH-34]
- Add method names to each log entry [GH-22]
- Kubernetes deployment uses the
kube-system
namespace instead of the priordefault
namespace. Please make sure to delete and re-deploy the plugin. [GH-21] - Change secret name from
dotoken
todigitalocean
. Please make sure to update your keys (delete old secret and create new secret with namedigitalocean
). Checkout the README for instructions if needed. [GH-21] - Make DigitalOcean API configurable via the new
--url
flag [GH-27]
- First release with all important methods of the CSI spec implemented