Skip to content
This repository was archived by the owner on Feb 8, 2021. It is now read-only.

Commit 872faff

Browse files
committed
Internal errors are internal
1 parent 7fb8f60 commit 872faff

File tree

2 files changed

+11
-6
lines changed

2 files changed

+11
-6
lines changed

pkg/api/rest/update.go

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ limitations under the License.
1717
package rest
1818

1919
import (
20+
"fmt"
21+
2022
"k8s.io/kubernetes/pkg/api"
2123
"k8s.io/kubernetes/pkg/api/errors"
2224
"k8s.io/kubernetes/pkg/api/validation"
@@ -53,19 +55,19 @@ type RESTUpdateStrategy interface {
5355
}
5456

5557
// TODO: add other common fields that require global validation.
56-
func validateCommonFields(obj, old runtime.Object) field.ErrorList {
58+
func validateCommonFields(obj, old runtime.Object) (field.ErrorList, error) {
5759
allErrs := field.ErrorList{}
5860
objectMeta, err := api.ObjectMetaFor(obj)
5961
if err != nil {
60-
return append(allErrs, field.InternalError(field.NewPath("metadata"), err))
62+
return nil, fmt.Errorf("failed to get new object metadata: %v", err)
6163
}
6264
oldObjectMeta, err := api.ObjectMetaFor(old)
6365
if err != nil {
64-
return append(allErrs, field.InternalError(field.NewPath("metadata"), err))
66+
return nil, fmt.Errorf("failed to get old object metadata: %v", err)
6567
}
6668
allErrs = append(allErrs, validation.ValidateObjectMetaUpdate(objectMeta, oldObjectMeta, field.NewPath("metadata"))...)
6769

68-
return allErrs
70+
return allErrs, nil
6971
}
7072

7173
// BeforeUpdate ensures that common operations for all resources are performed on update. It only returns
@@ -87,7 +89,10 @@ func BeforeUpdate(strategy RESTUpdateStrategy, ctx api.Context, obj, old runtime
8789
strategy.PrepareForUpdate(obj, old)
8890

8991
// Ensure some common fields, like UID, are validated for all resources.
90-
errs := validateCommonFields(obj, old)
92+
errs, err := validateCommonFields(obj, old)
93+
if err != nil {
94+
return errors.NewInternalError(err)
95+
}
9196

9297
errs = append(errs, strategy.ValidateUpdate(ctx, obj, old)...)
9398
if len(errs) > 0 {

pkg/registry/pod/etcd/etcd.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ func (r *BindingREST) Create(ctx api.Context, obj runtime.Object) (out runtime.O
135135
// TODO: move me to a binding strategy
136136
if len(binding.Target.Kind) != 0 && binding.Target.Kind != "Node" {
137137
// TODO: When validation becomes versioned, this gets more complicated.
138-
return nil, errors.NewInvalid("binding", binding.Name, field.ErrorList{field.NotSupported(field.NewPath("target", "kind"), binding.Target.Kind, []string{"Node", ""})})
138+
return nil, errors.NewInvalid("binding", binding.Name, field.ErrorList{field.NotSupported(field.NewPath("target", "kind"), binding.Target.Kind, []string{"Node", "<empty>"})})
139139
}
140140
if len(binding.Target.Name) == 0 {
141141
// TODO: When validation becomes versioned, this gets more complicated.

0 commit comments

Comments
 (0)