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

fix: Rollout canary when traffic routing not defined #253

Merged
merged 1 commit into from
Aug 14, 2022

Conversation

itsLucario
Copy link
Collaborator

When canary.trafficRouting is not defined for Argo rollout canary strategy.

Expected:
The service match should return whichever service has a mesh port defined for creating service entry.

Found:
Admiral by default tries to match with the stable K8s service defined within rollout.stableService and if mesh port is not found in that K8s service, the Service Entry creation fails.

Fix:
When canary.trafficRouting is not defined for Argo rollout canary strategy. Scenario 1 from below should be expected.

Overall Expected:
Scenario 1 - canary strategy defined and stable service is non empty
Pick stable service if present otherwise first service that matches
Scenario 2 - canary strategy defined with istio traffic management
Pick stable service/canary services defined in canary strategy
Senario 3 - No stable service is defined under canary strategy then pick a first matching service

Signed-off-by: nbn01 <nandan_bn@intuit.com>
Copy link
Contributor

@aattuluri aattuluri left a comment

Choose a reason for hiding this comment

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

lgtm overall, will address optimizations in later PR.

@itsLucario itsLucario merged commit 1d0fe30 into master Aug 14, 2022
@itsLucario itsLucario deleted the fix-canary-rollouts branch August 14, 2022 13:42
itsLucario pushed a commit that referenced this pull request Nov 7, 2022
Signed-off-by: nbn01 <nandan_bn@intuit.com>
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 this pull request may close these issues.

None yet

2 participants