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

Canary analysis restart again and again when using Gateway API #1712

Open
mingjie-li opened this issue Oct 18, 2024 · 1 comment · May be fixed by #1713
Open

Canary analysis restart again and again when using Gateway API #1712

mingjie-li opened this issue Oct 18, 2024 · 1 comment · May be fixed by #1713

Comments

@mingjie-li
Copy link

Describe the bug

When iterating over a map in Go, the order of elements is not guaranteed and may vary between iterations. In the context of the Gateway API provider, the four following maps:

canary.Spec.Service.Headers.Request.Add
canary.Spec.Service.Headers.Request.Set
canary.Spec.Service.Headers.Response.Add
canary.Spec.Service.Headers.Response.Set

are transformed into four slices, where the order becomes significant when comparing using go-cmp.

If sessionAffinity or Mirror is used, the comparison of these slices will be ignored. However, in other cases, any differences in the slices will lead the Flagger operator to believe that the HttpRoute has changed, triggering unnecessary canary analysis restarts."

To Reproduce

run canary analysis with gateway api without sessionAffinity or Mirror

Expected behavior

canary analysis run only once

Additional context

  • Flagger version: 1.38.0
  • Kubernetes version: 1.30
  • Service Mesh provider:
  • Ingress provider: GCP Gateway API
mingjie-li pushed a commit to mingjie-li/flagger that referenced this issue Oct 18, 2024
mingjie-li pushed a commit to mingjie-li/flagger that referenced this issue Oct 18, 2024
@mingjie-li
Copy link
Author

mingjie-li commented Oct 18, 2024

PR here -> #1713

mingjie-li pushed a commit to mingjie-li/flagger that referenced this issue Oct 26, 2024
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

Successfully merging a pull request may close this issue.

1 participant