in operator/pkg/awsprovider/instances/reconciler.go [47:67]
func (c *Controller) Reconcile(ctx context.Context, dataplane *v1alpha1.DataPlane) error {
asg, err := c.getAutoScalingGroup(ctx, AutoScalingGroupNameFor(dataplane))
if err != nil {
return fmt.Errorf("getting auto scaling group for %v, %w", dataplane.Spec.ClusterName, err)
}
if asg == nil {
if err := c.createAutoScalingGroup(ctx, dataplane); err != nil {
return fmt.Errorf("creating auto scaling group for %v, %w", dataplane.Spec.ClusterName, err)
}
zap.S().Infof("[%s] Created autoscaling group", dataplane.Spec.ClusterName)
return nil
}
if asg.Status != nil && *asg.Status == "Delete in progress" {
// there are scenarios if you delete ASG and recreate quickly ASG might still be getting deleted
return fmt.Errorf("ASG %v deletion in progress", ptr.StringValue(asg.AutoScalingGroupName))
}
if err := c.updateAutoScalingGroup(ctx, dataplane, asg); err != nil {
return fmt.Errorf("updating auto scaling group %v, %w", AutoScalingGroupNameFor(dataplane), err)
}
return nil
}