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

r/ecs_service: add wait condition after create/update and handle errors when using wait_for_steady_state #24223

Merged
merged 4 commits into from
Apr 14, 2022

Conversation

anGie44
Copy link
Contributor

@anGie44 anGie44 commented Apr 13, 2022

Community Note

  • Please vote on this pull request by adding a 👍 reaction to the original pull request comment to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for pull request followers and do not help prioritize the request

Closes #23747 (this PR is a continuation)
Relates #20452

Output from acceptance testing:

 make testacc TESTARGS='-run=TestAccECSService_' PKG=ecs ACCTEST_PARALLELISM=5
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./internal/service/ecs/... -v -count 1 -parallel 5  -run=TestAccECSService_ -timeout 180m
=== RUN   TestAccECSService_basic
=== PAUSE TestAccECSService_basic
=== RUN   TestAccECSService_basicImport
=== PAUSE TestAccECSService_basicImport
=== RUN   TestAccECSService_disappears
=== PAUSE TestAccECSService_disappears
=== RUN   TestAccECSService_PlacementStrategy_unnormalized
=== PAUSE TestAccECSService_PlacementStrategy_unnormalized
=== RUN   TestAccECSService_CapacityProviderStrategy_basic
=== PAUSE TestAccECSService_CapacityProviderStrategy_basic
=== RUN   TestAccECSService_CapacityProviderStrategy_forceNewDeployment
=== PAUSE TestAccECSService_CapacityProviderStrategy_forceNewDeployment
=== RUN   TestAccECSService_CapacityProviderStrategy_update
=== PAUSE TestAccECSService_CapacityProviderStrategy_update
=== RUN   TestAccECSService_CapacityProviderStrategy_multiple
=== PAUSE TestAccECSService_CapacityProviderStrategy_multiple
=== RUN   TestAccECSService_familyAndRevision
=== PAUSE TestAccECSService_familyAndRevision
=== RUN   TestAccECSService_renamedCluster
=== PAUSE TestAccECSService_renamedCluster
=== RUN   TestAccECSService_healthCheckGracePeriodSeconds
=== PAUSE TestAccECSService_healthCheckGracePeriodSeconds
=== RUN   TestAccECSService_iamRole
=== PAUSE TestAccECSService_iamRole
=== RUN   TestAccECSService_DeploymentControllerType_codeDeploy
=== PAUSE TestAccECSService_DeploymentControllerType_codeDeploy
=== RUN   TestAccECSService_DeploymentControllerType_codeDeployUpdateDesiredCountAndHealthCheckGracePeriod
=== PAUSE TestAccECSService_DeploymentControllerType_codeDeployUpdateDesiredCountAndHealthCheckGracePeriod
=== RUN   TestAccECSService_DeploymentControllerType_external
=== PAUSE TestAccECSService_DeploymentControllerType_external
=== RUN   TestAccECSService_DeploymentValues_basic
=== PAUSE TestAccECSService_DeploymentValues_basic
=== RUN   TestAccECSService_DeploymentValues_minZeroMaxOneHundred
=== PAUSE TestAccECSService_DeploymentValues_minZeroMaxOneHundred
=== RUN   TestAccECSService_deploymentCircuitBreaker
=== PAUSE TestAccECSService_deploymentCircuitBreaker
=== RUN   TestAccECSService_loadBalancerChanges
=== PAUSE TestAccECSService_loadBalancerChanges
=== RUN   TestAccECSService_clusterName
=== PAUSE TestAccECSService_clusterName
=== RUN   TestAccECSService_alb
=== PAUSE TestAccECSService_alb
=== RUN   TestAccECSService_multipleTargetGroups
=== PAUSE TestAccECSService_multipleTargetGroups
=== RUN   TestAccECSService_forceNewDeployment
=== PAUSE TestAccECSService_forceNewDeployment
=== RUN   TestAccECSService_PlacementStrategy_basic
=== PAUSE TestAccECSService_PlacementStrategy_basic
=== RUN   TestAccECSService_PlacementStrategy_missing
=== PAUSE TestAccECSService_PlacementStrategy_missing
=== RUN   TestAccECSService_PlacementConstraints_basic
=== PAUSE TestAccECSService_PlacementConstraints_basic
=== RUN   TestAccECSService_PlacementConstraints_emptyExpression
=== PAUSE TestAccECSService_PlacementConstraints_emptyExpression
=== RUN   TestAccECSService_LaunchTypeFargate_basic
=== PAUSE TestAccECSService_LaunchTypeFargate_basic
=== RUN   TestAccECSService_LaunchTypeFargate_platformVersion
=== PAUSE TestAccECSService_LaunchTypeFargate_platformVersion
=== RUN   TestAccECSService_LaunchTypeFargate_waitForSteadyState
=== PAUSE TestAccECSService_LaunchTypeFargate_waitForSteadyState
=== RUN   TestAccECSService_LaunchTypeFargate_updateWaitForSteadyState
=== PAUSE TestAccECSService_LaunchTypeFargate_updateWaitForSteadyState
=== RUN   TestAccECSService_LaunchTypeEC2_network
=== PAUSE TestAccECSService_LaunchTypeEC2_network
=== RUN   TestAccECSService_DaemonSchedulingStrategy_basic
=== PAUSE TestAccECSService_DaemonSchedulingStrategy_basic
=== RUN   TestAccECSService_DaemonSchedulingStrategy_setDeploymentMinimum
=== PAUSE TestAccECSService_DaemonSchedulingStrategy_setDeploymentMinimum
=== RUN   TestAccECSService_replicaSchedulingStrategy
=== PAUSE TestAccECSService_replicaSchedulingStrategy
=== RUN   TestAccECSService_ServiceRegistries_basic
=== PAUSE TestAccECSService_ServiceRegistries_basic
=== RUN   TestAccECSService_ServiceRegistries_container
=== PAUSE TestAccECSService_ServiceRegistries_container
=== RUN   TestAccECSService_ServiceRegistries_changes
=== PAUSE TestAccECSService_ServiceRegistries_changes
=== RUN   TestAccECSService_Tags_basic
=== PAUSE TestAccECSService_Tags_basic
=== RUN   TestAccECSService_Tags_managed
=== PAUSE TestAccECSService_Tags_managed
=== RUN   TestAccECSService_Tags_propagate
=== PAUSE TestAccECSService_Tags_propagate
=== RUN   TestAccECSService_executeCommand
=== PAUSE TestAccECSService_executeCommand
=== CONT  TestAccECSService_basic
=== CONT  TestAccECSService_multipleTargetGroups
=== CONT  TestAccECSService_iamRole
=== CONT  TestAccECSService_executeCommand
=== CONT  TestAccECSService_LaunchTypeFargate_updateWaitForSteadyState
--- PASS: TestAccECSService_iamRole (60.92s)
=== CONT  TestAccECSService_LaunchTypeFargate_waitForSteadyState
--- PASS: TestAccECSService_basic (68.02s)
=== CONT  TestAccECSService_LaunchTypeFargate_platformVersion
--- PASS: TestAccECSService_executeCommand (100.17s)
=== CONT  TestAccECSService_LaunchTypeFargate_basic
--- PASS: TestAccECSService_LaunchTypeFargate_updateWaitForSteadyState (197.50s)
=== CONT  TestAccECSService_PlacementConstraints_emptyExpression
--- PASS: TestAccECSService_LaunchTypeFargate_platformVersion (133.08s)
=== CONT  TestAccECSService_PlacementConstraints_basic
--- PASS: TestAccECSService_LaunchTypeFargate_waitForSteadyState (185.09s)
=== CONT  TestAccECSService_PlacementStrategy_missing
--- PASS: TestAccECSService_PlacementStrategy_missing (0.72s)
=== CONT  TestAccECSService_PlacementStrategy_basic
--- PASS: TestAccECSService_LaunchTypeFargate_basic (148.98s)
=== CONT  TestAccECSService_LaunchTypeEC2_network
--- PASS: TestAccECSService_multipleTargetGroups (282.07s)
=== CONT  TestAccECSService_Tags_propagate
--- PASS: TestAccECSService_PlacementConstraints_emptyExpression (87.52s)
=== CONT  TestAccECSService_Tags_managed
--- PASS: TestAccECSService_PlacementConstraints_basic (98.68s)
=== CONT  TestAccECSService_Tags_basic
--- PASS: TestAccECSService_LaunchTypeEC2_network (58.79s)
=== CONT  TestAccECSService_forceNewDeployment
--- PASS: TestAccECSService_Tags_propagate (63.69s)
=== CONT  TestAccECSService_CapacityProviderStrategy_update
--- PASS: TestAccECSService_PlacementStrategy_basic (103.55s)
=== CONT  TestAccECSService_healthCheckGracePeriodSeconds
--- PASS: TestAccECSService_Tags_managed (71.21s)
=== CONT  TestAccECSService_renamedCluster
--- PASS: TestAccECSService_forceNewDeployment (69.93s)
=== CONT  TestAccECSService_familyAndRevision
--- PASS: TestAccECSService_Tags_basic (98.31s)
=== CONT  TestAccECSService_CapacityProviderStrategy_multiple
--- PASS: TestAccECSService_renamedCluster (81.08s)
=== CONT  TestAccECSService_replicaSchedulingStrategy
--- PASS: TestAccECSService_familyAndRevision (80.96s)
=== CONT  TestAccECSService_ServiceRegistries_container
--- PASS: TestAccECSService_replicaSchedulingStrategy (87.96s)
=== CONT  TestAccECSService_ServiceRegistries_changes
--- PASS: TestAccECSService_ServiceRegistries_container (170.22s)
=== CONT  TestAccECSService_DaemonSchedulingStrategy_setDeploymentMinimum
--- PASS: TestAccECSService_DaemonSchedulingStrategy_setDeploymentMinimum (39.46s)
=== CONT  TestAccECSService_DaemonSchedulingStrategy_basic
--- PASS: TestAccECSService_healthCheckGracePeriodSeconds (337.18s)
=== CONT  TestAccECSService_ServiceRegistries_basic
--- PASS: TestAccECSService_CapacityProviderStrategy_update (350.46s)
=== CONT  TestAccECSService_CapacityProviderStrategy_forceNewDeployment
--- PASS: TestAccECSService_DaemonSchedulingStrategy_basic (39.38s)
=== CONT  TestAccECSService_DeploymentValues_minZeroMaxOneHundred
--- PASS: TestAccECSService_ServiceRegistries_changes (244.99s)
=== CONT  TestAccECSService_alb
--- PASS: TestAccECSService_DeploymentValues_minZeroMaxOneHundred (86.23s)
=== CONT  TestAccECSService_PlacementStrategy_unnormalized
--- PASS: TestAccECSService_ServiceRegistries_basic (153.75s)
=== CONT  TestAccECSService_CapacityProviderStrategy_basic
--- PASS: TestAccECSService_CapacityProviderStrategy_forceNewDeployment (160.16s)
=== CONT  TestAccECSService_disappears
--- PASS: TestAccECSService_PlacementStrategy_unnormalized (85.06s)
=== CONT  TestAccECSService_basicImport
--- PASS: TestAccECSService_disappears (85.36s)
=== CONT  TestAccECSService_loadBalancerChanges
--- PASS: TestAccECSService_basicImport (74.53s)
=== CONT  TestAccECSService_DeploymentControllerType_external
--- PASS: TestAccECSService_DeploymentControllerType_external (42.28s)
=== CONT  TestAccECSService_DeploymentValues_basic
--- PASS: TestAccECSService_alb (288.71s)
=== CONT  TestAccECSService_DeploymentControllerType_codeDeployUpdateDesiredCountAndHealthCheckGracePeriod
--- PASS: TestAccECSService_CapacityProviderStrategy_basic (238.46s)
=== CONT  TestAccECSService_deploymentCircuitBreaker
--- PASS: TestAccECSService_DeploymentValues_basic (85.10s)
=== CONT  TestAccECSService_DeploymentControllerType_codeDeploy
--- PASS: TestAccECSService_deploymentCircuitBreaker (86.65s)
=== CONT  TestAccECSService_clusterName
--- PASS: TestAccECSService_loadBalancerChanges (270.41s)
--- PASS: TestAccECSService_clusterName (86.22s)
--- PASS: TestAccECSService_DeploymentControllerType_codeDeploy (302.74s)
--- PASS: TestAccECSService_CapacityProviderStrategy_multiple (111.83s)
--- PASS: TestAccECSService_DeploymentControllerType_codeDeployUpdateDesiredCountAndHealthCheckGracePeriod (395.79s)
PASS
PASS	github.com/hashicorp/terraform-provider-aws/internal/service/ecs	1457.819s

When using `wait_for_stead_state` retry up to 3 times.

This is due to when a service is replaced there is a possibility the
service will return a status of INACTIVE as the AWS API returns the
status of the old service instead of the new one which hasn't fully
registered yet.
@github-actions github-actions bot added size/XS Managed by automation to categorize the size of a PR. service/ecs Issues and PRs that pertain to the ecs service. labels Apr 13, 2022
anGie44 added a commit that referenced this pull request Apr 13, 2022
@github-actions github-actions bot added size/S Managed by automation to categorize the size of a PR. and removed size/XS Managed by automation to categorize the size of a PR. labels Apr 13, 2022
anGie44 added a commit that referenced this pull request Apr 13, 2022
@anGie44 anGie44 added the bug Addresses a defect in current functionality. label Apr 13, 2022
anGie44 added a commit that referenced this pull request Apr 14, 2022
@github-actions github-actions bot added client-connections Pertains to the AWS Client and service connections. size/M Managed by automation to categorize the size of a PR. and removed size/S Managed by automation to categorize the size of a PR. labels Apr 14, 2022
anGie44 added a commit that referenced this pull request Apr 14, 2022
@github-actions github-actions bot added size/S Managed by automation to categorize the size of a PR. and removed size/M Managed by automation to categorize the size of a PR. labels Apr 14, 2022
@anGie44 anGie44 marked this pull request as ready for review April 14, 2022 15:25
@anGie44 anGie44 changed the title Fix for hashicorp/terraform-provider-aws/#20452 [WIP] Fix for hashicorp/terraform-provider-aws/#20452 Apr 14, 2022
@anGie44
Copy link
Contributor Author

anGie44 commented Apr 14, 2022

Output of acceptance tests after updates:

make testacc TESTARGS='-run=TestAccECSService_' PKG=ecs ACCTEST_PARALLELISM=5
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./internal/service/ecs/... -v -count 1 -parallel 5  -run=TestAccECSService_ -timeout 180m
=== RUN   TestAccECSService_basic
=== PAUSE TestAccECSService_basic
=== RUN   TestAccECSService_basicImport
=== PAUSE TestAccECSService_basicImport
=== RUN   TestAccECSService_disappears
=== PAUSE TestAccECSService_disappears
=== RUN   TestAccECSService_PlacementStrategy_unnormalized
=== PAUSE TestAccECSService_PlacementStrategy_unnormalized
=== RUN   TestAccECSService_CapacityProviderStrategy_basic
=== PAUSE TestAccECSService_CapacityProviderStrategy_basic
=== RUN   TestAccECSService_CapacityProviderStrategy_forceNewDeployment
=== PAUSE TestAccECSService_CapacityProviderStrategy_forceNewDeployment
=== RUN   TestAccECSService_CapacityProviderStrategy_update
=== PAUSE TestAccECSService_CapacityProviderStrategy_update
=== RUN   TestAccECSService_CapacityProviderStrategy_multiple
=== PAUSE TestAccECSService_CapacityProviderStrategy_multiple
=== RUN   TestAccECSService_familyAndRevision
=== PAUSE TestAccECSService_familyAndRevision
=== RUN   TestAccECSService_renamedCluster
=== PAUSE TestAccECSService_renamedCluster
=== RUN   TestAccECSService_healthCheckGracePeriodSeconds
=== PAUSE TestAccECSService_healthCheckGracePeriodSeconds
=== RUN   TestAccECSService_iamRole
=== PAUSE TestAccECSService_iamRole
=== RUN   TestAccECSService_DeploymentControllerType_codeDeploy
=== PAUSE TestAccECSService_DeploymentControllerType_codeDeploy
=== RUN   TestAccECSService_DeploymentControllerType_codeDeployUpdateDesiredCountAndHealthCheckGracePeriod
=== PAUSE TestAccECSService_DeploymentControllerType_codeDeployUpdateDesiredCountAndHealthCheckGracePeriod
=== RUN   TestAccECSService_DeploymentControllerType_external
=== PAUSE TestAccECSService_DeploymentControllerType_external
=== RUN   TestAccECSService_DeploymentValues_basic
=== PAUSE TestAccECSService_DeploymentValues_basic
=== RUN   TestAccECSService_DeploymentValues_minZeroMaxOneHundred
=== PAUSE TestAccECSService_DeploymentValues_minZeroMaxOneHundred
=== RUN   TestAccECSService_deploymentCircuitBreaker
=== PAUSE TestAccECSService_deploymentCircuitBreaker
=== RUN   TestAccECSService_loadBalancerChanges
=== PAUSE TestAccECSService_loadBalancerChanges
=== RUN   TestAccECSService_clusterName
=== PAUSE TestAccECSService_clusterName
=== RUN   TestAccECSService_alb
=== PAUSE TestAccECSService_alb
=== RUN   TestAccECSService_multipleTargetGroups
=== PAUSE TestAccECSService_multipleTargetGroups
=== RUN   TestAccECSService_forceNewDeployment
=== PAUSE TestAccECSService_forceNewDeployment
=== RUN   TestAccECSService_PlacementStrategy_basic
=== PAUSE TestAccECSService_PlacementStrategy_basic
=== RUN   TestAccECSService_PlacementStrategy_missing
=== PAUSE TestAccECSService_PlacementStrategy_missing
=== RUN   TestAccECSService_PlacementConstraints_basic
=== PAUSE TestAccECSService_PlacementConstraints_basic
=== RUN   TestAccECSService_PlacementConstraints_emptyExpression
=== PAUSE TestAccECSService_PlacementConstraints_emptyExpression
=== RUN   TestAccECSService_LaunchTypeFargate_basic
=== PAUSE TestAccECSService_LaunchTypeFargate_basic
=== RUN   TestAccECSService_LaunchTypeFargate_platformVersion
=== PAUSE TestAccECSService_LaunchTypeFargate_platformVersion
=== RUN   TestAccECSService_LaunchTypeFargate_waitForSteadyState
=== PAUSE TestAccECSService_LaunchTypeFargate_waitForSteadyState
=== RUN   TestAccECSService_LaunchTypeFargate_updateWaitForSteadyState
=== PAUSE TestAccECSService_LaunchTypeFargate_updateWaitForSteadyState
=== RUN   TestAccECSService_LaunchTypeEC2_network
=== PAUSE TestAccECSService_LaunchTypeEC2_network
=== RUN   TestAccECSService_DaemonSchedulingStrategy_basic
=== PAUSE TestAccECSService_DaemonSchedulingStrategy_basic
=== RUN   TestAccECSService_DaemonSchedulingStrategy_setDeploymentMinimum
=== PAUSE TestAccECSService_DaemonSchedulingStrategy_setDeploymentMinimum
=== RUN   TestAccECSService_replicaSchedulingStrategy
=== PAUSE TestAccECSService_replicaSchedulingStrategy
=== RUN   TestAccECSService_ServiceRegistries_basic
=== PAUSE TestAccECSService_ServiceRegistries_basic
=== RUN   TestAccECSService_ServiceRegistries_container
=== PAUSE TestAccECSService_ServiceRegistries_container
=== RUN   TestAccECSService_ServiceRegistries_changes
=== PAUSE TestAccECSService_ServiceRegistries_changes
=== RUN   TestAccECSService_Tags_basic
=== PAUSE TestAccECSService_Tags_basic
=== RUN   TestAccECSService_Tags_managed
=== PAUSE TestAccECSService_Tags_managed
=== RUN   TestAccECSService_Tags_propagate
=== PAUSE TestAccECSService_Tags_propagate
=== RUN   TestAccECSService_executeCommand
=== PAUSE TestAccECSService_executeCommand
=== CONT  TestAccECSService_basic
=== CONT  TestAccECSService_multipleTargetGroups
=== CONT  TestAccECSService_iamRole
=== CONT  TestAccECSService_CapacityProviderStrategy_update
=== CONT  TestAccECSService_DeploymentValues_minZeroMaxOneHundred
--- PASS: TestAccECSService_iamRole (49.80s)
=== CONT  TestAccECSService_DeploymentControllerType_external
--- PASS: TestAccECSService_DeploymentValues_minZeroMaxOneHundred (73.69s)
=== CONT  TestAccECSService_DeploymentValues_basic
--- PASS: TestAccECSService_basic (84.07s)
=== CONT  TestAccECSService_DeploymentControllerType_codeDeployUpdateDesiredCountAndHealthCheckGracePeriod
--- PASS: TestAccECSService_DeploymentControllerType_external (41.13s)
=== CONT  TestAccECSService_DaemonSchedulingStrategy_basic
--- PASS: TestAccECSService_DaemonSchedulingStrategy_basic (39.31s)
=== CONT  TestAccECSService_executeCommand
--- PASS: TestAccECSService_DeploymentValues_basic (69.57s)
=== CONT  TestAccECSService_Tags_propagate
--- PASS: TestAccECSService_executeCommand (113.48s)
=== CONT  TestAccECSService_Tags_managed
--- PASS: TestAccECSService_Tags_propagate (134.10s)
=== CONT  TestAccECSService_Tags_basic
--- PASS: TestAccECSService_multipleTargetGroups (297.31s)
=== CONT  TestAccECSService_ServiceRegistries_changes
--- PASS: TestAccECSService_Tags_managed (70.21s)
=== CONT  TestAccECSService_ServiceRegistries_container
--- PASS: TestAccECSService_Tags_basic (80.63s)
=== CONT  TestAccECSService_ServiceRegistries_basic
--- PASS: TestAccECSService_DeploymentControllerType_codeDeployUpdateDesiredCountAndHealthCheckGracePeriod (320.42s)
=== CONT  TestAccECSService_clusterName
--- PASS: TestAccECSService_ServiceRegistries_container (169.08s)
=== CONT  TestAccECSService_replicaSchedulingStrategy
--- PASS: TestAccECSService_clusterName (84.95s)
=== CONT  TestAccECSService_renamedCluster
--- PASS: TestAccECSService_ServiceRegistries_basic (152.78s)
=== CONT  TestAccECSService_DaemonSchedulingStrategy_setDeploymentMinimum
--- PASS: TestAccECSService_DaemonSchedulingStrategy_setDeploymentMinimum (39.45s)
=== CONT  TestAccECSService_alb
--- PASS: TestAccECSService_replicaSchedulingStrategy (70.70s)
=== CONT  TestAccECSService_healthCheckGracePeriodSeconds
--- PASS: TestAccECSService_ServiceRegistries_changes (258.23s)
=== CONT  TestAccECSService_PlacementStrategy_unnormalized
--- PASS: TestAccECSService_renamedCluster (80.38s)
=== CONT  TestAccECSService_familyAndRevision
--- PASS: TestAccECSService_CapacityProviderStrategy_update (622.37s)
=== CONT  TestAccECSService_CapacityProviderStrategy_forceNewDeployment
--- PASS: TestAccECSService_PlacementStrategy_unnormalized (70.71s)
=== CONT  TestAccECSService_loadBalancerChanges
--- PASS: TestAccECSService_familyAndRevision (79.42s)
=== CONT  TestAccECSService_CapacityProviderStrategy_basic
--- PASS: TestAccECSService_CapacityProviderStrategy_forceNewDeployment (176.37s)
=== CONT  TestAccECSService_LaunchTypeFargate_basic
--- PASS: TestAccECSService_CapacityProviderStrategy_basic (194.40s)
=== CONT  TestAccECSService_LaunchTypeFargate_updateWaitForSteadyState
--- PASS: TestAccECSService_alb (297.93s)
=== CONT  TestAccECSService_LaunchTypeFargate_waitForSteadyState
--- PASS: TestAccECSService_healthCheckGracePeriodSeconds (325.95s)
=== CONT  TestAccECSService_LaunchTypeEC2_network
--- PASS: TestAccECSService_loadBalancerChanges (277.73s)
=== CONT  TestAccECSService_CapacityProviderStrategy_multiple
--- PASS: TestAccECSService_LaunchTypeFargate_basic (149.25s)
=== CONT  TestAccECSService_basicImport
--- PASS: TestAccECSService_LaunchTypeEC2_network (88.73s)
=== CONT  TestAccECSService_deploymentCircuitBreaker
--- PASS: TestAccECSService_LaunchTypeFargate_updateWaitForSteadyState (179.38s)
=== CONT  TestAccECSService_DeploymentControllerType_codeDeploy
--- PASS: TestAccECSService_basicImport (75.24s)
=== CONT  TestAccECSService_LaunchTypeFargate_platformVersion
--- PASS: TestAccECSService_LaunchTypeFargate_waitForSteadyState (198.72s)
=== CONT  TestAccECSService_PlacementStrategy_missing
--- PASS: TestAccECSService_PlacementStrategy_missing (0.74s)
=== CONT  TestAccECSService_PlacementConstraints_emptyExpression
--- PASS: TestAccECSService_deploymentCircuitBreaker (86.72s)
=== CONT  TestAccECSService_PlacementStrategy_basic
--- PASS: TestAccECSService_PlacementConstraints_emptyExpression (86.34s)
=== CONT  TestAccECSService_PlacementConstraints_basic
--- PASS: TestAccECSService_PlacementStrategy_basic (93.62s)
=== CONT  TestAccECSService_disappears
--- PASS: TestAccECSService_LaunchTypeFargate_platformVersion (136.17s)
=== CONT  TestAccECSService_forceNewDeployment
--- PASS: TestAccECSService_PlacementConstraints_basic (82.58s)
--- PASS: TestAccECSService_disappears (70.78s)
--- PASS: TestAccECSService_forceNewDeployment (81.59s)
--- PASS: TestAccECSService_DeploymentControllerType_codeDeploy (307.63s)
--- PASS: TestAccECSService_CapacityProviderStrategy_multiple (769.20s)
PASS
ok  	github.com/hashicorp/terraform-provider-aws/internal/service/ecs	1680.612s

@anGie44 anGie44 changed the title [WIP] Fix for hashicorp/terraform-provider-aws/#20452 r/ecs_service: add wait condition after create/update and handle errors when using wait_for_steady_state Apr 14, 2022
@anGie44 anGie44 added this to the v4.10.0 milestone Apr 14, 2022
@anGie44
Copy link
Contributor Author

anGie44 commented Apr 14, 2022

Thanks again @rwky ! Going to get these changes out now and see how they perform 👍 I'll keep the linked issue open as suggested

@anGie44 anGie44 merged commit 24b497b into main Apr 14, 2022
@anGie44 anGie44 deleted the issue-20452 branch April 14, 2022 17:47
github-actions bot pushed a commit that referenced this pull request Apr 14, 2022
@@ -1221,6 +1221,26 @@ func (c *Config) Client(ctx context.Context) (interface{}, diag.Diagnostics) {
}
})

client.ECSConn.Handlers.Retry.PushBack(func(r *request.Request) {
// By design the "WaitUntilServicesStable" method will poll every 15 seconds until a successful state
Copy link
Contributor

Choose a reason for hiding this comment

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

This is not actually true, it polls until it's either MISSING, DRAINING, INACTIVE or successful, the docs aren't clear on this but the code is https://github.com/aws/aws-sdk-go/blob/main/service/ecs/waiters.go#L79-L105

@github-actions
Copy link

This functionality has been released in v4.10.0 of the Terraform AWS Provider. Please see the Terraform documentation on provider versioning or reach out if you need any assistance upgrading.

For further feature requests or bug reports with this functionality, please create a new GitHub issue following the template. Thank you!

@github-actions
Copy link

I'm going to lock this pull request because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.
If you have found a problem that seems related to this change, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 17, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Addresses a defect in current functionality. client-connections Pertains to the AWS Client and service connections. service/ecs Issues and PRs that pertain to the ecs service. size/S Managed by automation to categorize the size of a PR.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants