-
Notifications
You must be signed in to change notification settings - Fork 156
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
Support Canary for ECS without ELB or target groups #4690
Conversation
Signed-off-by: t-kikuc <[email protected]>
Signed-off-by: t-kikuc <[email protected]>
Signed-off-by: t-kikuc <[email protected]>
Signed-off-by: t-kikuc <[email protected]>
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #4690 +/- ##
==========================================
- Coverage 30.86% 30.85% -0.02%
==========================================
Files 221 221
Lines 25975 25975
==========================================
- Hits 8018 8014 -4
- Misses 17307 17310 +3
- Partials 650 651 +1 ☔ View full report in Codecov by Sentry. |
/review |
PR AnalysisMain themetype: Enhancement PR summaryThis pull request introduces support for different access types (Load Balancer and Service Discovery) in the ECS deploy and rollback stages. It modifies the Type of PREnhancement PR Feedback:General suggestionsThe changes in this PR look good overall. The addition of support for different access types in the ECS deploy and rollback stages is a valuable enhancement. The code changes are clear and easy to understand. Code feedbackpkg/app/piped/executor/ecs/deploy.go:13This comment should be updated to reflect the new code changes. Instead of saying "Enables rolling out PRIMARY variant", it should say "Enables rolling out variants based on the specified access type". pkg/app/piped/executor/ecs/deploy.go:32The error message in this line should be updated to reflect the new code changes. Instead of saying "Unsupported access type ELB", it should say "Unsupported access type in stage for ECS application", where pkg/app/piped/executor/ecs/rollback.go:96The comment in this line should be updated to reflect the new code changes. Instead of saying "Even if primary and canary target groups are not found, we can continue to rollback. So the accessType does not matter here.", it should say "Even if target groups are not found, we can continue to rollback. So the accessType does not matter here." DocumentationThere is no need to update the documentation for this PR. Security concernsNo, this PR does not introduce any security concerns. |
Signed-off-by: t-kikuc <[email protected]>
…com/pipe-cd/pipecd into ecs-service-discovery-canary-simple
@khanhtc1202 |
// Even if target groups are not found, we can continue to rollback. | ||
// So the accessType does not matter here. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should not mention unchanged thing here, let's not add confusing comments.
pkg/app/piped/executor/ecs/deploy.go
Outdated
return model.StageStatus_STAGE_FAILURE | ||
} | ||
|
||
return model.StageStatus_STAGE_SUCCESS | ||
} | ||
|
||
func (e *deployExecutor) ensureTrafficRouting(ctx context.Context) model.StageStatus { | ||
// Traffic Routing is not supported for ECS Service Discovery. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
// Traffic Routing is not supported for ECS Service Discovery. | |
// Traffic Routing is not supported for other kinds than ELB. |
// Even if target groups are not found, we can continue to rollback. | ||
// So the accessType does not matter here. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
// Even if target groups are not found, we can continue to rollback. | |
// So the accessType does not matter here. |
Signed-off-by: t-kikuc <[email protected]>
…com/pipe-cd/pipecd into ecs-service-discovery-canary-simple
@khanhtc1202 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
great, thank you 🫡
* Support ECS CanaryRollout without TargetGroups Signed-off-by: t-kikuc <[email protected]> * Support ECS PrimaryRollout without TargetGroups Signed-off-by: t-kikuc <[email protected]> * Refuse ECS TrafficRouting stage for ServiceDiscovery Signed-off-by: t-kikuc <[email protected]> * Add a comment for ECS Rollback for ServiceDiscovery Signed-off-by: t-kikuc <[email protected]> * Add comments Signed-off-by: t-kikuc <[email protected]> * Removed unnecessary comments Signed-off-by: t-kikuc <[email protected]> --------- Signed-off-by: t-kikuc <[email protected]> Co-authored-by: Khanh Tran <[email protected]>
* Support ECS CanaryRollout without TargetGroups Signed-off-by: t-kikuc <[email protected]> * Support ECS PrimaryRollout without TargetGroups Signed-off-by: t-kikuc <[email protected]> * Refuse ECS TrafficRouting stage for ServiceDiscovery Signed-off-by: t-kikuc <[email protected]> * Add a comment for ECS Rollback for ServiceDiscovery Signed-off-by: t-kikuc <[email protected]> * Add comments Signed-off-by: t-kikuc <[email protected]> * Removed unnecessary comments Signed-off-by: t-kikuc <[email protected]> --------- Signed-off-by: t-kikuc <[email protected]> Co-authored-by: Khanh Tran <[email protected]>
* Support ECS CanaryRollout without TargetGroups Signed-off-by: t-kikuc <[email protected]> * Support ECS PrimaryRollout without TargetGroups Signed-off-by: t-kikuc <[email protected]> * Refuse ECS TrafficRouting stage for ServiceDiscovery Signed-off-by: t-kikuc <[email protected]> * Add a comment for ECS Rollback for ServiceDiscovery Signed-off-by: t-kikuc <[email protected]> * Add comments Signed-off-by: t-kikuc <[email protected]> * Removed unnecessary comments Signed-off-by: t-kikuc <[email protected]> --------- Signed-off-by: t-kikuc <[email protected]> Co-authored-by: Khanh Tran <[email protected]> Signed-off-by: sZma5a <[email protected]>
* Support ECS CanaryRollout without TargetGroups Signed-off-by: t-kikuc <[email protected]> * Support ECS PrimaryRollout without TargetGroups Signed-off-by: t-kikuc <[email protected]> * Refuse ECS TrafficRouting stage for ServiceDiscovery Signed-off-by: t-kikuc <[email protected]> * Add a comment for ECS Rollback for ServiceDiscovery Signed-off-by: t-kikuc <[email protected]> * Add comments Signed-off-by: t-kikuc <[email protected]> * Removed unnecessary comments Signed-off-by: t-kikuc <[email protected]> --------- Signed-off-by: t-kikuc <[email protected]> Co-authored-by: Khanh Tran <[email protected]> Signed-off-by: 鈴木 優耀 <[email protected]>
What this PR does / why we need it:
This is the simplest way to realize canary for ECS without target groups.
This PR supports the below stages (almost the same as the ELB case):
NOTE: The TrafficRouting stage and Blue/Green Deployment are not supported due to ECS Service Discovery's constraints.
Which issue(s) this PR fixes:
Part of #4616
( or fixes )
Does this PR introduce a user-facing change?: no (new feature)