Skip to content

Commit 4f70f5d

Browse files
committed
replace usage of kapi.Scheme.DeepCopy() with .DeepCopy()
1 parent 88a6a98 commit 4f70f5d

File tree

31 files changed

+94
-260
lines changed

31 files changed

+94
-260
lines changed

pkg/apps/controller/deployer/deployer_controller.go

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -490,16 +490,7 @@ func (c *DeploymentController) setDeployerPodsOwnerRef(deployment *v1.Replicatio
490490
continue
491491
}
492492
glog.V(4).Infof("setting ownerRef for pod %s/%s to deployment %s/%s", pod.Namespace, pod.Name, deployment.Namespace, deployment.Name)
493-
objCopy, err := kapi.Scheme.DeepCopy(pod)
494-
if err != nil {
495-
errors = append(errors, err)
496-
continue
497-
}
498-
newPod, ok := objCopy.(*v1.Pod)
499-
if !ok {
500-
errors = append(errors, fmt.Errorf("object %#+v is not a pod", objCopy))
501-
continue
502-
}
493+
newPod := pod.DeepCopy()
503494
newPod.SetOwnerReferences([]metav1.OwnerReference{{
504495
APIVersion: "v1",
505496
Name: deployment.Name,

pkg/apps/strategy/support/lifecycle.go

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -381,20 +381,8 @@ func makeHookPod(hook *deployapi.LifecycleHook, rc *kapi.ReplicationController,
381381
}
382382

383383
gracePeriod := int64(10)
384-
385-
var podSecurityContextCopy *kapi.PodSecurityContext
386-
if ctx, err := kapi.Scheme.DeepCopy(rc.Spec.Template.Spec.SecurityContext); err != nil {
387-
return nil, fmt.Errorf("unable to copy pod securityContext: %v", err)
388-
} else {
389-
podSecurityContextCopy = ctx.(*kapi.PodSecurityContext)
390-
}
391-
392-
var securityContextCopy *kapi.SecurityContext
393-
if ctx, err := kapi.Scheme.DeepCopy(baseContainer.SecurityContext); err != nil {
394-
return nil, fmt.Errorf("unable to copy securityContext: %v", err)
395-
} else {
396-
securityContextCopy = ctx.(*kapi.SecurityContext)
397-
}
384+
podSecurityContextCopy := rc.Spec.Template.Spec.SecurityContext.DeepCopy()
385+
securityContextCopy := baseContainer.SecurityContext.DeepCopy()
398386

399387
pod := &kapi.Pod{
400388
ObjectMeta: metav1.ObjectMeta{

pkg/authorization/rulevalidation/compact_rules_test.go

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import (
77

88
"k8s.io/apimachinery/pkg/runtime/schema"
99
"k8s.io/apimachinery/pkg/util/sets"
10-
kapi "k8s.io/kubernetes/pkg/api"
1110

1211
authorizationapi "github.com/openshift/origin/pkg/authorization/apis/authorization"
1312
)
@@ -106,10 +105,9 @@ func TestCompactRules(t *testing.T) {
106105

107106
for k, tc := range testcases {
108107
rules := tc.Rules
109-
originalRules, err := kapi.Scheme.DeepCopy(tc.Rules)
110-
if err != nil {
111-
t.Errorf("%s: couldn't copy rules: %v", k, err)
112-
continue
108+
originalRules := make([]authorizationapi.PolicyRule, len(tc.Rules))
109+
for i, r := range tc.Rules {
110+
r.DeepCopyInto(&originalRules[i])
113111
}
114112
compacted, err := CompactRules(tc.Rules)
115113
if err != nil {

pkg/build/apis/build/validation/validation.go

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,7 @@ func ValidateBuildUpdate(build *buildapi.Build, older *buildapi.Build) field.Err
4444
}
4545

4646
// lie about the old build's pushsecret value so we can allow it to be updated.
47-
olderCopy, err := buildutil.BuildDeepCopy(older)
48-
if err != nil {
49-
glog.V(2).Infof("Error copying build for update validation: %v", err)
50-
allErrs = append(allErrs, field.InternalError(field.NewPath(""), fmt.Errorf("Unable to copy build for update validation: %v", err)))
51-
}
47+
olderCopy := older.DeepCopy()
5248
olderCopy.Spec.Output.PushSecret = build.Spec.Output.PushSecret
5349

5450
if !kapihelper.Semantic.DeepEqual(build.Spec, olderCopy.Spec) {

pkg/build/controller/build/build_controller.go

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -748,10 +748,9 @@ func (bc *BuildController) createBuildPod(build *buildapi.Build) (*buildUpdate,
748748

749749
// image reference resolution requires a copy of the build
750750
var err error
751-
build, err = buildutil.BuildDeepCopy(build)
752-
if err != nil {
753-
return nil, fmt.Errorf("unable to copy build %s: %v", buildDesc(build), err)
754-
}
751+
752+
// TODO: Rename this to buildCopy
753+
build = build.DeepCopy()
755754

756755
// Resolve all Docker image references to valid values.
757756
if err := bc.resolveImageReferences(build, update); err != nil {
@@ -1085,10 +1084,7 @@ func (bc *BuildController) handleBuildConfig(bcNamespace string, bcName string)
10851084
// and applies that patch using the REST client
10861085
func (bc *BuildController) patchBuild(build *buildapi.Build, update *buildUpdate) (*buildapi.Build, error) {
10871086
// Create a patch using the buildUpdate object
1088-
updatedBuild, err := buildutil.BuildDeepCopy(build)
1089-
if err != nil {
1090-
return nil, fmt.Errorf("cannot create a deep copy of build %s: %v", buildDesc(build), err)
1091-
}
1087+
updatedBuild := build.DeepCopy()
10921088
update.apply(updatedBuild)
10931089

10941090
patch, err := validation.CreateBuildPatch(build, updatedBuild)

pkg/build/util/util.go

Lines changed: 3 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -165,24 +165,8 @@ func VersionForBuild(build *buildapi.Build) int {
165165
return version
166166
}
167167

168-
func BuildDeepCopy(build *buildapi.Build) (*buildapi.Build, error) {
169-
objCopy, err := kapi.Scheme.DeepCopy(build)
170-
if err != nil {
171-
return nil, err
172-
}
173-
copied, ok := objCopy.(*buildapi.Build)
174-
if !ok {
175-
return nil, fmt.Errorf("expected Build, got %#v", objCopy)
176-
}
177-
return copied, nil
178-
}
179-
180168
func CopyApiResourcesToV1Resources(in *kapi.ResourceRequirements) corev1.ResourceRequirements {
181-
copied, err := kapi.Scheme.DeepCopy(in)
182-
if err != nil {
183-
panic(err)
184-
}
185-
in = copied.(*kapi.ResourceRequirements)
169+
in = in.DeepCopy()
186170
out := corev1.ResourceRequirements{}
187171
if err := kapiv1.Convert_api_ResourceRequirements_To_v1_ResourceRequirements(in, &out, nil); err != nil {
188172
panic(err)
@@ -191,14 +175,10 @@ func CopyApiResourcesToV1Resources(in *kapi.ResourceRequirements) corev1.Resourc
191175
}
192176

193177
func CopyApiEnvVarToV1EnvVar(in []kapi.EnvVar) []corev1.EnvVar {
194-
copied, err := kapi.Scheme.DeepCopy(in)
195-
if err != nil {
196-
panic(err)
197-
}
198-
in = copied.([]kapi.EnvVar)
199178
out := make([]corev1.EnvVar, len(in))
200179
for i := range in {
201-
if err := kapiv1.Convert_api_EnvVar_To_v1_EnvVar(&in[i], &out[i], nil); err != nil {
180+
item := in[i].DeepCopy()
181+
if err := kapiv1.Convert_api_EnvVar_To_v1_EnvVar(item, &out[i], nil); err != nil {
202182
panic(err)
203183
}
204184
}

pkg/image/controller/imagestream_controller_test.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -233,10 +233,7 @@ func TestHandleImageStream(t *testing.T) {
233233

234234
for i, test := range testCases {
235235
fake := imageclient.NewSimpleClientset()
236-
other, err := kapi.Scheme.DeepCopy(test.stream)
237-
if err != nil {
238-
t.Fatal(err)
239-
}
236+
other = test.stream.DeepCopy()
240237

241238
if err := handleImageStream(test.stream, fake.Image(), nil); err != nil {
242239
t.Errorf("%d: unexpected error: %v", i, err)

pkg/image/controller/scheduled_image_controller.go

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import (
99
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
1010
"k8s.io/client-go/tools/cache"
1111
"k8s.io/client-go/util/flowcontrol"
12-
kapi "k8s.io/kubernetes/pkg/api"
1312

1413
imageapi "github.com/openshift/origin/pkg/image/apis/image"
1514
imageclient "github.com/openshift/origin/pkg/image/generated/internalclientset/typed/image/internalversion"
@@ -169,11 +168,7 @@ func (s *ScheduledImageStreamController) syncTimedByName(namespace, name string)
169168
return ErrNotImportable
170169
}
171170

172-
copy, err := kapi.Scheme.DeepCopy(sharedStream)
173-
if err != nil {
174-
return err
175-
}
176-
stream := copy.(*imageapi.ImageStream)
171+
stream := sharedStream.DeepCopy()
177172
resetScheduledTags(stream)
178173

179174
glog.V(3).Infof("Scheduled import of stream %s/%s...", stream.Namespace, stream.Name)

pkg/image/controller/signature/signature_import_controller.go

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import (
1111
"k8s.io/apimachinery/pkg/util/wait"
1212
"k8s.io/client-go/tools/cache"
1313
"k8s.io/client-go/util/workqueue"
14-
kapi "k8s.io/kubernetes/pkg/api"
1514
"k8s.io/kubernetes/pkg/controller"
1615

1716
imageapi "github.com/openshift/origin/pkg/image/apis/image"
@@ -154,12 +153,7 @@ func (s *SignatureImportController) syncImageSignatures(key string) error {
154153
return nil
155154
}
156155

157-
t, err := kapi.Scheme.DeepCopy(image)
158-
if err != nil {
159-
return err
160-
}
161-
newImage := t.(*imageapi.Image)
162-
156+
newImage := image.DeepCopy()
163157
shouldUpdate := false
164158

165159
// Only add new signatures, do not override existing stored signatures as that

pkg/image/controller/trigger/image_trigger_controller_test.go

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -973,8 +973,7 @@ func updateBuildConfigImages(bc *buildapi.BuildConfig, tagRetriever trigger.TagR
973973
// changes passed to it and send it back on the watch as a modification.
974974
func alterBuildConfigFromTriggers(bcWatch *consistentWatch) imageReactorFunc {
975975
return imageReactorFunc(func(obj interface{}, tagRetriever trigger.TagRetriever) error {
976-
obj, _ = kapi.Scheme.DeepCopy(obj)
977-
bc := obj.(*buildapi.BuildConfig)
976+
bc := obj.DeepCopy()
978977

979978
updated, err := updateBuildConfigImages(bc, tagRetriever)
980979
if err != nil {
@@ -989,8 +988,7 @@ func alterBuildConfigFromTriggers(bcWatch *consistentWatch) imageReactorFunc {
989988

990989
func alterDeploymentConfigFromTriggers(dcWatch *consistentWatch) imageReactorFunc {
991990
return imageReactorFunc(func(obj interface{}, tagRetriever trigger.TagRetriever) error {
992-
obj, _ = kapi.Scheme.DeepCopy(obj)
993-
dc := obj.(*deployapi.DeploymentConfig)
991+
dc := obj.DeepCopy()
994992
updated, resolvable, err := deploymentconfigs.UpdateDeploymentConfigImages(dc, tagRetriever)
995993
if err != nil {
996994
return err
@@ -1007,8 +1005,7 @@ func alterDeploymentConfigFromTriggers(dcWatch *consistentWatch) imageReactorFun
10071005
func alterPodFromTriggers(podWatch *watch.RaceFreeFakeWatcher) imageReactorFunc {
10081006
count := 2
10091007
return imageReactorFunc(func(obj interface{}, tagRetriever trigger.TagRetriever) error {
1010-
obj, _ = kapi.Scheme.DeepCopy(obj)
1011-
pod := obj.(*kapi.Pod)
1008+
pod := obj.DeepCopy()
10121009

10131010
updated, err := annotations.UpdateObjectFromImages(pod, kapi.Scheme, tagRetriever)
10141011
if err != nil {
@@ -1227,8 +1224,7 @@ func TestTriggerController(t *testing.T) {
12271224
if len(items) == 0 {
12281225
continue
12291226
}
1230-
obj, _ := kapi.Scheme.DeepCopy(items[rnd.Int31n(int32(len(items)))])
1231-
bc := obj.(*buildapi.BuildConfig)
1227+
bc := items[rnd.Int31n(int32(len(items)))].DeepCopy()
12321228
if len(bc.Spec.Triggers) > 0 {
12331229
index := rnd.Int31n(int32(len(bc.Spec.Triggers)))
12341230
trigger := &bc.Spec.Triggers[index]

0 commit comments

Comments
 (0)