Skip to content

fix(flyte-binary): route ClusterService through the gRPC ingress#7484

Merged
pingsutw merged 1 commit into
mainfrom
fix-ingress-clusterservice
Jun 9, 2026
Merged

fix(flyte-binary): route ClusterService through the gRPC ingress#7484
pingsutw merged 1 commit into
mainfrom
fix-ingress-clusterservice

Conversation

@pingsutw

@pingsutw pingsutw commented Jun 8, 2026

Copy link
Copy Markdown
Member

Tracking issue

Why are the changes needed?

The dataproxy ClusterService (flyteidl2.cluster.ClusterService) is served by the
binary (dataproxy/setup.go mounts NewClusterServiceHandler), but it was missing from
the ingress grpcPaths. As a result the ALB returns HTTP 404 for
/flyteidl2.cluster.ClusterService/*.

Any client that calls SelectCluster is broken by this. In particular the SDK calls
SelectCluster with operation=OPERATION_CREATE_UPLOAD_LOCATION before uploading task
inputs, so it fails with:

RuntimeError: SelectCluster failed for operation=1: Not Found

What changes were proposed in this pull request?

  • templates/_helpers.tpl — add /flyteidl2.cluster.ClusterService and
    /flyteidl2.cluster.ClusterService/* to flyte-binary.ingress.grpcPaths, alongside the
    other flyteidl2.* services (next to DataProxyService, since ClusterService lives in
    the dataproxy package). The path points at the same HTTP/gRPC backend as the other
    services.

How was this patch tested?

  • helm template --set ingress.create=true --set ingress.separateGrpcIngress=true now
    renders the two ClusterService paths in the gRPC ingress.
  • helm lint charts/flyte-binary passes.
  • Verified live on a dev cluster: before the change POST /flyteidl2.cluster.ClusterService/SelectCluster
    returned 404; after adding the routes it returns 200 and the SDK's upload path succeeds.

Labels

fixed

Check all the applicable boxes

  • I updated the documentation accordingly.
  • All new and existing tests passed.
  • All commits are signed-off.

The dataproxy ClusterService (flyteidl2.cluster.ClusterService) is served by the
binary but was missing from the ingress grpcPaths, so the ALB returned 404 for
/flyteidl2.cluster.ClusterService/*. This breaks any client that calls
SelectCluster — e.g. the SDK's CREATE_UPLOAD_LOCATION path before uploading
inputs fails with "SelectCluster failed: Not Found".

Add the ClusterService gRPC paths alongside the other flyteidl2 services.

Signed-off-by: Kevin Su <pingsutw@apache.org>
Copilot AI review requested due to automatic review settings June 8, 2026 23:48
@github-actions github-actions Bot added the flyte2 label Jun 8, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes Flyte Binary’s gRPC ingress routing by adding missing ingress paths for the flyteidl2.cluster.ClusterService, which is served by the dataproxy but previously returned 404s (e.g., for SelectCluster) when accessed through the ALB gRPC ingress.

Changes:

  • Add /flyteidl2.cluster.ClusterService and /flyteidl2.cluster.ClusterService/* to the Helm helper-defined gRPC ingress paths list so requests like /flyteidl2.cluster.ClusterService/SelectCluster are routed correctly.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@pingsutw pingsutw added this to the V2 GA milestone Jun 9, 2026
@pingsutw pingsutw self-assigned this Jun 9, 2026
@pingsutw pingsutw merged commit 3257c45 into main Jun 9, 2026
22 checks passed
@pingsutw pingsutw deleted the fix-ingress-clusterservice branch June 9, 2026 00:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants