Notice: The v1.38.0 images were promoted incorrectly due to a process error. Do not use any images from v1.38.0
and upgrade directly to v1.38.1
.
(No, really, you MUST read this before you upgrade)
Node plugin metrics have been renamed to follow Prometheus best practices:
- Added
aws_ebs_csi_
prefix - Added
_total
suffix for counters - Changed time units from microseconds to seconds for all counters
The controller plugin metrics now use the prefix aws_ebs_csi_
instead of cloudprovider_aws_
. The old metric names will still be emitted, but can be disabled via the CLI parameter --deprecated-metrics=false
on the controller. This will default to true
in a future version of the EBS CSI Driver. The old metric names (cloudprovider_aws_*
) are deprecated and will be removed in a future version of the EBS CSI Driver.
(This warning is the same as previous releases and can be disregarded if you have already taken appropriate action)
Due to an upcoming change in handling of IAM polices for the CreateVolume API when creating a volume from an EBS snapshot, a change to your EBS CSI Driver policy may be needed. For more information and remediation steps, see GitHub issue #2190. This change affects all versions of the EBS CSI Driver and action may be required even on clusters where the driver is not upgraded.
- Confirm metrics to Prometheus best practices (#2248, @torredil)
- Enable the
VolumeAttributesClass
by default for the Kustomize deployment. If you are deploying using the Kustomize manifests on a cluster that does not have theVolumeAttributesClass
feature gate enabled on the control plane, you may see harmless extra failures related to the feature in the csi-provisioner and/or csi-resizer logs. (#2240, @ConnorJC3)
- Prevent attempting to query NVMe metrics of NVMe volumes from other CSI drivers (#2239, @ConnorJC3)
Nothing has changed.
- cel.dev/expr: v0.16.1 → v0.19.1
- github.com/aws/aws-sdk-go-v2/config: v1.28.3 → v1.28.6
- github.com/aws/aws-sdk-go-v2/credentials: v1.17.44 → v1.17.47
- github.com/aws/aws-sdk-go-v2/feature/ec2/imds: v1.16.19 → v1.16.21
- github.com/aws/aws-sdk-go-v2/internal/configsources: v1.3.23 → v1.3.25
- github.com/aws/aws-sdk-go-v2/internal/endpoints/v2: v2.6.23 → v2.6.25
- github.com/aws/aws-sdk-go-v2/service/ec2: v1.187.1 → v1.196.0
- github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding: v1.12.0 → v1.12.1
- github.com/aws/aws-sdk-go-v2/service/internal/presigned-url: v1.12.4 → v1.12.6
- github.com/aws/aws-sdk-go-v2/service/sso: v1.24.5 → v1.24.7
- github.com/aws/aws-sdk-go-v2/service/ssooidc: v1.28.4 → v1.28.6
- github.com/aws/aws-sdk-go-v2/service/sts: v1.32.4 → v1.33.2
- github.com/aws/aws-sdk-go-v2: v1.32.4 → v1.32.6
- github.com/aws/smithy-go: v1.22.0 → v1.22.1
- github.com/awslabs/volume-modifier-for-k8s: v0.4.0 → v0.5.0
- github.com/container-storage-interface/spec: v1.10.0 → v1.11.0
- github.com/cyphar/filepath-securejoin: v0.3.4 → v0.3.5
- github.com/golang/groupcache: 41bb18b → 2c02b82
- github.com/google/cel-go: v0.21.0 → v0.22.1
- github.com/google/gnostic-models: v0.6.8 → v0.6.9
- github.com/google/pprof: d1b30fe → 40e02aa
- github.com/grpc-ecosystem/grpc-gateway/v2: v2.23.0 → v2.24.0
- github.com/onsi/ginkgo/v2: v2.21.0 → v2.22.0
- github.com/onsi/gomega: v1.35.1 → v1.36.1
- github.com/opencontainers/runc: v1.2.1 → v1.2.3
- github.com/prometheus/common: v0.60.1 → v0.61.0
- github.com/stretchr/testify: v1.9.0 → v1.10.0
- go.etcd.io/etcd/api/v3: v3.5.16 → v3.5.17
- go.etcd.io/etcd/client/pkg/v3: v3.5.16 → v3.5.17
- go.etcd.io/etcd/client/v3: v3.5.16 → v3.5.17
- go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp: v0.56.0 → v0.57.0
- go.opentelemetry.io/proto/otlp: v1.3.1 → v1.4.0
- golang.org/x/crypto: v0.28.0 → v0.30.0
- golang.org/x/exp: 701f63a → 1829a12
- golang.org/x/mod: v0.21.0 → v0.22.0
- golang.org/x/net: v0.30.0 → v0.32.0
- golang.org/x/oauth2: v0.23.0 → v0.24.0
- golang.org/x/sync: v0.9.0 → v0.10.0
- golang.org/x/sys: v0.27.0 → v0.28.0
- golang.org/x/term: v0.25.0 → v0.27.0
- golang.org/x/text: v0.20.0 → v0.21.0
- golang.org/x/time: v0.7.0 → v0.8.0
- golang.org/x/tools: v0.26.0 → v0.28.0
- google.golang.org/genproto/googleapis/api: dd2ea8e → e6fa225
- google.golang.org/genproto/googleapis/rpc: dd2ea8e → e6fa225
- google.golang.org/grpc: v1.68.0 → v1.68.1
- google.golang.org/protobuf: v1.35.1 → v1.35.2
- k8s.io/api: v0.31.2 → v0.31.4
- k8s.io/apiextensions-apiserver: v0.31.2 → v0.31.4
- k8s.io/apimachinery: v0.31.2 → v0.31.4
- k8s.io/apiserver: v0.31.2 → v0.31.4
- k8s.io/cli-runtime: v0.31.2 → v0.31.4
- k8s.io/client-go: v0.31.2 → v0.31.4
- k8s.io/cloud-provider: v0.31.2 → v0.31.4
- k8s.io/cluster-bootstrap: v0.31.2 → v0.31.4
- k8s.io/code-generator: v0.31.2 → v0.31.4
- k8s.io/component-base: v0.31.2 → v0.31.4
- k8s.io/component-helpers: v0.31.2 → v0.31.4
- k8s.io/controller-manager: v0.31.2 → v0.31.4
- k8s.io/cri-api: v0.31.2 → v0.31.4
- k8s.io/cri-client: v0.31.2 → v0.31.4
- k8s.io/csi-translation-lib: v0.31.2 → v0.31.4
- k8s.io/dynamic-resource-allocation: v0.31.2 → v0.31.4
- k8s.io/endpointslice: v0.31.2 → v0.31.4
- k8s.io/kms: v0.31.2 → v0.31.4
- k8s.io/kube-aggregator: v0.31.2 → v0.31.4
- k8s.io/kube-controller-manager: v0.31.2 → v0.31.4
- k8s.io/kube-openapi: 67ed584 → 9959940
- k8s.io/kube-proxy: v0.31.2 → v0.31.4
- k8s.io/kube-scheduler: v0.31.2 → v0.31.4
- k8s.io/kubectl: v0.31.2 → v0.31.4
- k8s.io/kubelet: v0.31.2 → v0.31.4
- k8s.io/kubernetes: v1.31.2 → v1.31.4
- k8s.io/metrics: v0.31.2 → v0.31.4
- k8s.io/mount-utils: v0.31.2 → v0.31.4
- k8s.io/pod-security-admission: v0.31.2 → v0.31.4
- k8s.io/sample-apiserver: v0.31.2 → v0.31.4
- k8s.io/utils: 6fe5fd8 → 24370be
- sigs.k8s.io/apiserver-network-proxy/konnectivity-client: v0.31.0 → v0.31.1
- sigs.k8s.io/structured-merge-diff/v4: v4.4.1 → v4.4.3
Nothing has changed.
(No, really, you MUST read this before you upgrade)
Due to an upcoming change in handling of IAM polices for the CreateVolume API when creating a volume from an EBS snapshot, a change to your EBS CSI Driver policy may be needed. For more information and remediation steps, see GitHub issue #2190. This change affects all versions of the EBS CSI Driver and action may be required even on clusters where the driver is not upgraded.
- Export EBS detailed performance statistics as Prometheus metrics for CSI-managed volumes (#2216, @torredil)
- Update example-iam-policy.json for non 'aws' partitions (#2193, @willswire)
- Add Dependabot for Go module & GitHub Action dependencies (#2179, @AndrewSirenko)
- Add middleware to log server errors (#2196, @ConnorJC3)
- Enable golang-ci linters (#2204, @AndrewSirenko)
- Enable VAC tests (#2220, @ElijahQuinones)
- Upgrade dependencies (#2223, @torredil)
(No, really, you MUST read this before you upgrade)
Due to an upcoming change in handling of IAM polices for the CreateVolume API when creating a volume from an EBS snapshot, a change to your EBS CSI Driver policy may be needed. For more information and remediation steps, see GitHub issue #2190. This change affects all versions of the EBS CSI Driver and action may be required even on clusters where the driver is not upgraded.
- Prevent
VolumeInUse
error when volume is still attaching (#2183, @ConnorJC3) - Add v1 Karpenter disrupted taint to pre-stop hook (#2166, @AndrewSirenko)
- Update example policy for IAM change (#2163, @ConnorJC3)
- Add EnableFSRs to example policy (#2168, @ConnorJC3)
- Add m8g, c8g, x8g, g6e, and p5e attachment limits (#2181, @AndrewSirenko)
- Update FAQ to include section on Volume Attachment Capacity Issues (#2169, @torredil)
- Use protobuf content type instead of json for k8s client (#2138, @bhavi-koduru)
- Update dependencies ahead of v1.36 (#2182, @AndrewSirenko)
- Migrate to kubekins-e2e-v2 (#2177, @AndrewSirenko)
- Add legacy-xfs driver option for clusters that mount XFS volumes to nodes with Linux kernel <= 5.4. Warning: This is a temporary workaround for customers unable to immediately upgrade their nodes. It will be removed in a future release. See the options documentation for more details.(#2121,@AndrewSirenko)
- Add local snapshots on outposts (#2130, @ElijahQuinones)
- Bump dependencies for driver release v1.35.0 (#2142, @ElijahQuinones)
- Add support for outpost nodegroups to make cluster/create (#2135, @ConnorJC3)
- Update faq.md with Karpenter best practices (#2131,@AndrewSirenko)
- Consider accelerators when calculating node attachment limit (#2115, @ElijahQuinones)
- Consider GPUs when calculating node attachment limit (#2108, @ElijahQuinones)
- Ensure ModifyVolume returns InvalidArgument error code if VAC contains invalid parameter (#2103, @mdzraf)
- Document metadata requirement and available sources (#2117, @ConnorJC3)
- Upgrade dependencies (#2123, @AndrewSirenko)
(No, really, you MUST read this before you upgrade)
- The AZ topology key
CreateVolume
returns has changed fromtopology.ebs.csi.aws.com/zone
totopology.kubernetes.io/zone
. Volumes created onv1.33.0
or any future version will be incompatible with versions beforev1.28.0
. No other customer-facing impact is expected unless you directly depend on the topology label. For more information and the reasoning behind this change, see issue #729.
- Migrate CreateVolume response topology to standard label topology.kubernetes.io/zone (#2086, @ConnorJC3)
- Add ability to modify EBS volume tags via VolumeAttributesClass (#2082, @mdzraf)
- Add --kubeconfig flag for out-of-cluster auth (#2081, @cartermckinnon)
- Bump GCR sidecars that reference broken tags (#2091, @ConnorJC3)
- Bump go version to fix govulncheck failure (#2080, @ConnorJC3)
- Use new client token when CreateVolume returns IdempotentParameterMismatch (#2075, @ConnorJC3)
- Change coalescer InputType from comparable to any (#2083, @ConnorJC3)
- Fix function name in comment #2088 (#2088, @augustkang)
- Developer Experience Improvements (#2079, @ConnorJC3)
- Bump dependencies for driver release v1.33.0 (#2094, @ElijahQuinones)
- The next minor version (
v1.33.0
) of the EBS CSI Driver will migrate the AZ topology labelCreateVolume
returns fromtopology.ebs.csi.aws.com/zone
totopology.kubernetes.io/zone
. Volumes created on this or any future version will be incompatible with EBS CSI Driver versions beforev1.28.0
, preventing a downgrade of more than 5 releases in the past. No other customer-facing impact is expected unless you directly depend on the topology label. For more information and the reasoning behind this change, see issue #729.
- Fix off-by-one error in ENI calculation when using IMDS metadata (#2065, @AndrewSirenko)
- Greatly clarify misleading metadata logging (#2049, @ConnorJC3)
- Add missing Kubernetes license headers (#2023, @torredil)
- Bump dependencies for release v1.32.0 (#2069, @ConnorJC3)
- Add Alpha Support for Windows HostProcess Containers (#2011, @torredil)
- Decrease median dynamic provisioning time by 1.5 seconds (#2021, @AndrewSirenko)
- Inject volumeWaitParameters dependency (#2022, @AndrewSirenko)
- Implement separate coalescer package and unit tests (#2024, @ConnorJC3)
- Replace coalescer implementation with new coalescer package (#2025, @ConnorJC3)
- Add make cluster/image command; Build image and cluster in parallel for CI (#2028, @ConnorJC3)
- Tune batched EC2 Describe* maxDelay (#2029, @AndrewSirenko)
- Add retry manager to reduce RateLimitExceeded errors (#2010, @AndrewSirenko)
- Add options to run metrics endpoint over HTTPS (#2014, @ConnorJC3)
- Remove DeleteDisk call in CreateDisk path (#2009, @ConnorJC3)
- Consolidate request handling in RecordRequestsMiddleware (#2013, @torredil)
- Run taint removal only if Kubernetes API is available (#2015, @torredil)
- Migrate to AWS SDKv2 (#1963, @torredil)
- Batch EC2 DescribeVolumesModifications API calls (#1965, @AndrewSirenko)
- Improve configuration management; Improve the relationship between driver, controller, & cloud (#1995, @torredil)
- Fix CVE G0-2024-2687 by bumping go and /x/net dependencies (#1996, @AndrewSirenko)
- Fix relationship between node service and mounter interface (#1997, @torredil)
- Fix DeleteSnapshot error message (#2000, @AndrewSirenko)
- Add explicit AttachVolume call in WaitForAttachmentState (#2005, @torredil)
- Handle deleted Node case in hook; Add support for CAS taint (#2007, @ConnorJC3)
- Correctly forward os.version for Windows images in multi-arch manifests (#1985, @ConnorJC3)
- Implement KEP3751 ("ControllerModifyVolume") (#1941, @ConnorJC3)
- Batch EC2 DescribeSnapshots calls (#1958, @AndrewSirenko)
- Batch EC2 DescribeInstances calls (#1947, @AndrewSirenko)
- Validate Karpenter Disruption taints as part of preStop node evaluation (#1969, @alexandermarston)
- Add OS topology key to node segments map (#1950, @torredil)
- Add missing instances to instance store volumes table (#1966, @ConnorJC3)
- Add
c6id
andr6id
adjusted limits tovolume_limits.go
(#1961, @talnevo) - Ensure CSINode allocatable count is set on node before removing startup taint (#1949, @torredil)
- Upgrade golangci-lint (#1971, @torredil)
- Return ErrInvalidArgument in cloud upon EC2 ModifyVolume (#1960, @AndrewSirenko)
- Address CVE GO-2024-2611 (#1959, @torredil)
- Upgrade to go v1.22 (#1948, @AndrewSirenko)
- Add ability to override heuristic-determined reserved attachments via
--reserved-volume-attachments
CLI option (#1919, @jsafrane)- In its default behavior, the EBS CSI Driver will attempt to guess the number of reserved volume slots via IMDS metadata (when it is available). Specifying the
--reserved-volume-attachments
CLI option overrides this heuristic value with a user-supplied value. - It is strongly encouraged for users that need to reserve a well-known number of volume slots for non-CSI volumes (such as mounting an extra volume for
/var/lib/docker
data) use this new CLI option to avoid incorrect or incosistent behavior from the heuristic.
- In its default behavior, the EBS CSI Driver will attempt to guess the number of reserved volume slots via IMDS metadata (when it is available). Specifying the
- Report zone via well-known topology key in NodeGetInfo (#1931, @ConnorJC3)
- A future release of the EBS CSI Driver will migrate the topology key for created volumes from
topology.ebs.csi.aws.com/zone
to the well-known and standardtopology.kubernetes.io/zone
. - After this future migration, downgrades of the EBS CSI Driver to versions prior to
v1.28.0
will become impossible in some environments (particularly, environments not running the AWS CCM).
- A future release of the EBS CSI Driver will migrate the topology key for created volumes from
- Fix three tooling papercuts (#1933, @ConnorJC3)
- Add scalability FAQ entry (#1894, @AndrewSirenko)
- Add 6 minute attachment delay FAQ entry (#1927, @torredil)
- Add
--modify-volume-request-handler-timeout
CLI option (#1915, @andrewcharlton) - Add
Makefile
target for code coverage report (#1932, @torredil) - Bump dependencies for release; Add m7i-flex instance type to dedicated limits list (#1936, @ConnorJC3)
- Enable use of driver on AMIs with instance store mounts (#1889, @ConnorJC3)
- Remove premature CreateVolume error if requested IOPS is below minimum (#1883, @AndrewSirenko)
- Fix taint removal retry for non-swallowed errors (#1898, @ConnorJC3)
- Use lsblk to safeguard against outdated symlinks (#1878, @ConnorJC3)
- Bump go/sidecar dependencies (#1900, @AndrewSirenko)
- Pre-stop Lifecycle Hook enhancements (#1895, @torredil)
- Fix csi sidecar container restarts after 30 minutes of idleness by upgrading to latest versions of affected sidecars (#1886, @AndrewSirenko)
- Fix regression for those upgrading from pre-v1.12.0 who have misconfigured GP3 storage classes with IOPS below 3000 (#1879, @AndrewSirenko)
- Bump golang.org/x/crypto to v0.17.0 to fix CVE-2023-48795 ($1877, @dobsonj)
- Upgrade dependencies (#1886, @AndrewSirenko)
- Add retry and background run to node taint removal (#1861, @ConnorJC3)
- Add U7i attachment limits (#1867, @AndrewSirenko)
- Clamp minimum reported attachment limit to 1 to prevent undefined limit (This will prevent K8s from unrestricted scheduling of stateful workloads) (#1859, @torredil)
- Instances listed under
maxVolumeLimits
not taking into account ENIs/Instance storage (#1860, @torredil)
- Upgrade dependencies for aws-ebs-csi-driver v1.26.0 (#1867, @AndrewSirenko)
- Bump otelhttp to fix CVE-2023-45142 (#1858, @jsafrane)
- Feature: Multi-Attach for io2 block devices (#1799, @torredil)
- Mitigate EC2 rate-limit issues by batching DescribeVolume API requests (#1819, @torredil)
- Update default sidecar timeout values in chart to improve driver performance (#1824, @torredil)
- Increase default QPS and worker threads of sidecars in chart to improve driver performance (#1834, @ConnorJC3)
- Add volume limits for r7i (#1832, @torredil)
- Upgrade driver & sidecar dependencies for v1.25.0 (#1835, @AndrewSirenko)
- Bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp to v0.45.0 (#1827, @jsafrane)
- Update modify-volume.md (#1816, @sebastianlzy)
- Add compatibility workaround for A1 instance family (#1811, @ConnorJC3)
- Upgrade dependencies (and resolve CVEs found in #1800) (#1809, @ConnorJC3)
- Support clustered allocation with ext4 filesystems. This allows developers to enable torn write prevention on their dynamically provisioned volumes to improve the performance of I/O-intensive relational database workloads. (#1706, @AndrewSirenko)
- Add volume limits for m7a, c7a, c7i, r7a, r7iz instance families (#1742 & #1776, @torredil)
- Document topologies in parameters.md (#1764, @ConnorJC3)
- Upgrade dependencies (#1781, @AndrewSirenko)
- Metric Instrumentation Framework (#1767, @torredil)
- Add compatibility workaround for A1 instance family (#1811, @ConnorJC3)
- Upgrade dependencies (and resolve CVEs found in #1800) (#1809, @ConnorJC3)
- Upgrade volume-modifier-for-k8s sidecar to 0.1.3 for Leader election conflict with csi-resizer bug fix (#14, @torredil)
(No, really, you MUST read this before you upgrade)
The EBS CSI Driver's Linux base image was upgraded from Amazon Linux 2 (AL2) to Amazon Linux 2023 (AL2023) in this release. This change will continue to improve the performance and security of the EBS CSI Driver via updates available only on AL2023.
As part of this change, e2fsprogs will be upgraded from 1.42.9
to 1.46.5
and xfsprogs will be upgraded from 5.0.0
to 5.18.0
. New volumes created on versions of the EBS CSI Driver with an AL2023 base image may fail to mount or resize on versions of the EBS CSI Driver with an AL2 base image. For this reason, downgrading the EBS CSI Driver across base images will not be supported and is strongly discouraged. Please see [Announcement] Base image upgrade to AL2023 · Issue #1719 · kubernetes-sigs/aws-ebs-csi-driver to provide any questions or feedback.
- PreStop lifecycle hook to alleviate 6+ minute force-detach delay (#1736, @torredil)
- Add option for opentelemetry tracing of gRPC calls (#1714, @Fricounet)
- Upgrade Linux base image to AL2023 (#1731, @AndrewSirenko)
- Do not call ModifyVolume if the volume is already in the desired state (#1741, @ConnorJC3)
- Dependancy upgrades (#1743, @AndrewSirenko)
- Cherry-pick from v1.23.1: Do not call ModifyVolume if the volume is already in the desired state (#1741, @ConnorJC3)
- Upgrade volume-modifier-for-k8s sidecar to 0.1.3 for Leader election conflict with csi-resizer bug fix (#14, @torredil)
(No, really, you MUST read this before you upgrade)
In an upcoming version, the EBS CSI Driver will upgrade the base image from AL2 to AL2023. For more information and to provide feedback about this change, see issue #1719
- Request coalescing for resizing and modifying volume (#1676, @hanyuel)
- Support specifying inode size for filesystem format (#1661, @fgksgf)
- Correct volume limits for i4i instance types (#1699, @talnevo)
- Use SSM to get latest stable AMI for EC2 nodes (#1689, @torredil)
- Add
i4i.large
to volume limits config (#1715, @torredil)
- Add volume limits for m7i family (#1710, @ConnorJC3)
- Enable setting throughput without specifying volume type when modifying volumes (#1667, @Indresh2410)
- Reorder device names to prevent bad behavior on non-nitro instance types (#1675, @ConnorJC3)
- Enable leader election in csi-resizer sidecar (#1606, @rdpsin)
- Namespace-scoped leases permissions (#1614, @torredil)
- Add additionalArgs parameter for sidecars (#1627, @ConnorJC3)
- Fix context handling in WaitForVolumeAttachment & add in-flight checks to attachment/detachment operations (#1621, @torredil)
- Extend resource list in Kustomization file (#1634, @torredil)
- Idempotent unmount from NodeUnstageVolume / NodeUnpublishVolume (#1605, @dobsonj)
- Remove condition on iopspergb key being mandatory for io1 volumes (#1590, @surian)
- Avoid generating manifests with empty envFrom fields (#1630, @mvgmb)
- Update DM allocator to use all available names (#1626, @ConnorJC3)
- Update logline to remove "formatted" (#1612, @odinuge)
- Bump kOps k8s version to 1.27; Bump eksctl k8s version to 1.26 (#1567, @ConnorJC3)
- Revert Increase external test pod start timeout (#1615, @torredil)
- Remove old coverage banner from README (#1617, @jacobwolfaws)
- Allow to set automountServiceAccountToken in ServiceAccount (#1619, @kahirokunn)
- Upgrade dependencies (#1637, @torredil)
(No, really, you MUST read this before you upgrade)
Windows 20H2 hosts are no longer supported. Windows 20H2 is no longer supported by Microsoft.
- Add support for annotation-based volume modification via volume-modifier-for-k8s sidecar (#1600, @rdpsin)
- Add startup taint removal feature (#1588, @ConnorJC3 and @gtxu)
- Check for 'not mounted' in linux Unstage/Unpublish (#1597, @ConnorJC3)
- Update list of nitro instances (#1573, @patderek)
- Allow throughput with defaulted GP3 volume type (#1584, @ConnorJC3)
- Use dl.k8s.io instead of kubernetes-release bucket (#1593, @ratnopamc)
- Migrate to EKS-D Windows base images (#1601, @ConnorJC3)
- Drop support for Windows 20H2 (#1598, @torredil)
- Add option to append extra string to user agent (#1599, @torredil)
(No, really, you MUST read this before you upgrade)
This will be the last minor release of the AWS EBS CSI Driver to support Windows 20H2 hosts. Windows 20H2 is no longer supported by Microsoft. Future releases of the AWS EBS CSI Driver will no longer be built for Windows 20H2.
- Add support for Fast Snapshot Restore (#1554, @torredil)
- Support for interpolated tags in
VolumeSnapshotClass
(#1558, @hanyuel) - Add target to run External Storage tests on Windows nodes (#1521, @torredil)
- Add non-negative check on volume limit for
CSINode
(#1542, @gtxu) - Fix volume mounts on AWS Snow devices (#1546, @ConnorJC3)
- Improve consistency/idempotency of Windows mounting (#1526, @torredil)
- Add liveness probe for node-driver-registrar container (#1570, @gtxu)
- Fix calculation of attached block devices from IMDS (#1561, @torredil)
- Migrate Kustomize configuration from 'bases' to 'resources' (#1539, @torredil)
- Reduce CI flakiness by removing unnecessary SSH certificates (#1566, @ConnorJC3)
(No, really, you MUST read this before you upgrade)
k8s.gcr.io
will be redirected on Monday March 20th, and may stop working entirely in the near future. If you are using k8s.gcr.io
you MUST move to registry.k8s.io
to continue receiving support.
Issues related to k8s.gcr.io
will no longer be accepted. public.ecr.aws
and registry.k8s.io
images are unaffected and remain supported as per the support policy.
- Add support for XFS custom block sizes (#1523, @ConnorJC3)
- Add support for instances with more than 52 volumes attached (#1518, @ConnorJC3)
- Fix improper handling of manually-mounted volumes (#1518, @ConnorJC3)
- Security fixes
- Add support for JSON logging (#1467, @torredil)
--logging-format
flag has been added to set the log format. Valid values aretext
andjson
. The default value istext
.--logtostderr
is deprecated.- Long arguments prefixed with
-
are no longer supported, and must be prefixed with--
. For example,--volume-attach-limit
instead of-volume-attach-limit
.
- k8s.gcr.io -> registry.k8s.io (#1488, @ConnorJC3)
- The GCR manifests now use
registry.k8s.io
instead ofk8s.gcr.io
for the image repository. For users that rely on it, the images will still be pushed tok8s.gcr.io
for the forseeable future, but we recommend migration toregistry.k8s.io
as soon as reasonably possible. For more information, see registry.k8s.io: faster, cheaper and Generally Available (GA).
- The GCR manifests now use
- The sidecars have been updated. The new versions are:
- csi-provisioner:
v3.4.0
- csi-attacher:
v4.1.0
- csi-snapshotter:
v6.2.1
- livenessprobe:
v2.9.0
- csi-resizer:
v1.7.0
- node-driver-registrar:
v2.7.0
- csi-provisioner:
- Bump CI k8s version to 1.26.1 (and other CI tools upgrades) (#1487, @ConnorJC3)
- Bump GitHub Actions workflows (#1491, @ConnorJC3)
- Upgrade golangci-lint (#1505, @torredil)
- Use test driver image when testing upgrades with CT (#1486, @torredil)
- Disable buildx provenance (#1491, @ConnorJC3)
- Security fixes
- Support specifying block size for filesystem format (#1452, @ConnorJC3)
- Change default sidecars to EKS-D (#1475, @ConnorJC3, @torredil)
- The sidecars have been updated. The new versions are:
- csi-provisioner:
v3.3.0
- csi-attacher:
v4.0.0
- csi-snapshotter:
v6.1.0
- livenessprobe:
v2.8.0
- csi-resizer:
v1.6.0
- node-driver-registrar:
v2.6.2
- csi-provisioner:
- Manually setup remote for CT on Prow (#1473, @ConnorJC3)
- Fix volume limits for
m6id
andx2idn
instance types (#1463, @talnevo)
- We would like to sincerely thank: @talnevo
- (Cherry-Pick) Fixed handling of volume limits for instance types m6id and x2idn
- Bumped golang dependencies
- Rebuilt driver container with newer base image (containing security fixes)
- In the next minor release (v1.15.0, scheduled for January) the default sidecars will be changed, see #1456
- Add version information from tag to GCR build (#1426, @ConnorJC3)
pkg/driver/controller.go
uses ToLower (#1429, @yevhenvolchenko)- Increase cloudbuild timeout (#1430, @torredil)
- Use
PULL_BASE_REF
forVERSION
instead ofGIT_TAG
for GCR builds (#1439, @ConnorJC3) - Grab version via tag directly from git (#1441, @ConnorJC3)
- Upgrade K8s to
v1.25
; Upgrade ginkgo tov2
; Use upstream binary fore2e-kubernetes
(#1341, @torredil) - Add release and support policy to README.md (#1392, @torredil)
- Update and run update-gomock (#1422, @torredil)
- Upgrade Go/CI dependencies (#1433, @torredil)
- Upgrade golangci-lint; Fix linter errors (#1435, @torredil)
- We would like to sincerely thank: @yevhenvolchenko
- Addreses ALAS2-2022-1854 and ALAS2-2022-1849
- Addreses ALAS2-2022-1854 and ALAS2-2022-1849
- Unify IOPS handling across volume types (#1366, @torredil)
- Change fsGroupPolicy to File (#1377, @ConnorJC3)
- Add resolver to handle custom endpoints (#1398, @bertinatto)
- Add enableMetrics configuration (#1380, @torredil)
- Build Windows container for Windows Server 2022 LTSC (#1408, @ConnorJC3)
- Add support for io2 Block Express volumes (#1409, @ConnorJC3)
- c6i.metal and g5g.metal are nitro instances (#1358, @wmesard)
- Update release notes; Implement useOldCSIDriver parameter (#1391, @ConnorJC3)
- Add controller nodeAffinity to prefer EC2 over Fargate (#1360, @torredil)
- Add warning message when region is unavailable on the controller (#1359, @ConnorJC3)
- Retrieve region/AZ from topology label (#1360, @torredil)
- Update the kustomization deployment to latest image tag (#1367, @gtxu)
- Update module k8s.io/klog to v2 (#1370, @torredil)
- Updating static example to include setting fsType (#1376, @jbehrends)
- Allow all taint for csi-node by default (#1381, @gtxu)
- add link to install guide (#1383, @geoffcline)
- Add self to OWNERS (#1399, @ConnorJC3)
- Cleanup OWNERS (#1403, @ConnorJC3)
- Add snow device types to parameters (#1404, @TerryHowe)
- revise preqs for install docs (#1389, @geoffcline)
- Update workflows (#1401, @torredil)
- Add .image-* files from Makefile to .gitignore (#1410, @ConnorJC3)
- Update trivy.yaml workflow event trigger (#1411, @torredil)
- We would like to sincerely thank: @TerryHowe, @bertinatto, @geoffcline, & @jbehrends
- Update go version; Update dependencies (#1394, @torredil)
- go
1.17
->1.19
- github.com/aws/aws-sdk-go
v1.44.45
->v1.44.101
- github.com/google/go-cmp
v0.5.8
->v0.5.9
- github.com/onsi/gomega
v1.19.0
->v1.20.2
- golang.org/x/sys
v0.0.0-20220728004956-3c1f35247d10
->v0.0.0-20220919091848-fb04ddd9f9c8
- google.golang.org/grpc
v1.47.0
->v1.49.0
- go
- Address CVEs (#1384, @torredil)
- Upgrade github.com/prometheus/client_golang
v1.11.0
->v1.11.1
to address CVE-2022-21698. - Upgrade golang.org/x/net
v0.0.0-20220225172249-27dd8689420f
->v0.0.0-20220906165146-f3363e06e74c
to address CVE-2022-27664.
- Upgrade github.com/prometheus/client_golang
- Enable EBS CSI driver for AWS Snow devices (#1314, @jigisha620)
- Implement securityContext for containers (#1333, @ConnorJC3)
- Apply fix from helm chart to kustomize manifests (#1350, @ConnorJC3)
- Explicitly pass VERSION as a build-arg (#1351, @torredil)
- Automate ECR release (#1339, @torredil)
- Remove /vendor directory (#1328, @torredil)
- Set release draft to true (#1351, @torredil)
- Set VERSION env variable in publish-ecr workflow (#1346, @torredil)
- doc: update pvc binding (#1337, @vikram-katkar)
- Skip Testpattern: Pre-provisioned PV in migration tests (#1329, @torredil)
- Only run helm action when Chart.yaml modified (#1334, @ConnorJC3)
- Update parameters.md (#1329, @ConnorJC3, @torredil)
- Update to kOps v1.23.0 (#1329, @wongma7, @ConnorJC3, @torredil)
- Improve build time (#1331, @torredil)
- Pass GOPROXY to image builder (#1330, @wongma7)
- Run hack/update-gofm with go1.19rc2 (#1325, @torredil)
- We would like to sincerely thank: @jigisha620, @ConnorJC3, @wongma7, @olemarkus, @vikram
Versions [v1.11.0, v1.11.1] were skipped due to incorrect version metadata in the container.
- OS/Architecture specific tags are no longer being pushed to public ECR (#1315)
- Validate
csi.storage.k8s.io/fstype
before mounting (#1319, @torredil) - Update install.md (#1313, @torredil)
- Upgrade dependencies (#1296, @torredil)
- k8s.io/kubernetes
v1.21.11
->v1.22.11
- github.com/aws/aws-sdk-go
v1.43.37
->v1.44.45
- github.com/container-storage-interface/spec
v1.3.0
->v1.6.0
- github.com/golang/mock
v1.5.0
->v1.6.0
- github.com/golang/protobuf
v1.5.0
->v1.5.2
- github.com/google/go-cmp
v0.5.5
->v0.5.8
- github.com/kubernetes-csi/csi-proxy/client
v1.0.1
->v1.1.1
- github.com/kubernetes-csi/csi-test
v2.0.0+incompatible
->v2.2.0+incompatible
- github.com/kubernetes-csi/external-snapshotter/client/v4
v4.0.0
->v4.2.0
- github.com/onsi/ginkgo
v1.11.0
->v1.16.5
- github.com/onsi/gomega
v1.7.1
->v1.19.0
- github.com/stretchr/testify
v1.6.1
->v1.8.0
- golang.org/x/sys
v0.0.0-20211216021012-1d35b9e2eb4e
->v0.0.0-20220627191245-f75cf1eec38b
- google.golang.org/grpc
v1.34.0
->v1.47.0
- k8s.io/kubernetes
- Add GitHub actions (#1297, @torredil)
- Fix broken CHANGELOG link in release.yaml
- Add codeql-analysis.yaml for additional vulnerability scanning
- Add unit-tests.yaml for multi-platform unit testing (Linux/Windows)
- Add verify.yaml which runs
make verify
- Update livenessprobe to
v2.6.0
(#1303, @t0rr3sp3dr0)
- Fix version of K8s manifest images (#1303, @t0rr3sp3dr0)
- Fix image tags in ecr-public kustomization (#1305, @torredil)
- Use mount utils to check if volume needs resizing (#1165, @RomanBednar)
- Improve metadata_ec2.go error logging (#1294, @torredil)
- We would like to sincerely thank: @RomanBednar and @t0rr3sp3dr0
- Change base image from Amazon Linux 2 to EKS minimal for linux builds
- We would like to sincerely thank: @jaxesn
- To improve the security of the container images, the base image will be switched from Amazon Linux 2 to EKS Distro Minimal in an upcoming release. The new minimal base image only contains the necessary driver dependencies which means it will not include a shell. Please be aware that while this change won't break workloads, it may break processes for debugging if you are using a shell.
- Set handle-volume-inuse-error to false which fixes csi-resizer getting OOMKilled (#1280, @stijndehaes)
- Update sidecars (#1260, @gtxu)
- Remove container-image.yaml (#1239, @torredil)
- Replace Windows 2004(EOL) with ltsc2019 (#1231, @torredil)
- Fix unable to create CSI snapshot-EBS csi driver (#1257, @torredil)
- Temporarily fix CI (#1240, @torredil)
- Fix IOPS parameter bug when no volume type is defined (#1236, @torredil)
- Add quotes around the extra-tags argument in chart template (#1198, @Kaezon)
- Address ALAS2-2022-1801, ALAS2-2022-1802, ALAS2-2022-1805
- Update golang.org/x/crypto for CVE-2022-27191 (#1210, @jsafrane)
- Bump up Helm chart to v2.6.10 (#1272, @torredil)
- Upgrade eksctl to v0.101.0 (#1271, @torredil)
- Avoid git tag conflicts when vendoring hack/e2e in other repos (efs/fsx) (#1270, @wongma7)
- Update parameters.md (#1269, @torredil)
- Update documentation (#1263, @torredil)
- Bump up helm chart to v2.6.9 (#1262, @torredil)
- Post-release v1.6.2 (#1244, @gtxu)
- Prepare release v1.6.2 (#1241, @gtxu)
- Cleanup OWNERS list (#1238, @torredil)
- Update gcb-docker-gcloud to latest (#1230, @rdpsin)
- Use docker buildx 0.8.x --no-cache-filter to avoid using cached amazon linux image (#1221, @wongma7)
- Add self to OWNERS (#1229, @torredil)
- Add self to OWNERS (#1228, @rdpsin)
- We would like to sincerely thank: @jsafrane, @Kaezon, @stijndehaes
- Address CVE ALAS-2022-1792
- Address CVE ALAS2-2022-1782, ALAS2-2022-1788, ALAS2-2022-1784
- Adding tagging support through StorageClass.parameters (#1199, @rdpsin)
- Add volume resizing support for windows (#1207, @torredil)
- Update deprecated command
go get
(#1194, @gtxu) - Upgrade PodDisruptionBudget api version for kubernetes 1.21+ (#1196, @wangshu3000)
- Bump prometheus/client_golang to v1.11.1 (#1197, @dobsonj)
- Updated TAGGING.md to mention minimum version for tagging (#1202, @rdpsin)
- Update README.md to reflect correct tag key for snapshots (#1203, @rdpsin)
- Address CVE ALAS-2022-1764
- Address CVE ALAS-2021-1552, ALAS2-2022-1736, ALAS2-2022-1738, ALAS2-2022-1743
- Update windows example to refer to v1.4.0 (#1093, @wongma7)
- Bump eksctl used in e2e tests to 0.69.0 (#1094, @wongma7)
- Update to go 1.17 (#1109, @bertinatto)
- Recognize instance-type node label when EC2 metadata isn't available (#1060, @rifelpet)
- Fix windows NodePublish failing because mount target doesn't exist (#1081, @wongma7)
- Search for nvme device path even if non-nvme exists (#1082, @wongma7)
- Bump csi-proxy from RC v1.0.0 to GA v1.0.1 (#1018, @wongma7)
- Fix spacing in RELEASE.md (#1035, @wongma7)
- [chart] Support image.pullPolicy for csi-resizer image (#1045, @jyaworski)
- merge 1.3.0 release and post-release commits into master (#1068, @vdhanan)
- Allow default fstype to be overriden via values.yaml (#1069, @jcrsilva)
- Update windows example for image release (#1070, @wongma7)
- Refactor pkg/cloud/metadata.go into pkg/cloud/metadata_*.go files (#1074, @wongma7)
- Move mocks to parent package to avoid import cycle (#1078, @wongma7)
- deploy: Add resizer and snapshotter images to kustomization (#1080, @maxbrunet)
- deploy: Fix csi-resizer tag and bump to v1.1.0 (#1085, @maxbrunet)
- Reorder isMounted for readability (#1087, @wongma7)
- Push multi-arch/os image manifest to ECR.
- Make NodePublish Mount Idempotent (#1019, @nirmalaagash)
- Build and push multi-arch/os (amazon and windows, no debian) image manifest via Make rules (#957, @wongma7)
- Fix windows build IsCorruptedMnt not implemented (#1047, @wongma7)
- Hash volume name to get client token (#1041, @vdhanan)
- Include ClusterRole and ClusterRoleBinding for csi-node (#1021, @groodt)
- Fix gcr prow builld failing because docker missing --os-version (#1020, @wongma7)
- Fix gcr prow build failing because of IMAGE variable collision (#1017, @wongma7)
- Fix github build failing because of wrong docker hub registry name (#1016, @wongma7)
- [chart] Add controller strategy (#1008, @stevehipwell)
- [chart] Node update strategy & auto driver image tag (#988, @stevehipwell)
- Update helm chart alongside kustomize, after images have been pushed, for consistency (#1015, @wongma7)
- Update kustomize templates only after verifying images are available in registries (#995, @wongma7)
- Fix mount idempotency (#1019, @nirmalaagash)
- utilize latest go sdk to ensure createVolume idempotency (#982, @AndyXiangLi)
- Implement Windows NodePublish/Unpublish (#823, @wongma7)
- In a future release, the debian-based image will be removed and only an al2-based image will be maintained and pushed to GCR and ECR
- In a future release, images will stop getting pushed to Docker Hub
- Update driver capabilities (#922, @wongma7)
- update inFlight cache to avoid race condition on volume operation (#924, @AndyXiangLi)
- Update example policy, use it in tests, and document it (#940, @wongma7)
- Default extra-create-metadata true so that volumes get created with pvc/pv tags (#937, @wongma7)
- Default controller.extra-create-metadata true so that volumes get created with pvc/pv tags (#941, @wongma7)
- Implement Windows NodePublish/Unpublish (#823, @wongma7)
- Feature/allow add debug args (#970, @mkkatica)
- Updated default setting of windows daemon set (#978, @nirmalaagash)
- Update to csi-proxy v1 APIs (#966, @wongma7)
- Add test-e2e-external-eks make rule that tests EKS with pod instance metadata disabled. Remove hostNetwork from DaemonSet (#907, @wongma7)
- helm chart configurable log verbosity (#908, @wongma7)
- Fix podLabels case in Helm chart (#925, @eytanhanig)
- Add KubernetesCluster tag to provisioned volumes when cluster-id set (#932, @wongma7)
- Stop pushing latest tag and remove all references to it (#949, @wongma7)
- Install snapshot controller independently of helm for e2e tests (#968, @wongma7)
- Several breaking changes to the helm chart (#965, @krmichel)
- Increased the helm chart version (#980, @nirmalaagash)
- [helm-chart] csi-snapshotter in ebs-csi-controller now checks for enableVolumeSnapshot before including it in containers (#960, @missingcharacter)
- Disable uuid checks on XFS (#913, @jsafrane)
- merge v1.1.0 release commits back to master (#921, @vdhanan)
- Add migration upgrade/downgrade test (#927, @wongma7)
- Grant EKSCTL_ADMIN_ROLE admin access to eksctl clusters (#933, @wongma7)
- Adding CRDs VolumeSnapshotClass, VolumeSnapshotContent, VolumeSnapshot for snapshot.storage.k8s.io/v1 (#938, @missingcharacter)
- Revert "Fix kustomize RBAC bindings to have namespace kube-system" (#947, @TheRealDwright)
- Clarify that using instance profile for permission requires instance metadata access on (#952, @wongma7)
- Release v1.1.1 and chart v1.2.4 (#959, @wongma7)
- Download fixed version of eksctl to avoid bugs (#967, @wongma7)
- Nit: Fix typo in the CHANGELOG (#971, @ialidzhikov)
- Add how to consume new hack/e2e scripts in other repos (efs/fsx) (#972, @wongma7)
- Updated README.md and changed the version in snapshot example (#976, @nirmalaagash)
- Update base images: yum update al2, bump debian tag (#986, @wongma7)
- Release 1.1.3 (#992, @wongma7)
- add ecr images to readme (#998, @vdhanan)
- Fix mount idempotency (#1019, @nirmalaagash)
- Fix ecr image being debian-based
- In a future release, the debian-based image will be removed and only an al2-based image will be maintained and pushed to GCR and ECR
- In a future release, images will stop getting pushed to Docker Hub
- update inFlight cache to avoid race condition on volume operation (#924, @AndyXiangLi)
- Add podAnnotations to snapshotController StatefulSet (#884, @snstanton)
- Support custom pod labels in Helm chart (#905, @eytanhanig)
- fix naming mistake in clusterrolebinding, expose env var to controller via downward api (#874, @vdhanan)
- Fix kustomize RBAC bindings to have namespace kube-system (#878, @wongma7)
- rename node clusterrolebinding to make auto upgrade work (#894, @vdhanan)
- remove hardcoded namespace for pod disruption budget (#895, @vdhanan)
- Only initialize the in-cluster kube client when metadata service is actually unavailable (#897, @chrisayoub)
- Reduce default log level to 2 (#903, @wongma7)
- Add pod disruption budgets that got missed in a rebase (#906, @krmichel)
- remove WellKnownTopologyKey from PV Topology (#912, @Elbehery)
- Skip volume expansion if block node (#916, @gnufied)
- Add eksctl support to e2e scripts (#852, @wongma7)
- release v1.0.0 (#865, @vdhanan)
- add self as owner (#866, @vdhanan)
- bump helm chart version (#881, @vdhanan)
- add custom useragent suffix (#910, @vdhanan)
- Bump chart-releaser-action to v1.2.1 (#914, @gliptak)
- With this release, the EBS CSI Driver is now Generally Available!
- add options to enable aws sdk debug log and add more logs when driver… (#830, @AndyXiangLi)
- Emit AWS API operation duration/error/throttle metrics (#842, @wongma7)
- add pod disruption budget for csi controller (#857, @vdhanan)
- Resize filesystem when restore a snapshot to larger size volume (#753, @AndyXiangLi)
- handling describe instances consistency issue (#801, @vdhanan)
- Cap IOPS when calculating from iopsPerGB (#809, @jsafrane)
- Fix broken gomocks (#843, @wongma7)
- Fix missing import (#849, @wongma7)
- instance metadata issue fix (#855, @vdhanan)
- release v0.10.0 (#820, @vdhanan)
- release v0.10.1 (#827, @AndyXiangLi)
- Rebase 1.21 (#828, @jsafrane)
- update installation command to use latest stable version (#832, @AndyXiangLi)
- Bump/reconcile sidecar versions in helm/kustomize (#834, @wongma7)
- update IAM policy sample and add new driver level tag (#835, @AndyXiangLi)
- Switch to non-deprecated apiVersion (#836, @dntosas)
- Update readme file to provide more info on driver options and tagging (#844, @AndyXiangLi)
- Add empty StorageClasses to static example (#850, @wongma7)
- Add additional logging for outpost arn handling (#851, @ayberk)
- support volume partition, users can specify partition in the pv and driver will mount the device on the specified partition (#824, @AndyXiangLi)
- Warn users of migrating without draining (#822, @partcyborg)
- Prep for Windows support: Copy pkg/mounter and refactor to use k8s.io/mount-utils (#786, @wongma7)
- Add well-known topology label (#773, @ayberk)
- Update livenessprobe image version from 2.1.0 to 2.2.0 (#756, @mowangdk)
- Remove arm overlay (#719, @ayberk)
- Add readiness probe so controller does not report "Ready" prematurely (#751, @vdhanan)
- Add toleration time to NoExecute effect (#776, @AndyXiangLi)
- Add ability to specify topologySpreadConstraints (#770, @arcivanov)
- delete leaked volume if driver don't know the volume status (#771, @AndyXiangLi)
- modify error message when request volume is in use with other node (#698, @AndyXiangLi)
- Make CreateVolume idempotent (#744, @chrishenzie)
- Add documentation for release process (#610, @ayberk)
- feat: Add option to provision StorageClasses (#697, @gazal-k)
- Refactor inFlight key to add lock per volumeId (#702, @AndyXiangLi)
- Add support for node existing service accounts (#704, @mper0003)
- More controll over snapshot-controller scheduling (#708, @alex-berger)
- Remove hardcoded snapshot controller image references (#711, @ig0rsky)
- release 0.9.0 (#718, @AndyXiangLi)
- Move cr.yaml out of github workflows (#720, @ayberk)
- Bump chart version (#724, @ayberk)
- Integrate external e2e test in the testsuits (#726, @AndyXiangLi)
- Allow all fields to be set on StorageClasses (#730, @haines)
- [chart] Allow resources override for node DaemonSet + priorityClassName (#732, @dntosas)
- [chart] Add storage class annotation and label handling (#734, @nicholasmhughes)
- Updated installation to use latest 0.9 release (#735, @PhilThurston)
- patch stable release to use gcr image (#740, @AndyXiangLi)
- correct kustomization gcr image repo (#742, @AndyXiangLi)
- Update ECR overlay (#745, @ayberk)
- Set enableVolumeScheduling to true by default in the helm chart (#752, @mtougeron)
- Sets the imagePullSecrets if the value is set in the chart (#755, @mtougeron)
- Update test k8s version to 1.18.16 (#759, @ayberk)
- add a document separator for storageclass template file (#762, @nvnmandadhi)
- Allow setting http proxy and no proxy environment values (#765, @rubroboletus)
- Fix error message when IOPSPerGB is missing in io1 volumes (#767, @jsafrane)
- removed harcoded NAMESPACE from helm chart (#768, @alexandrst88)
- Aws client config: increase MaxRetries (#769, @josselin-c)
- Update chart version (#772, @ayberk)
- Add self as reviewer (#774, @AndyXiangLi)
- go mod tidy (#777, @vdhanan)
- Removing prestop hook for node-driver-registrar (#778, @tsunny)
- hack/e2e: Support passing helm values as values.yaml and make other similar files optional (#787, @wongma7)
- Print csi plugin logs at end of e2e test (#789, @wongma7)
- Update snapshot controller resources (#791, @tirumerla)
- Remove storageclass from static example (#794, @wongma7)
- Don't exit script prematurely if test fails (#802, @wongma7)
- csi.storage.k8s.io/fstype is case sensitive (#807, @jsafrane)
- fix deploy stable ecr error kustomization file (#808, @ABNER-1)
- release v0.9.1 (#813, @vdhanan)
- Use the old topology key for e2e tests (#814, @ayberk)
- Track driver deploy time in e2e test pipeline (#815, @AndyXiangLi)
- AWS EBS CSI Driver Helm chart to inject environment variables (#817, @tomdymond)
- Change helm deploy settings: default tolerationAllTaints to false, NoExecute toleration time is 300s and will tolerate
CriticalAddonsOnly
- Integrate external e2e test in the testsuits (#726, @AndyXiangLi)
- delete leaked volume if driver don't know the volume status (#771, @AndyXiangLi)
- Update test k8s version to 1.18.16 (#759, @ayberk)
- All images (including sidecars) are Multiarch
- Enable volume stats metrics on Node service
- Feature: Add ability to customize node daemonset nodeselector (#647, @pliu)
- add volume stats metrics - (#677, @AndyXiangLi)
- Add support for existing service accounts (#688, @ayberk)
- NodeExpandVolume no-op for raw block (#695, @AndyXiangLi)
- Allow specifying --volume-attach-limit in the helm chart (#700, @keznikl)
- Fix outdated ecr login command (#680, @wongma7)
- Update sidecars to newer version (#707, @AndyXiangLi)
- Update README.md (#607, @robisoh88)
- Add self to OWNERS (#638, @ayberk)
- Bring Go to 1.15.6 in Travis (#648, @gliptak)
- Fix overlays not being updated for gcr migration (#649, @wongma7)
- Arm overlay (#653, @ayberk)
- Use buildx in cloudbuild (#658, @wongma7)
- (Try to) fix cloudbuild (#659, @wongma7)
- Fix stray argument in cloudbuild.yaml (#661, @wongma7)
- Add note for gp3 on outposts (#665, @ayberk)
- Call hack/prow.sh from cloudbuild (#666, @wongma7)
- cloudbuild: Set _STAGING_PROJECT (#668, @wongma7)
- add import snapshot e2e test (#678, @AndyXiangLi)
- Prefix helm chart releases with "helm-chart-" (#682, @wongma7)
- Release 0.8.1 (#683, @wongma7)
- Push debian target to Docker Hub (#686, @wongma7)
- Adds patch for ebs-csi-controller-sa to volumeattachments/status (#690, @cuppett)
- Add a prerequisite to dynamic provisioning (#691, @ronenl1)
- Refactor e2e testing scripts to be more reusable and use them instead… (#694, @wongma7)
- Update to [email protected] (#699, @ialidzhikov)
- add e2e test for volume resizing (#705, @AndyXiangLi)
- Images in k8s.gcr.io are multiarch.
- gp3 is now the default volume type. gp3 is not supported on outposts. Outpost customers need to use a different type for their volumes.
- Images will be built on a Debian base by default. Images built on Amazon Linux will still be available but with the tag suffix
-amazonlinux
. - Images will be published to k8s.gcr.io in addition to ECR and Docker Hub.
- Chart option to disable default toleration of all taints (#526, @risinger)
- Apply extra volume tags to EBS snapshots (#568, @chrishenzie)
- [helm] add tag options and update csi-provisioner (#577, @kcking)
- vendor: bump aws sdk for AssumeRoleWithWebIdentity support (#614, @abhinavdahiya)
- Add EBS gp3 support (#633, @samjo-nyang)
- Apply resource constraints to all sidecar containers (#640, @tirumerla)
- Fix the name of the snapshot controller leader election RoleBinding (#601, @robbie-demuth)
- Post-release v0.7.0 (#576, @ayberk)
- Fixing Helm install command (#578, @danil-smirnov)
- Fix markdown issue in README.md (#579, @ialidzhikov)
- Document behavior wrt minimum and maximum iops (#582, @wongma7)
- Set CSIMigrationAWSComplete for migration tests (#593, @wongma7)
- Bump migration kops and k8s version (#602, @wongma7)
- Update hack/run-e2e-test to be more idempotent and pleasant to use (#616, @wongma7)
- Post-release v0.7.1 (#619, @ayberk)
- Move chart to charts directory and add workflow to publish new chart versions (#624, @krmichel)
- docs(readme): update link to developer documentation (#629, @BondAnthony)
- Update ecr overlay image tag (#630, @ayberk)
- Add cloudbuild.yaml for image pushing to gcr (#632, @wongma7)
- Add latest tags to cloudbuild (#634, @wongma7)
- Fix target name in cloudbuild.yaml from amazon to amazonlinux (#636, @wongma7)
- Suffix amazonlinux image with -amazonlinux and push debian image to GitHub (#639, @wongma7)
- Set up QEMU to build for arm64 (#641, @wongma7)
filename | sha512 hash |
---|---|
v0.7.1.zip | 0c8b1e539f5852e54b5f4ab48cb3054ac52145db3d692cdc6b3ac683c39ebf11951c5ff3823a83666605a56a30b38953d20f392397c16bf39a5727c66ddf0827 |
v0.7.1.tar.gz | 157ed2c7aa00635a61438a1574bd7e124676bcabd9e27cfe865c7bbb3194609894536b1eb38a12a8e5bfa71b540e0f1cde12000b02d90b390d17987fc913042e |
This release includes a fix for the helm chart to point to the correct image.
filename | sha512 hash |
---|---|
v0.7.0.zip | 6e1117ce046d0030c3008b3eec8ba3196c516adf0ecef8909fcfd3d68e63624a73a992033356e208bf0d5563f7dec2e40675f0fee7f322bd4f69d7b03750961a |
v0.7.0.tar.gz | 4dc3402ffa3dcc59c9af1f7d776a3f53a288f62a31c05cde00aeceeef6000be16ca6cdae08712b4f7f64c9e89ceeaa13df7f1ca4bf3d62ba62845b52cc13eadf |
- Add arm support (#527, @leakingtapan)
- Add EBS IO2 support (#558, @ayberk)
- Create volumes in outpost for outpost instances (#561, @ayberk)
filename | sha512 hash |
---|---|
v0.6.0.zip | 67dc79703c2d022cbc53a370e8ac7279bf4345030a3ecc5b2bdff2b722ec807b712f2cd6eae79598edb87e15d92e683e98dde7c25e52f705233bc3ece649c693 |
v0.6.0.tar.gz | a3b5e95ec05ce6b4e6eb22ae00c7898cb876f21719354636dae5d323934c7a0bb32a7a8e89abdfcc6b0a0827c7169a349cba9dce32b7bf25e7287a2ec0387f21 |
- Allow volume attach limit overwrite via command line parameter (#522, @rfranzke)
- Add tags that the in-tree volume plugin uses (#530, @jsafrane)
- Adding amd64 as nodeSelector to avoid arm64 archtectures (#471) (#472, @hugoprudente)
- Update stable overlay to 0.5.0 (#495, @wongma7)
- Update aws-sdk to v1.29.11 to get IMDSv2 support (#463, @msau42)
- Fix e2e test (#468, @leakingtapan)
- Generate deployment manifests from helm chart (#475, @krmichel)
- Correct golint warning (#478, @gliptak)
- Bump Go to 1.14.1 (#479, @gliptak)
- Add mount unittest (#481, @gliptak)
- Remove volume IOPS limit (#483, @jacobmarble)
- Additional mount unittest (#484, @gliptak)
- docs/README: add missing "--namespace" flag to "helm" command (#486, @gyuho)
- Add nodeAffinity to avoid Fargate worker nodes (#488, @bgsilvait)
- remove deprecated "beta.kubernetes.io/os" nodeSelector (#489, @gyuho)
- Update kubernetes-csi/external-snapshotter components to v2.1.1 (#490, @ialidzhikov)
- Improve csi-snapshotter ClusterRole (#491, @ialidzhikov)
- Fix migration test (#500, @leakingtapan)
- Add missing IAM permissions (#501, @robbiet480)
- Fixed resizing docs to refer the right path to example spec (#504, @amuraru)
- optimization: cache go mod during docker build (#513, @leakingtapan)
filename | sha512 hash |
---|---|
v0.5.0.zip | c53327e090352a7f79ee642dbf8c211733f4a2cb78968ec688a1eade55151e65f1f97cd228d22168317439f1db9f3d2f07dcaa2873f44732ad23aaf632cbef3a |
v0.5.0.tar.gz | ec4963d34c601cdf718838d90b8aa6f36b16c9ac127743e73fbe76118a606d41aced116aaaab73370c17bcc536945d5ccd735bc5a4a00f523025c8e41ddedcb8 |
- Add a cmdline option to add extra volume tags (#353, @jieyu)
- Switch to use kustomize for manifest (#360, @leakingtapan)
- enable users to set ec2-endpoint for nonstandard regions (#369, @amdonov)
- Add standard volume type (#379, @leakingtapan)
- Update aws sdk version to enable EKS IAM for SA (#386, @leakingtapan)
- Implement different driver modes and AWS Region override for controller service (#438, @rfranzke)
- Add manifest files for snapshotter 2.0 (#452, @leakingtapan)
- Return success if instance or volume are not found (#375, @bertinatto)
- Patch k8scsi sidecars CVE-2019-11255 (#413, @jnaulty)
- Handle mount flags in NodeStageVolume (#430, @bertinatto)
- Run upstream e2e test suites with migration (#341, @wongma7)
- Use new test framework for test orchestration (#359, @leakingtapan)
- Update to use 1.16 cluster with inline test enabled (#362, @leakingtapan)
- Enable leader election (#380, @leakingtapan)
- Update go mod and mount library (#388, @leakingtapan)
- Refactor NewCloud by pass in region (#394, @leakingtapan)
- helm: provide an option to set extra volume tags (#396, @jieyu)
- Allow override for csi-provisioner image (#401, @gliptak)
- Enable volume expansion e2e test for CSI migration (#407, @leakingtapan)
- Swith to use kops 1.16 (#409, @leakingtapan)
- Added tolerations for node support (#420, @zerkms)
- Update helm chart to better match available values and add the ability to add annotations (#423, @krmichel)
- [helm] Also add toleration support to controller (#433, @jyaworski)
- Add ec2:ModifyVolume action (#434, @zodiac12k)
- Schedule the EBS CSI DaemonSet on all nodes by default (#441, @pcfens)
filename | sha512 hash |
---|---|
v0.4.0.zip | 2f46b54211178ad1e55926284b9f6218be874038a1a62ef364809a5d2c37b7bbbe58a2cc4991b9cf44cbfe4966c61dd6c16df0790627dffac4f7df9ffc084a0c |
v0.4.0.tar.gz | 0199df52ac1e19ee6b04efb80439024dde11de3d8fc292ce10527f2e658b393d8bfd4e37a6ec321cb415c9bdbee83ff5dbdf58e2336d03fe5d1b2717ccb11169 |
- Update Kubernetes cluster to 1.14+ before installing the driver, since the released driver manifest assumes 1.14+ cluster.
- storageclass parameter's
fstype
key is deprecated in favor ofcsi.storage.k8s.io/fstype
key. Please update the key in you stroage parameters.
See details for all the changes.
- Make secret optional (#247, @leakingtapan)
- Add support for XFS filesystem (#253, @leakingtapan)
- Upgrade CSI spec to 1.1.0 (#263, @leakingtapan)
- Refactor controller unit test with proper mock (#269, @zacharya)
- Refactor device path allocator (#274, @leakingtapan)
- Implementing ListSnapshots (#286, @zacharya)
- Add max number of volumes that can be attached to an instance (#289, @bertinatto)
- Add helm chart (#303, @leakingtapan)
- Add volume expansion (#271, @bertinatto)
- Remove cluster-driver-registrar (#322, @jsafrane)
- Upgrade to golang 1.12 (#329, @leakingtapan)
- Fix bugs by passing fstype correctly (#335, @leakingtapan)
- Output junit to ARTIFACTS for testgrid (#340, @wongma7)
filename | sha512 hash |
---|---|
v0.3.0.zip | 27a7a1cd4fc7a8afa1c0dd8fb3ce4cb1d9fc7439ebdbeba7ac0bfb0df723acb654a92f88270bc68ab4dd6c8943febf779efa8cbebdf3ea2ada145ff7ce426870 |
v0.3.0.tar.gz | 9126a3493f958aaa4727bc62b1a5c545ac8795f08844a605541aac3d38dea8769cee12c7db94f44179a91af7e8702174bba2533b4e30eb3f32f9b8338101a5db |
- None
Driver upgrade should be performed one version at a time by using following steps:
- Delete the old driver controller service and node service along with other resources including cluster roles, cluster role bindings and service accounts.
- Deploy the new driver controller service and node service along with other resources including cluster roles, cluster role bindings and service accounts.
See details for all the changes.
- Strip symbol for production build (#201, @leakingtapan)
- Remove vendor directory (#198, @leakingtapan)
- Use same mount to place in the csi.sock, remove obsolete volumes (#212, @frittentheke)
- Add snapshot support (#131, @tsmetana)
- Add snapshot examples (#210, @tsmetana)
- Implement raw block volume support (#215, @leakingtapan)
- Add unit tests for ControllerPublish and ControllerUnpublish requests (#219, @sreis)
- New block volume e2e tests (#226, @dkoshkin)
- Implement device path discovery for NVMe support (#231, @leakingtapan)
- Cleanup README and examples (@232, @dkoshkin)
- New volume snapshot e2e tests (#235, @dkoshkin)
filename | sha512 hash |
---|---|
v0.2.0.zip | a9733881c43dfb788f6c657320b6b4acdd8ee9726649c850282f8a7f15f816a6aa5db187a5d415781a76918a30ac227c03a81b662027c5b192ab57a050bf28ee |
v0.2.0.tar.gz | 0d7a3efd0c1b0c6bf01b08c3cbd48d867aeab1cf1f7f12274f42d561f64526c0345f23d5947ddada7a333046f101679eea620c9ab8985f9d4d1c8c3f28de49ce |
- Upgrade the Kubernetes cluster to 1.13+ before deploying the driver. Since CSI 1.0 is only supported starting from Kubernetes 1.13.
Driver upgrade should be performed one version at a time by using following steps:
- Delete the old driver controller service and node service along with other resources including cluster roles, cluster role bindings and service accounts.
- Deploy the new driver controller service and node service along with other resources including cluster roles, cluster role bindings and service accounts.
See details for all the changes.
- Update to CSI 1.0 (#122, @bertinatto)
- Add mountOptions support (#130, @bertinatto)
- Resolve memory addresses in log messages (#132, @bertinatto)
- Add version flag (#136, @dkoshkin)
- Wait for volume to become available (#126, @bertinatto)
- Add first few e2e test cases #151 (#151, @dkoshkin)
- Make test-integration uses aws-k8s-tester (#153, @kschumy)
- Rename VolumeNameTagKey (#161, @leakingtapan)
- CSI image version and deployment manifests updates (#171, @dkoshkin)
- Update driver manifest files (#181, @leakingtapan)
- More e2e tests (#173, @dkoshkin)
- Update run-e2e-test script to setup cluster (#186, @leakingtapan)
- Check if target path is mounted before unmounting (#183, @sreis)
filename | sha512 hash |
---|---|
v0.1.0.zip | 03841418496e292c3f91cee7942b545395bce049e9c4d2305532545fb82ad2e5189866afec2ed937924e144142b0b915a9467bac42e9f2b881181aba6aa80a68 |
v0.1.0.tar.gz | 106b6c2011acd42b0f10117b7f104ab188dde798711e98119137cf3d8265e381df09595b8e861c0c9fdcf8772f4a711e338e822602e98bfd68f54f9e1c7f8f16 |
- Update driver name and topology key (#105, @leakingtapan)
- Add support for creating encrypted volume and unit test (#80, @leakingtapan)
- Implement support for storage class parameter - volume type (#73, @leakingtapan)
- Implement support for storage class parameter - fsType (#67, @leakingtapan)
- Add missing capability and clusterrole permission to enable tology awareness scheduling (#61, @leakingtapan)
- Wait for correct attachment state (#58, @bertinatto)
- Implement topology awareness support for dynamic provisioning (#42, @leakingtapan)
- Wait for volume status in e2e test (#34, @bertinatto)
- Update cloud provider interface to take in context (#45, @leakingtapan)
- Initial driver implementation (9ba4c5d, @bertinatto)