client-go: simplify deepcopy calls

Kubernetes-commit: ed423054ba0089a6d58fb0e048fe1acfd966f0d7
This commit is contained in:
Dr. Stefan Schimanski
2017-08-15 14:15:58 +02:00
committed by Kubernetes Publisher
parent 7be903ab67
commit 7cdaec7d07
6 changed files with 11 additions and 44 deletions

View File

@@ -183,10 +183,7 @@ func (t *tracker) List(gvr schema.GroupVersionResource, gvk schema.GroupVersionK
if err := meta.SetList(list, matchingObjs); err != nil {
return nil, err
}
if list, err = t.scheme.Copy(list); err != nil {
return nil, err
}
return list, nil
return list.DeepCopyObject(), nil
}
func (t *tracker) Get(gvr schema.GroupVersionResource, ns, name string) (runtime.Object, error) {
@@ -214,11 +211,7 @@ func (t *tracker) Get(gvr schema.GroupVersionResource, ns, name string) (runtime
// Only one object should match in the tracker if it works
// correctly, as Add/Update methods enforce kind/namespace/name
// uniqueness.
obj, err := t.scheme.Copy(matchingObjs[0])
if err != nil {
return nil, err
}
obj := matchingObjs[0].DeepCopyObject()
if status, ok := obj.(*metav1.Status); ok {
if status.Status != metav1.StatusSuccess {
return nil, &errors.StatusError{ErrStatus: *status}
@@ -280,10 +273,7 @@ func (t *tracker) add(gvr schema.GroupVersionResource, obj runtime.Object, ns st
// To avoid the object from being accidentally modified by caller
// after it's been added to the tracker, we always store the deep
// copy.
obj, err := t.scheme.Copy(obj)
if err != nil {
return err
}
obj = obj.DeepCopyObject()
newMeta, err := meta.Accessor(obj)
if err != nil {