Skip to content

Commit

Permalink
chore(aws): Increasing logs for scaling policies in case of AWS failu…
Browse files Browse the repository at this point in the history
…re (#2453)
  • Loading branch information
robzienert committed Mar 26, 2018
1 parent a78c846 commit c36d068
Showing 1 changed file with 8 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,10 @@ import com.netflix.spinnaker.clouddriver.aws.security.NetflixAmazonCredentials
import com.netflix.spinnaker.clouddriver.aws.services.IdGenerator
import com.netflix.spinnaker.clouddriver.data.task.Task
import groovy.transform.Canonical
import groovy.util.logging.Slf4j
import org.springframework.beans.factory.annotation.Autowired

@Slf4j
class DefaultScalingPolicyCopier implements ScalingPolicyCopier {

public static final DIMENSION_NAME_FOR_ASG = 'AutoScalingGroupName'
Expand All @@ -57,6 +59,9 @@ class DefaultScalingPolicyCopier implements ScalingPolicyCopier {
AmazonAutoScaling sourceAutoScaling = amazonClientProvider.getAutoScaling(sourceCredentials, sourceRegion, true)
AmazonAutoScaling targetAutoScaling = amazonClientProvider.getAutoScaling(targetCredentials, targetRegion, true)
List<ScalingPolicy> sourceAsgScalingPolicies = new ScalingPolicyRetriever(sourceAutoScaling).retrieve(new DescribePoliciesRequest(autoScalingGroupName: sourceAsgName))

log.info("Copying scaling policies for $sourceAsgName to $targetAsgName: $sourceAsgScalingPolicies")

Map<String, String> sourcePolicyArnToTargetPolicyArn = [:]
sourceAsgScalingPolicies.each { sourceAsgScalingPolicy ->
String newPolicyName = [targetAsgName, 'policy', idGenerator.nextId()].join('-')
Expand Down Expand Up @@ -136,6 +141,9 @@ class DefaultScalingPolicyCopier implements ScalingPolicyCopier {
AmazonCloudWatch sourceCloudWatch = amazonClientProvider.getCloudWatch(sourceCredentials, sourceRegion, true)
AmazonCloudWatch targetCloudWatch = amazonClientProvider.getCloudWatch(targetCredentials, targetRegion, true)
List<MetricAlarm> sourceAlarms = new AlarmRetriever(sourceCloudWatch).retrieve(new DescribeAlarmsRequest(alarmNames: sourceAlarmNames))

log.info("Copying scaling policy alarms for $newAutoScalingGroupName: $sourceAlarms")

sourceAlarms.findAll{ shouldCopySourceAlarm(it) }.each { alarm ->
List<Dimension> newDimensions = Lists.newArrayList(alarm.dimensions)
Dimension asgDimension = newDimensions.find { it.name == DIMENSION_NAME_FOR_ASG }
Expand Down

0 comments on commit c36d068

Please sign in to comment.