Skip to content

Commit

Permalink
Add additional error codes for invalid reservations to GCE client
Browse files Browse the repository at this point in the history
  • Loading branch information
hbostan committed Sep 7, 2023
1 parent 57f2814 commit 376bb74
Showing 1 changed file with 11 additions and 8 deletions.
19 changes: 11 additions & 8 deletions cluster-autoscaler/cloudprovider/gce/autoscaling_gce_client.go
Original file line number Diff line number Diff line change
Expand Up @@ -453,15 +453,18 @@ func isReservationNotReady(errorCode, errorMessage string) bool {
}

func isInvalidReservationError(errorCode, errorMessage string) bool {
reservationErrors := []string{
"Incompatible AggregateReservation VMFamily",
"Could not find the given reservation with the following name",
"must use ReservationAffinity of",
"The reservation must exist in the same project as the instance",
"only compatible with Aggregate Reservations",
regexReservationErrors := []*regexp.Regexp{
regexp.MustCompile("Incompatible AggregateReservation VMFamily"),
regexp.MustCompile("Could not find the given reservation with the following name"),
regexp.MustCompile("must use ReservationAffinity of"),
regexp.MustCompile("The reservation must exist in the same project as the instance"),
regexp.MustCompile("only compatible with Aggregate Reservations"),
regexp.MustCompile("instance configuration is optimized for ([a-z0-9*-]+) workloads"),
regexp.MustCompile("should be a ([a-zA-Z0-9*-]+) VM Family for instance with ([a-zA-Z0-9*\\ -]*) machine type"),
regexp.MustCompile("is not supported for aggregate reservations. It must be one of"),
}
for _, rErr := range reservationErrors {
if strings.Contains(errorMessage, rErr) {
for _, re := range regexReservationErrors {
if re.MatchString(errorMessage) {
return true
}
}
Expand Down

0 comments on commit 376bb74

Please sign in to comment.