Skip to content

Commit

Permalink
constellation-node-operator: don't bail out on listing errors
Browse files Browse the repository at this point in the history
If the GCP project has scaling groups for which our checks can't be performed (which is the case for regional scaling groups, as they "don't exist" for the operator, if deployed in another region) . In that case, we should not bail out directly but go on with the next group. An error should only be thrown if there are no matching groups at all.
  • Loading branch information
msanft committed Dec 3, 2024
1 parent a1da8aa commit f649407
Showing 1 changed file with 9 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ func (c *Client) ListScalingGroups(ctx context.Context, uid string) ([]cspapi.Sc
}
template, err := c.instanceTemplateAPI.Get(c.projectID, templateURI[len(templateURI)-1])
if err != nil {
return nil, fmt.Errorf("getting instance template: %w", err)
continue
}
if template.Properties == nil || template.Properties.Labels == nil {
continue
Expand All @@ -140,14 +140,14 @@ func (c *Client) ListScalingGroups(ctx context.Context, uid string) ([]cspapi.Sc

groupID, err := c.canonicalInstanceGroupID(ctx, *grpManager.SelfLink)
if err != nil {
return nil, fmt.Errorf("normalizing instance group ID: %w", err)
continue
}

role := updatev1alpha1.NodeRoleFromString(template.Properties.Labels["constellation-role"])

name, err := c.GetScalingGroupName(groupID)
if err != nil {
return nil, fmt.Errorf("getting scaling group name: %w", err)
continue
}

nodeGroupName := template.Properties.Labels["constellation-node-group"]
Expand All @@ -164,7 +164,7 @@ func (c *Client) ListScalingGroups(ctx context.Context, uid string) ([]cspapi.Sc

autoscalerGroupName, err := c.GetAutoscalingGroupName(groupID)
if err != nil {
return nil, fmt.Errorf("getting autoscaling group name: %w", err)
continue
}

results = append(results, cspapi.ScalingGroup{
Expand All @@ -176,6 +176,11 @@ func (c *Client) ListScalingGroups(ctx context.Context, uid string) ([]cspapi.Sc
})
}
}

if len(results) == 0 {
return nil, errors.New("no matching scaling groups found")
}

return results, nil
}

Expand Down

0 comments on commit f649407

Please sign in to comment.