aws / aws/containers-roadmap

EKS Fargate: built-in EFS mount handler incompatible with EFS CSI driver v3.x volume handle format

Open
#2,858 0 comments 1 reaction 0 assignees View on GitHub
EKS Fargate
Dominant language
Shell
Stars
5.4k
Forks
334
PR merge metrics
No merged PRs in 30d

Description

## Summary

EFS CSI driver v3.x (released as EKS addon `v3.0.0-eksbuild.1` and later) changed the volume handle format for dynamically provisioned EFS access-point volumes from:

```
fs-XXXXXXXX::fsap-XXXXXXXX ← v2.x format, understood by Fargate
```
to:
```
efs:fs-XXXXXXXX::fsap-XXXXXXXX ← v3.x format, rejected by Fargate
```

The Fargate runtime's built-in EFS CSI handler predates this format change. When a Fargate pod tries to mount a PVC provisioned under v3.x, the runtime rejects the volume handle with:

```
rpc error: code = InvalidArgument desc = volume ID 'efs:fs-XXXXXXXX::fsap-XXXXXXXX' is invalid: Expected a file system ID of the form 'fs-...'
```

On EC2 nodes this works correctly — `NodePublishVolume` in the node DaemonSet handles the `efs:` prefix. Fargate doesn't run the DaemonSet; it uses its own internal handler, which is where the incompatibility lies.

## Impact

Any cluster using Fargate profiles with EFS-backed PVCs (common for Argo Workflows, stateful workloads) is broken after upgrading to EFS CSI driver v3.x. The upgrade has no visible warning and the failure only surfaces at pod scheduling time.

## Workaround

Downgrade to the latest supported v2.x addon version (`v2.3.1-eksbuild.1` for K8s 1.35). v2.x produces the legacy `fs-...::fsap-...` format that the Fargate runtime understands.

Note: PVs provisioned under v3.x have `spec.csi.volumeHandle` set to the `efs:` prefixed format, and that field is immutable — affected PVCs must be deleted and recreated after downgrading.

## Request

Please update the Fargate runtime's built-in EFS volume handler to support the v3.x `efs:fs-...` volume handle format, keeping it in sync with changes in the EFS CSI driver. Ideally this would be coordinated with the driver maintainers before format-breaking changes ship.

Cross-reference: kubernetes-sigs/aws-efs-csi-driver#1947

Contributor guide

Open the contributing guide

Research direction

No repository file, test, or entry point is named, and the requested change is in the Fargate runtime rather than this roadmap repository. Start by reviewing the issue details and the linked aws-efs-csi-driver#1947 discussion; done means the built-in handler accepts v3.x `efs:fs-...` volume handles while retaining support for the legacy format.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, kubernetes
Domain
cloud, infrastructure
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.