Skip to content

Commit 753fa61

Browse files
authored
Merge pull request kubernetes-sigs#9452 from sbueringer/pr-improve-webhook-err
🌱 Improve Cluster variable defaulting/validation errors
2 parents 332882b + fec166c commit 753fa61

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

internal/topology/variables/cluster_variable_defaulting.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package variables
1919
import (
2020
"encoding/json"
2121
"fmt"
22+
"strings"
2223

2324
"k8s.io/apiextensions-apiserver/pkg/apis/apiextensions"
2425
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
@@ -49,8 +50,11 @@ func defaultClusterVariables(values []clusterv1.ClusterVariable, definitions []c
4950
// - variables with the same name do not have a mix of empty and non-empty DefinitionFrom.
5051
valuesIndex, err := newValuesIndex(values)
5152
if err != nil {
52-
return nil, append(allErrs, field.Invalid(fldPath, values,
53-
fmt.Sprintf("cluster variables not valid: %s", err)))
53+
var valueStrings []string
54+
for _, v := range values {
55+
valueStrings = append(valueStrings, fmt.Sprintf("Name: %s DefinitionFrom: %s", v.Name, v.DefinitionFrom))
56+
}
57+
return nil, append(allErrs, field.Invalid(fldPath, "["+strings.Join(valueStrings, ",")+"]", fmt.Sprintf("cluster variables not valid: %s", err)))
5458
}
5559

5660
// Get an index for each variable name and definition.

internal/topology/variables/cluster_variable_validation.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,11 @@ func validateClusterVariables(values []clusterv1.ClusterVariable, definitions []
4949
// - variables with the same name do not have a mix of empty and non-empty DefinitionFrom.
5050
valuesMap, err := newValuesIndex(values)
5151
if err != nil {
52-
return append(allErrs, field.Invalid(fldPath, values, fmt.Sprintf("cluster variables not valid: %s", err)))
52+
var valueStrings []string
53+
for _, v := range values {
54+
valueStrings = append(valueStrings, fmt.Sprintf("Name: %s DefinitionFrom: %s", v.Name, v.DefinitionFrom))
55+
}
56+
return append(allErrs, field.Invalid(fldPath, "["+strings.Join(valueStrings, ",")+"]", fmt.Sprintf("cluster variables not valid: %s", err)))
5357
}
5458

5559
// Get an index of definitions for each variable name and definition from the ClusterClass variable.

0 commit comments

Comments
 (0)