in pkg/controller/ingress/ingress_controller.go [404:435]
func (r *ReconcileIngress) detachTGFromASG(instance *extensionsv1beta1.Ingress) error {
asgNames, targetGroupARN, err := r.getASGsAndTargetGroup(instance)
if err != nil {
return err
}
stackName := instance.ObjectMeta.Name
for _, asgName := range asgNames {
existingTargetGroupARNs, err := r.getTargetGroupsFromASG(asgName)
if err != nil {
r.log.Error("error describing ASG", zap.String("stackName", stackName), zap.String("asgName", asgName))
return err
}
if contains(existingTargetGroupARNs, targetGroupARN) {
r.log.Info("detaching targetGroupARN from ASG", zap.String("stackName", stackName), zap.String("asgName", asgName), zap.String("targetGroupARN", targetGroupARN))
_, err = r.autoscalingSvc.DetachLoadBalancerTargetGroups(&autoscaling.DetachLoadBalancerTargetGroupsInput{
AutoScalingGroupName: aws.String(asgName),
TargetGroupARNs: aws.StringSlice([]string{targetGroupARN}),
})
if err != nil {
r.log.Error("error detaching targetGroupARN from ASG", zap.String("stackName", stackName), zap.String("asgName", asgName), zap.String("targetGroupARN", targetGroupARN))
return err
}
} else {
r.log.Info("targetGroupARN already removed from ASG", zap.String("stackName", stackName), zap.String("asgName", asgName), zap.String("targetGroupARN", targetGroupARN))
}
}
return nil
}