controllers: simplify deepcopy calls

This commit is contained in:
Dr. Stefan Schimanski
2017-08-15 14:14:21 +02:00
parent 28f6b3fcc0
commit 1d053c4f7c
50 changed files with 86 additions and 475 deletions

View File

@@ -41,11 +41,9 @@ import (
appslisters "k8s.io/client-go/listers/apps/v1beta1"
corelisters "k8s.io/client-go/listers/core/v1"
"k8s.io/client-go/tools/cache"
"k8s.io/kubernetes/pkg/api"
podutil "k8s.io/kubernetes/pkg/api/v1/pod"
"k8s.io/kubernetes/pkg/controller"
"k8s.io/kubernetes/pkg/controller/history"
"k8s.io/metrics/pkg/client/clientset_generated/clientset/scheme"
)
type invariantFunc func(set *apps.StatefulSet, spc *fakeStatefulPodControl) error
@@ -502,11 +500,7 @@ func TestStatefulSetControl_getSetRevisions(t *testing.T) {
}
updateRevision := func(cr *apps.ControllerRevision, revision int64) *apps.ControllerRevision {
obj, err := scheme.Scheme.DeepCopy(cr)
if err != nil {
t.Fatal(err)
}
clone := obj.(*apps.ControllerRevision)
clone := cr.DeepCopy()
clone.Revision = revision
return clone
}
@@ -514,12 +508,12 @@ func TestStatefulSetControl_getSetRevisions(t *testing.T) {
set := newStatefulSet(3)
set.Status.CollisionCount = new(int32)
rev0 := newRevisionOrDie(set, 1)
set1 := copySet(set)
set1 := set.DeepCopy()
set1.Spec.Template.Spec.Containers[0].Image = "foo"
set1.Status.CurrentRevision = rev0.Name
set1.Status.CollisionCount = new(int32)
rev1 := newRevisionOrDie(set1, 2)
set2 := copySet(set1)
set2 := set1.DeepCopy()
set2.Spec.Template.Labels["new"] = "label"
set2.Status.CurrentRevision = rev0.Name
set2.Status.CollisionCount = new(int32)
@@ -1549,22 +1543,6 @@ func (spc *fakeStatefulPodControl) SetDeleteStatefulPodError(err error, after in
spc.deletePodTracker.after = after
}
func copyPod(pod *v1.Pod) *v1.Pod {
obj, err := api.Scheme.Copy(pod)
if err != nil {
panic(err)
}
return obj.(*v1.Pod)
}
func copySet(set *apps.StatefulSet) *apps.StatefulSet {
obj, err := scheme.Scheme.Copy(set)
if err != nil {
panic(err)
}
return obj.(*apps.StatefulSet)
}
func (spc *fakeStatefulPodControl) setPodPending(set *apps.StatefulSet, ordinal int) ([]*v1.Pod, error) {
selector, err := metav1.LabelSelectorAsSelector(set.Spec.Selector)
if err != nil {
@@ -1578,7 +1556,7 @@ func (spc *fakeStatefulPodControl) setPodPending(set *apps.StatefulSet, ordinal
return nil, fmt.Errorf("ordinal %d out of range [0,%d)", ordinal, len(pods))
}
sort.Sort(ascendingOrdinal(pods))
pod := copyPod(pods[ordinal])
pod := pods[ordinal].DeepCopy()
pod.Status.Phase = v1.PodPending
fakeResourceVersion(pod)
spc.podsIndexer.Update(pod)
@@ -1598,7 +1576,7 @@ func (spc *fakeStatefulPodControl) setPodRunning(set *apps.StatefulSet, ordinal
return nil, fmt.Errorf("ordinal %d out of range [0,%d)", ordinal, len(pods))
}
sort.Sort(ascendingOrdinal(pods))
pod := copyPod(pods[ordinal])
pod := pods[ordinal].DeepCopy()
pod.Status.Phase = v1.PodRunning
fakeResourceVersion(pod)
spc.podsIndexer.Update(pod)
@@ -1618,7 +1596,7 @@ func (spc *fakeStatefulPodControl) setPodReady(set *apps.StatefulSet, ordinal in
return nil, fmt.Errorf("ordinal %d out of range [0,%d)", ordinal, len(pods))
}
sort.Sort(ascendingOrdinal(pods))
pod := copyPod(pods[ordinal])
pod := pods[ordinal].DeepCopy()
condition := v1.PodCondition{Type: v1.PodReady, Status: v1.ConditionTrue}
podutil.UpdatePodCondition(&pod.Status, &condition)
fakeResourceVersion(pod)