Skip to content

Commit

Permalink
fix(ecs): Implementing backoff and retry for registerScalableTarget a…
Browse files Browse the repository at this point in the history
…utoscaling request
  • Loading branch information
christosarvanitis committed May 20, 2024
1 parent f8b8f1e commit f576133
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import com.amazonaws.services.ecs.AmazonECS;
import com.amazonaws.services.ecs.model.UpdateServiceRequest;
import com.netflix.spinnaker.clouddriver.ecs.deploy.description.ModifyServiceDescription;
import com.netflix.spinnaker.clouddriver.helpers.OperationPoller;
import java.util.List;

public class DisableServiceAtomicOperation
Expand Down Expand Up @@ -70,7 +71,9 @@ private void disableService() {
.withDynamicScalingInSuspended(true)
.withDynamicScalingOutSuspended(true)
.withScheduledScalingSuspended(true));
autoScalingClient.registerScalableTarget(suspendRequest);

OperationPoller.retryWithBackoff(
o -> autoScalingClient.registerScalableTarget(suspendRequest), 1000, 3);
updateTaskStatus(
String.format("Autoscaling on server group %s suspended for %s.", service, account));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import com.amazonaws.services.ecs.AmazonECS;
import com.amazonaws.services.ecs.model.UpdateServiceRequest;
import com.netflix.spinnaker.clouddriver.ecs.deploy.description.ModifyServiceDescription;
import com.netflix.spinnaker.clouddriver.helpers.OperationPoller;
import java.util.ArrayList;
import java.util.List;

Expand Down Expand Up @@ -68,7 +69,9 @@ private void enableService() {
.withDynamicScalingInSuspended(false)
.withDynamicScalingOutSuspended(false)
.withScheduledScalingSuspended(false));
autoScalingClient.registerScalableTarget(resumeRequest);

OperationPoller.retryWithBackoff(
o -> autoScalingClient.registerScalableTarget(resumeRequest), 1000, 3);
updateTaskStatus(
String.format("Autoscaling on server group %s resumed for %s.", service, account));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import com.amazonaws.services.ecs.model.UpdateServiceRequest;
import com.netflix.spinnaker.clouddriver.ecs.deploy.description.ResizeServiceDescription;
import com.netflix.spinnaker.clouddriver.ecs.services.ContainerInformationService;
import com.netflix.spinnaker.clouddriver.helpers.OperationPoller;
import com.netflix.spinnaker.clouddriver.orchestration.AtomicOperation;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
Expand Down Expand Up @@ -89,7 +90,10 @@ private void resizeAutoScalingGroup(Service service) {
String.format(
"Resizing Scalable Target of %s to %s instances",
service.getServiceName(), desiredCount));
autoScalingClient.registerScalableTarget(request);

OperationPoller.retryWithBackoff(
o -> autoScalingClient.registerScalableTarget(request), 1000, 3);

updateTaskStatus(
String.format(
"Done resizing Scalable Target of %s to %s instances",
Expand Down

0 comments on commit f576133

Please sign in to comment.