Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Header based routing does not work when removing the header at the ned of the rollout #90

Open
AlonGluz opened this issue Nov 7, 2024 · 1 comment

Comments

@AlonGluz
Copy link
Contributor

AlonGluz commented Nov 7, 2024

Header based routing does not work when removing the header at the end of the rollout

Plugin version: https://github.com/argoproj-labs/rollouts-plugin-trafficrouter-gatewayapi/releases/download/v0.2.0/gateway-api-plugin-linux-arm64

Error:

2024-11-07T14:54:07.053Z [DEBUG] plugin.gatewayAPI: time="2024-11-07T14:54:07Z" level=info msg="[SetHeaderRoute] plugin \"argoproj-labs/gatewayAPI\" controls HTTPRoutes: [reporting-v2-web-route]
" plugin=trafficrouter                                                                                                                                                                            2024-11-07T14:54:07.077Z [DEBUG] plugin.gatewayAPI: panic: runtime error: slice bounds out of range [2:1]                                                                                         2024-11-07T14:54:07.077Z [DEBUG] plugin.gatewayAPI:
2024-11-07T14:54:07.077Z [DEBUG] plugin.gatewayAPI: goroutine 52 [running]:                                                                                                                       2024-11-07T14:54:07.077Z [DEBUG] plugin.gatewayAPI: github.com/argoproj-labs/rollouts-plugin-trafficrouter-gatewayapi/internal/utils.RemoveIndex[...](...)                                        2024-11-07T14:54:07.077Z [DEBUG] plugin.gatewayAPI:     /home/runner/work/rollouts-plugin-trafficrouter-gatewayapi/rollouts-plugin-trafficrouter-gatewayapi/internal/utils/common.go:99
2024-11-07T14:54:07.077Z [DEBUG] plugin.gatewayAPI: github.com/argoproj-labs/rollouts-plugin-trafficrouter-gatewayapi/pkg/plugin.removeManagedRouteEntry(0x19bd2e0?, {0xc0001ac360?, 0x1, 0x4}, {0xc0001dbc90, 0x10}, {0xc0006a0c30, 0x16})                                                                                                                                                         2024-11-07T14:54:07.077Z [DEBUG] plugin.gatewayAPI:     /home/runner/work/rollouts-plugin-trafficrouter-gatewayapi/rollouts-plugin-trafficrouter-gatewayapi/pkg/plugin/plugin.go:239 +0x4c6
2024-11-07T14:54:07.077Z [DEBUG] plugin.gatewayAPI: github.com/argoproj-labs/rollouts-plugin-trafficrouter-gatewayapi/pkg/plugin.(*RpcPlugin).removeHTTPManagedRoutes(0xc000580ae0, {0xc0005413e8, 0x1, 0xc000007380?}, 0xc0006e2120)                                                                                                                                                               2024-11-07T14:54:07.077Z [DEBUG] plugin.gatewayAPI:     /home/runner/work/rollouts-plugin-trafficrouter-gatewayapi/rollouts-plugin-trafficrouter-gatewayapi/pkg/plugin/httproute.go:291 +0x4a8
2024-11-07T14:54:07.077Z [DEBUG] plugin.gatewayAPI: github.com/argoproj-labs/rollouts-plugin-trafficrouter-gatewayapi/pkg/plugin.(*RpcPlugin).setHTTPHeaderRoute(0x0?, 0x1000100?, 0x0?, 0xffffffffffffffff?)                                                                                                                                                                                       2024-11-07T14:54:07.077Z [DEBUG] plugin.gatewayAPI:     /home/runner/work/rollouts-plugin-trafficrouter-gatewayapi/rollouts-plugin-trafficrouter-gatewayapi/pkg/plugin/httproute.go:68 +0x49c
2024-11-07T14:54:07.077Z [DEBUG] plugin.gatewayAPI: github.com/argoproj-labs/rollouts-plugin-trafficrouter-gatewayapi/pkg/plugin.(*RpcPlugin).SetHeaderRoute.func1({{0xc0006a0c30?, 0xc000466540?}
, 0x4?})
2024-11-07T14:54:07.077Z [DEBUG] plugin.gatewayAPI:     /home/runner/work/rollouts-plugin-trafficrouter-gatewayapi/rollouts-plugin-trafficrouter-gatewayapi/pkg/plugin/plugin.go:95 +0x53
2024-11-07T14:54:07.077Z [DEBUG] plugin.gatewayAPI: github.com/argoproj-labs/rollouts-plugin-trafficrouter-gatewayapi/pkg/plugin.forEachGatewayAPIRoute[...]({0xc0006b3140?, 0x1?, 0x2}, 0xc000541
6f0?)
2024-11-07T14:54:07.077Z [DEBUG] plugin.gatewayAPI:     /home/runner/work/rollouts-plugin-trafficrouter-gatewayapi/rollouts-plugin-trafficrouter-gatewayapi/pkg/plugin/plugin.go:250 +0x68
2024-11-07T14:54:07.077Z [DEBUG] plugin.gatewayAPI: github.com/argoproj-labs/rollouts-plugin-trafficrouter-gatewayapi/pkg/plugin.(*RpcPlugin).SetHeaderRoute(0xc000580ae0, 0xc0004ba300, 0xc0004ba
8f8)
2024-11-07T14:54:07.077Z [DEBUG] plugin.gatewayAPI:     /home/runner/work/rollouts-plugin-trafficrouter-gatewayapi/rollouts-plugin-trafficrouter-gatewayapi/pkg/plugin/plugin.go:90 +0x1bc
2024-11-07T14:54:07.077Z [DEBUG] plugin.gatewayAPI: github.com/argoproj/argo-rollouts/rollout/trafficrouting/plugin/rpc.(*TrafficRouterRPCServer).SetHeaderRoute(0x2?, {0x1851a00?, 0xc0004ba300?}
, 0xc000615fe0)
2024-11-07T14:54:07.077Z [DEBUG] plugin.gatewayAPI:     /home/runner/go/pkg/mod/github.com/argoproj/[email protected]/rollout/trafficrouting/plugin/rpc/rpc.go:214 +0x4f
2024-11-07T14:54:07.077Z [DEBUG] plugin.gatewayAPI: reflect.Value.call({0xc0006b27e0?, 0xc000378728?, 0x13?}, {0x1beac98, 0x4}, {0xc00069fef8, 0x3, 0x3?})
2024-11-07T14:54:07.077Z [DEBUG] plugin.gatewayAPI:     /opt/hostedtoolcache/go/1.20.14/x64/src/reflect/value.go:586 +0xb07
2024-11-07T14:54:07.077Z [DEBUG] plugin.gatewayAPI: reflect.Value.Call({0xc0006b27e0?, 0xc000378728?, 0x1e88ac0?}, {0xc00011cef8?, 0x18ca620?, 0x2b70b88?})
2024-11-07T14:54:07.077Z [DEBUG] plugin.gatewayAPI:     /opt/hostedtoolcache/go/1.20.14/x64/src/reflect/value.go:370 +0xbc
2024-11-07T14:54:07.077Z [DEBUG] plugin.gatewayAPI: net/rpc.(*service).call(0xc0001df6c0, 0x0?, 0xc0006a0090?, 0xc0004be3e0, 0xc000123880, 0x0?, {0x1952180?, 0xc0004cb170?, 0x0?}, {0x19aa120, ..
.}, ...)
2024-11-07T14:54:07.077Z [DEBUG] plugin.gatewayAPI:     /opt/hostedtoolcache/go/1.20.14/x64/src/net/rpc/server.go:382 +0x226
2024-11-07T14:54:07.077Z [DEBUG] plugin.gatewayAPI: created by net/rpc.(*Server).ServeCodec
2024-11-07T14:54:07.077Z [DEBUG] plugin.gatewayAPI:     /opt/hostedtoolcache/go/1.20.14/x64/src/net/rpc/server.go:479 +0x3fe
time="2024-11-07T14:54:07Z" level=error msg="roCtx.reconcile err failed to set header route via plugin: SetHeaderRoute rpc call error: unexpected EOF" generation=49 namespace=frontegg resourceVe
rsion=246045802 rollout=reporting-v2-web
time="2024-11-07T14:54:07Z" level=info msg="Reconciliation completed" generation=49 namespace=frontegg resourceVersion=246045802 rollout=reporting-v2-web time_ms=97.274702
time="2024-11-07T14:54:07Z" level=error msg="rollout syncHandler error: failed to set header route via plugin: SetHeaderRoute rpc call error: unexpected EOF" namespace=frontegg rollout=reporting
-v2-web
time="2024-11-07T14:54:07Z" level=info msg="rollout syncHandler queue retries: 62 : key \"frontegg/reporting-v2-web\"" namespace=frontegg rollout=reporting-v2-web
2024-11-07T14:54:07.081Z [ERROR] plugin: plugin process exited: plugin=/home/argo-rollouts/plugin-bin/argoproj-labs/gatewayAPI id=3145 error="exit status 2"
time="2024-11-07T14:54:07Z" level=error msg="failed to set header route via plugin: SetHeaderRoute rpc call error: unexpected EOF" error="<nil>"

When trying to unset the header in the rollout steps the rollout hangs and fails with the following error.

Argo rollout version: quay.io/argoproj/argo-rollouts:v1.7.2

@kostis-codefresh
Copy link
Collaborator

Could you please post

  1. The Rollout YAML
  2. The name and version of your traffic provider?
  3. What version of the Gateway API, your traffic provider implements?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants