Browse code

boring changes

deads2k authored on 2016/04/12 22:42:28
Showing 106 changed files
... ...
@@ -19,6 +19,7 @@ import (
19 19
 	"k8s.io/kubernetes/pkg/kubectl/resource"
20 20
 	kruntime "k8s.io/kubernetes/pkg/runtime"
21 21
 	"k8s.io/kubernetes/pkg/util"
22
+	kflag "k8s.io/kubernetes/pkg/util/flag"
22 23
 
23 24
 	"github.com/openshift/origin/pkg/api/latest"
24 25
 	templateapi "github.com/openshift/origin/pkg/template/api"
... ...
@@ -73,7 +74,7 @@ func changeObjectsVersion(items []kruntime.Object) {
73 73
 
74 74
 func main() {
75 75
 	runtime.GOMAXPROCS(runtime.NumCPU())
76
-	flag.CommandLine.SetNormalizeFunc(util.WordSepNormalizeFunc)
76
+	flag.CommandLine.SetNormalizeFunc(kflag.WordSepNormalizeFunc)
77 77
 	flag.Parse()
78 78
 
79 79
 	if *rewrite != "" {
... ...
@@ -30,7 +30,7 @@ func Convert_runtime_Object_To_runtime_RawExtension(in runtime.Object, out *runt
30 30
 		return err
31 31
 	}
32 32
 
33
-	out.RawJSON = bytes
33
+	out.Raw = bytes
34 34
 	out.Object = externalObject
35 35
 
36 36
 	return nil
... ...
@@ -40,7 +40,7 @@ func Convert_runtime_Object_To_runtime_RawExtension(in runtime.Object, out *runt
40 40
 // The caller doesn't know the type ahead of time and that means this method can't communicate the return value.  This sucks really badly.
41 41
 // I'm going to set the `in.Object` field can have callers to this function do magic to pull it back out.  I'm also going to bitch about it.
42 42
 func Convert_runtime_RawExtension_To_runtime_Object(in *runtime.RawExtension, out runtime.Object, s conversion.Scope) error {
43
-	if in == nil || len(in.RawJSON) == 0 || in.Object != nil {
43
+	if in == nil || len(in.Raw) == 0 || in.Object != nil {
44 44
 		return nil
45 45
 	}
46 46
 
... ...
@@ -50,7 +50,7 @@ func Convert_runtime_RawExtension_To_runtime_Object(in *runtime.RawExtension, ou
50 50
 	if err != nil {
51 51
 		return err
52 52
 	}
53
-	decodedObject, err := runtime.Decode(kapi.Codecs.UniversalDecoder(srcVersion), in.RawJSON)
53
+	decodedObject, err := runtime.Decode(kapi.Codecs.UniversalDecoder(srcVersion), in.Raw)
54 54
 	if err != nil {
55 55
 		return err
56 56
 	}
... ...
@@ -129,7 +129,7 @@ func BuildGraph(path string) (osgraph.Graph, []runtime.Object, error) {
129 129
 	})
130 130
 
131 131
 	r := resource.NewBuilder(mapper, typer, clientMapper, kapi.Codecs.UniversalDecoder()).
132
-		FilenameParam(false, abspath).
132
+		FilenameParam(false, false, abspath).
133 133
 		Flatten().
134 134
 		Do()
135 135
 
... ...
@@ -16,7 +16,7 @@ import (
16 16
 	"k8s.io/kubernetes/pkg/api/validation"
17 17
 	"k8s.io/kubernetes/pkg/runtime"
18 18
 	"k8s.io/kubernetes/pkg/types"
19
-	"k8s.io/kubernetes/pkg/util"
19
+	"k8s.io/kubernetes/pkg/util/diff"
20 20
 	"k8s.io/kubernetes/pkg/util/intstr"
21 21
 	"k8s.io/kubernetes/pkg/util/sets"
22 22
 
... ...
@@ -452,7 +452,7 @@ func roundTrip(t *testing.T, codec runtime.Codec, originalItem runtime.Object) {
452 452
 	}
453 453
 
454 454
 	if !kapi.Semantic.DeepEqual(originalItem, obj2) {
455
-		t.Errorf("1: %v: diff: %v\nCodec: %v\nData: %s\nSource: %s", name, util.ObjectDiff(originalItem, obj2), codec, string(data), util.ObjectGoPrintSideBySide(originalItem, obj2))
455
+		t.Errorf("1: %v: diff: %v\nCodec: %v\nData: %s\nSource: %s", name, diff.ObjectDiff(originalItem, obj2), codec, string(data), diff.ObjectGoPrintSideBySide(originalItem, obj2))
456 456
 		return
457 457
 	}
458 458
 
... ...
@@ -462,7 +462,7 @@ func roundTrip(t *testing.T, codec runtime.Codec, originalItem runtime.Object) {
462 462
 		return
463 463
 	}
464 464
 	if !kapi.Semantic.DeepEqual(originalItem, obj3) {
465
-		t.Errorf("3: %v: diff: %v\nCodec: %v", name, util.ObjectDiff(originalItem, obj3), codec)
465
+		t.Errorf("3: %v: diff: %v\nCodec: %v", name, diff.ObjectDiff(originalItem, obj3), codec)
466 466
 		return
467 467
 	}
468 468
 }
... ...
@@ -5,7 +5,7 @@ import (
5 5
 	"fmt"
6 6
 	"net"
7 7
 
8
-	"k8s.io/kubernetes/pkg/util"
8
+	"k8s.io/kubernetes/pkg/util/crypto"
9 9
 
10 10
 	"github.com/openshift/origin/pkg/auth/ldaputil/ldapclient"
11 11
 	"gopkg.in/ldap.v2"
... ...
@@ -20,7 +20,7 @@ func NewLDAPClientConfig(URL, bindDN, bindPassword, CA string, insecure bool) (l
20 20
 
21 21
 	tlsConfig := &tls.Config{}
22 22
 	if len(CA) > 0 {
23
-		roots, err := util.CertPoolFromFile(CA)
23
+		roots, err := crypto.CertPoolFromFile(CA)
24 24
 		if err != nil {
25 25
 			return nil, fmt.Errorf("error loading cert pool from ca file %s: %v", CA, err)
26 26
 		}
... ...
@@ -6,7 +6,7 @@ import (
6 6
 	"testing"
7 7
 
8 8
 	kapi "k8s.io/kubernetes/pkg/api"
9
-	"k8s.io/kubernetes/pkg/util"
9
+	"k8s.io/kubernetes/pkg/util/diff"
10 10
 	"k8s.io/kubernetes/pkg/util/sets"
11 11
 
12 12
 	authorizationapi "github.com/openshift/origin/pkg/authorization/api"
... ...
@@ -152,7 +152,7 @@ func (r *resourceAccessTest) runTest(t *testing.T) {
152 152
 	switch obj.(type) {
153 153
 	case *authorizationapi.ResourceAccessReviewResponse:
154 154
 		if !reflect.DeepEqual(expectedResponse, obj) {
155
-			t.Errorf("diff %v", util.ObjectGoPrintDiff(expectedResponse, obj))
155
+			t.Errorf("diff %v", diff.ObjectGoPrintDiff(expectedResponse, obj))
156 156
 		}
157 157
 	case nil:
158 158
 		if len(r.authorizer.err) == 0 {
... ...
@@ -163,6 +163,6 @@ func (r *resourceAccessTest) runTest(t *testing.T) {
163 163
 	}
164 164
 
165 165
 	if !reflect.DeepEqual(expectedAttributes, r.authorizer.actualAttributes) {
166
-		t.Errorf("diff %v", util.ObjectGoPrintDiff(expectedAttributes, r.authorizer.actualAttributes))
166
+		t.Errorf("diff %v", diff.ObjectGoPrintDiff(expectedAttributes, r.authorizer.actualAttributes))
167 167
 	}
168 168
 }
... ...
@@ -6,7 +6,7 @@ import (
6 6
 	"testing"
7 7
 
8 8
 	kapi "k8s.io/kubernetes/pkg/api"
9
-	"k8s.io/kubernetes/pkg/util"
9
+	"k8s.io/kubernetes/pkg/util/diff"
10 10
 	"k8s.io/kubernetes/pkg/util/sets"
11 11
 
12 12
 	authorizationapi "github.com/openshift/origin/pkg/authorization/api"
... ...
@@ -182,7 +182,7 @@ func (r *subjectAccessTest) runTest(t *testing.T) {
182 182
 	switch obj.(type) {
183 183
 	case *authorizationapi.SubjectAccessReviewResponse:
184 184
 		if !reflect.DeepEqual(expectedResponse, obj) {
185
-			t.Errorf("diff %v", util.ObjectGoPrintDiff(expectedResponse, obj))
185
+			t.Errorf("diff %v", diff.ObjectGoPrintDiff(expectedResponse, obj))
186 186
 		}
187 187
 	case nil:
188 188
 		if len(r.authorizer.err) == 0 {
... ...
@@ -194,6 +194,6 @@ func (r *subjectAccessTest) runTest(t *testing.T) {
194 194
 	}
195 195
 
196 196
 	if !reflect.DeepEqual(expectedAttributes, r.authorizer.actualAttributes) {
197
-		t.Errorf("diff %v", util.ObjectGoPrintDiff(expectedAttributes, r.authorizer.actualAttributes))
197
+		t.Errorf("diff %v", diff.ObjectGoPrintDiff(expectedAttributes, r.authorizer.actualAttributes))
198 198
 	}
199 199
 }
... ...
@@ -6,7 +6,7 @@ import (
6 6
 	"testing"
7 7
 
8 8
 	kapi "k8s.io/kubernetes/pkg/api"
9
-	"k8s.io/kubernetes/pkg/util"
9
+	"k8s.io/kubernetes/pkg/util/diff"
10 10
 	"k8s.io/kubernetes/pkg/util/sets"
11 11
 
12 12
 	authorizationapi "github.com/openshift/origin/pkg/authorization/api"
... ...
@@ -136,7 +136,7 @@ func (r *resourceAccessTest) runTest(t *testing.T) {
136 136
 	switch obj.(type) {
137 137
 	case *authorizationapi.ResourceAccessReviewResponse:
138 138
 		if !reflect.DeepEqual(expectedResponse, obj) {
139
-			t.Errorf("diff %v", util.ObjectGoPrintDiff(expectedResponse, obj))
139
+			t.Errorf("diff %v", diff.ObjectGoPrintDiff(expectedResponse, obj))
140 140
 		}
141 141
 	case nil:
142 142
 		if len(r.authorizer.err) == 0 {
... ...
@@ -147,6 +147,6 @@ func (r *resourceAccessTest) runTest(t *testing.T) {
147 147
 	}
148 148
 
149 149
 	if !reflect.DeepEqual(expectedAttributes, r.authorizer.actualAttributes) {
150
-		t.Errorf("diff %v", util.ObjectGoPrintDiff(expectedAttributes, r.authorizer.actualAttributes))
150
+		t.Errorf("diff %v", diff.ObjectGoPrintDiff(expectedAttributes, r.authorizer.actualAttributes))
151 151
 	}
152 152
 }
... ...
@@ -6,7 +6,7 @@ import (
6 6
 	"testing"
7 7
 
8 8
 	kapi "k8s.io/kubernetes/pkg/api"
9
-	"k8s.io/kubernetes/pkg/util"
9
+	"k8s.io/kubernetes/pkg/util/diff"
10 10
 	"k8s.io/kubernetes/pkg/util/sets"
11 11
 
12 12
 	authorizationapi "github.com/openshift/origin/pkg/authorization/api"
... ...
@@ -159,7 +159,7 @@ func (r *subjectAccessTest) runTest(t *testing.T) {
159 159
 	switch obj.(type) {
160 160
 	case *authorizationapi.SubjectAccessReviewResponse:
161 161
 		if !reflect.DeepEqual(expectedResponse, obj) {
162
-			t.Errorf("diff %v", util.ObjectGoPrintDiff(expectedResponse, obj))
162
+			t.Errorf("diff %v", diff.ObjectGoPrintDiff(expectedResponse, obj))
163 163
 		}
164 164
 	case nil:
165 165
 		if len(r.authorizer.err) == 0 {
... ...
@@ -171,6 +171,6 @@ func (r *subjectAccessTest) runTest(t *testing.T) {
171 171
 	}
172 172
 
173 173
 	if !reflect.DeepEqual(expectedAttributes, r.authorizer.actualAttributes) {
174
-		t.Errorf("diff %v", util.ObjectGoPrintDiff(expectedAttributes, r.authorizer.actualAttributes))
174
+		t.Errorf("diff %v", diff.ObjectGoPrintDiff(expectedAttributes, r.authorizer.actualAttributes))
175 175
 	}
176 176
 }
... ...
@@ -13,7 +13,7 @@ import (
13 13
 	kclient "k8s.io/kubernetes/pkg/client/unversioned"
14 14
 	"k8s.io/kubernetes/pkg/labels"
15 15
 	"k8s.io/kubernetes/pkg/runtime"
16
-	kutil "k8s.io/kubernetes/pkg/util"
16
+	"k8s.io/kubernetes/pkg/util/flowcontrol"
17 17
 	utilruntime "k8s.io/kubernetes/pkg/util/runtime"
18 18
 	"k8s.io/kubernetes/pkg/watch"
19 19
 
... ...
@@ -95,7 +95,7 @@ func (factory *BuildControllerFactory) Create() controller.RunnableController {
95 95
 			queue,
96 96
 			cache.MetaNamespaceKeyFunc,
97 97
 			limitedLogAndRetry(factory.BuildUpdater, 30*time.Minute),
98
-			kutil.NewTokenBucketRateLimiter(1, 10)),
98
+			flowcontrol.NewTokenBucketRateLimiter(1, 10)),
99 99
 		Handle: func(obj interface{}) error {
100 100
 			build := obj.(*buildapi.Build)
101 101
 			err := buildController.HandleBuild(build)
... ...
@@ -134,7 +134,7 @@ func (factory *BuildControllerFactory) CreateDeleteController() controller.Runna
134 134
 			queue,
135 135
 			cache.MetaNamespaceKeyFunc,
136 136
 			controller.RetryNever,
137
-			kutil.NewTokenBucketRateLimiter(1, 10)),
137
+			flowcontrol.NewTokenBucketRateLimiter(1, 10)),
138 138
 		Handle: func(obj interface{}) error {
139 139
 			deltas := obj.(cache.Deltas)
140 140
 			for _, delta := range deltas {
... ...
@@ -201,7 +201,7 @@ func (factory *BuildPodControllerFactory) Create() controller.RunnableController
201 201
 			queue,
202 202
 			cache.MetaNamespaceKeyFunc,
203 203
 			retryFunc("BuildPod", nil),
204
-			kutil.NewTokenBucketRateLimiter(1, 10)),
204
+			flowcontrol.NewTokenBucketRateLimiter(1, 10)),
205 205
 		Handle: func(obj interface{}) error {
206 206
 			pod := obj.(*kapi.Pod)
207 207
 			return buildPodController.HandlePod(pod)
... ...
@@ -250,7 +250,7 @@ func (factory *BuildPodControllerFactory) CreateDeleteController() controller.Ru
250 250
 			queue,
251 251
 			cache.MetaNamespaceKeyFunc,
252 252
 			controller.RetryNever,
253
-			kutil.NewTokenBucketRateLimiter(1, 10)),
253
+			flowcontrol.NewTokenBucketRateLimiter(1, 10)),
254 254
 		Handle: func(obj interface{}) error {
255 255
 			deltas := obj.(cache.Deltas)
256 256
 			for _, delta := range deltas {
... ...
@@ -295,7 +295,7 @@ func (factory *ImageChangeControllerFactory) Create() controller.RunnableControl
295 295
 				_, isFatal := err.(buildcontroller.ImageChangeControllerFatalError)
296 296
 				return isFatal
297 297
 			}),
298
-			kutil.NewTokenBucketRateLimiter(1, 10),
298
+			flowcontrol.NewTokenBucketRateLimiter(1, 10),
299 299
 		),
300 300
 		Handle: func(obj interface{}) error {
301 301
 			imageRepo := obj.(*imageapi.ImageStream)
... ...
@@ -326,7 +326,7 @@ func (factory *BuildConfigControllerFactory) Create() controller.RunnableControl
326 326
 			queue,
327 327
 			cache.MetaNamespaceKeyFunc,
328 328
 			retryFunc("BuildConfig", buildcontroller.IsFatal),
329
-			kutil.NewTokenBucketRateLimiter(1, 10)),
329
+			flowcontrol.NewTokenBucketRateLimiter(1, 10)),
330 330
 		Handle: func(obj interface{}) error {
331 331
 			bc := obj.(*buildapi.BuildConfig)
332 332
 			return bcController.HandleBuildConfig(bc)
... ...
@@ -5,7 +5,7 @@ import (
5 5
 
6 6
 	"k8s.io/kubernetes/pkg/api/errors"
7 7
 	"k8s.io/kubernetes/pkg/apis/extensions"
8
-	unversioned_extensions "k8s.io/kubernetes/pkg/client/typed/generated/extensions/unversioned"
8
+	unversioned_extensions "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/extensions/unversioned"
9 9
 	kclient "k8s.io/kubernetes/pkg/client/unversioned"
10 10
 
11 11
 	"github.com/openshift/origin/pkg/api/latest"
... ...
@@ -408,7 +408,8 @@ func (o *SyncOptions) Run(cmd *cobra.Command, f *clientcmd.Factory) error {
408 408
 	for _, item := range openshiftGroups {
409 409
 		list.Items = append(list.Items, item)
410 410
 	}
411
-	fn := cmdutil.VersionedPrintObject(f.PrintObject, cmd, o.Out)
411
+	mapper, _ := f.Object(false)
412
+	fn := cmdutil.VersionedPrintObject(f.PrintObject, cmd, mapper, o.Out)
412 413
 	if err := fn(list); err != nil {
413 414
 		return err
414 415
 	}
... ...
@@ -57,7 +57,7 @@ func (n *NodeOptions) Complete(f *clientcmd.Factory, c *cobra.Command, args []st
57 57
 	if err != nil {
58 58
 		return err
59 59
 	}
60
-	mapper, typer := f.Object()
60
+	mapper, typer := f.Object(false)
61 61
 
62 62
 	n.DefaultNamespace = defaultNamespace
63 63
 	n.Kclient = kc
... ...
@@ -117,7 +117,7 @@ func (o *ReconcileClusterRoleBindingsOptions) Complete(cmd *cobra.Command, f *cl
117 117
 
118 118
 	o.ExcludeSubjects = authorizationapi.BuildSubjects(excludeUsers, excludeGroups, uservalidation.ValidateUserName, uservalidation.ValidateGroupName)
119 119
 
120
-	mapper, _ := f.Object()
120
+	mapper, _ := f.Object(false)
121 121
 	for _, resourceString := range args {
122 122
 		resource, name, err := cmdutil.ResolveResource(authorizationapi.Resource("clusterroles"), resourceString, mapper)
123 123
 		if err != nil {
... ...
@@ -162,7 +162,8 @@ func (o *ReconcileClusterRoleBindingsOptions) RunReconcileClusterRoleBindings(cm
162 162
 		for _, item := range changedClusterRoleBindings {
163 163
 			list.Items = append(list.Items, item)
164 164
 		}
165
-		fn := cmdutil.VersionedPrintObject(f.PrintObject, cmd, o.Out)
165
+		mapper, _ := f.Object(false)
166
+		fn := cmdutil.VersionedPrintObject(f.PrintObject, cmd, mapper, o.Out)
166 167
 		if err := fn(list); err != nil {
167 168
 			return err
168 169
 		}
... ...
@@ -100,7 +100,7 @@ func (o *ReconcileClusterRolesOptions) Complete(cmd *cobra.Command, f *clientcmd
100 100
 
101 101
 	o.Output = kcmdutil.GetFlagString(cmd, "output")
102 102
 
103
-	mapper, _ := f.Object()
103
+	mapper, _ := f.Object(false)
104 104
 	for _, resourceString := range args {
105 105
 		resource, name, err := osutil.ResolveResource(authorizationapi.Resource("clusterroles"), resourceString, mapper)
106 106
 		if err != nil {
... ...
@@ -145,7 +145,8 @@ func (o *ReconcileClusterRolesOptions) RunReconcileClusterRoles(cmd *cobra.Comma
145 145
 		for _, item := range changedClusterRoles {
146 146
 			list.Items = append(list.Items, item)
147 147
 		}
148
-		fn := cmdutil.VersionedPrintObject(f.PrintObject, cmd, o.Out)
148
+		mapper, _ := f.Object(false)
149
+		fn := cmdutil.VersionedPrintObject(f.PrintObject, cmd, mapper, o.Out)
149 150
 		if err := fn(list); err != nil {
150 151
 			return err
151 152
 		}
... ...
@@ -151,7 +151,8 @@ func (o *ReconcileSCCOptions) RunReconcileSCCs(cmd *cobra.Command, f *clientcmd.
151 151
 		for _, item := range changedSCCs {
152 152
 			list.Items = append(list.Items, item)
153 153
 		}
154
-		fn := cmdutil.VersionedPrintObject(f.PrintObject, cmd, o.Out)
154
+		mapper, _ := f.Object(false)
155
+		fn := cmdutil.VersionedPrintObject(f.PrintObject, cmd, mapper, o.Out)
155 156
 		if err := fn(list); err != nil {
156 157
 			return err
157 158
 		}
... ...
@@ -64,7 +64,7 @@ func (o *whoCanOptions) complete(f *clientcmd.Factory, args []string) error {
64 64
 		return errors.New("you must specify two arguments: verb and resource")
65 65
 	}
66 66
 
67
-	restMapper, _ := f.Object()
67
+	restMapper, _ := f.Object(false)
68 68
 
69 69
 	o.verb = args[0]
70 70
 	o.resource = resourceFor(restMapper, args[1])
... ...
@@ -405,14 +405,15 @@ func RunCmdRegistry(f *clientcmd.Factory, cmd *cobra.Command, out io.Writer, cfg
405 405
 	list := &kapi.List{Items: objects}
406 406
 
407 407
 	if output {
408
-		fn := cmdutil.VersionedPrintObject(f.PrintObject, cmd, out)
408
+		mapper, _ := f.Object(false)
409
+		fn := cmdutil.VersionedPrintObject(f.PrintObject, cmd, mapper, out)
409 410
 		if err := fn(list); err != nil {
410 411
 			return fmt.Errorf("unable to print object: %v", err)
411 412
 		}
412 413
 		return nil
413 414
 	}
414 415
 
415
-	mapper, typer := f.Factory.Object()
416
+	mapper, typer := f.Factory.Object(false)
416 417
 	bulk := configcmd.Bulk{
417 418
 		Mapper:            mapper,
418 419
 		Typer:             typer,
... ...
@@ -748,14 +748,15 @@ func RunCmdRouter(f *clientcmd.Factory, cmd *cobra.Command, out io.Writer, cfg *
748 748
 	list := &kapi.List{Items: objects}
749 749
 
750 750
 	if output {
751
-		fn := cmdutil.VersionedPrintObject(f.PrintObject, cmd, out)
751
+		mapper, _ := f.Object(false)
752
+		fn := cmdutil.VersionedPrintObject(f.PrintObject, cmd, mapper, out)
752 753
 		if err := fn(list); err != nil {
753 754
 			return fmt.Errorf("unable to print object: %v", err)
754 755
 		}
755 756
 		return defaultOutputErr
756 757
 	}
757 758
 
758
-	mapper, typer := f.Factory.Object()
759
+	mapper, typer := f.Factory.Object(false)
759 760
 	bulk := configcmd.Bulk{
760 761
 		Mapper:            mapper,
761 762
 		Typer:             typer,
... ...
@@ -70,7 +70,7 @@ func RunCancelBuild(f *clientcmd.Factory, out io.Writer, cmd *cobra.Command, arg
70 70
 	}
71 71
 	buildClient := client.Builds(namespace)
72 72
 
73
-	mapper, typer := f.Object()
73
+	mapper, typer := f.Object(false)
74 74
 	obj, err := resource.NewBuilder(mapper, typer, resource.ClientMapperFunc(f.ClientForMapping), kapi.Codecs.UniversalDecoder()).
75 75
 		NamespaceParam(namespace).
76 76
 		ResourceNames("builds", buildName).
... ...
@@ -117,7 +117,7 @@ func RunCancelBuild(f *clientcmd.Factory, out io.Writer, cmd *cobra.Command, arg
117 117
 	}
118 118
 	fmt.Fprintf(out, "Build %s was cancelled.\n", build.Name)
119 119
 
120
-	// mapper, typer := f.Object()
120
+	// mapper, typer := f.Object(false)
121 121
 	// resourceMapper := &resource.Mapper{ObjectTyper: typer, RESTMapper: mapper, ClientMapper: f.ClientMapperForCommand()}
122 122
 	// shortOutput := kcmdutil.GetFlagString(cmd, "output") == "name"
123 123
 
... ...
@@ -137,7 +137,7 @@ func CreateEdgeRoute(f *clientcmd.Factory, out io.Writer, cmd *cobra.Command, ar
137 137
 	if err != nil {
138 138
 		return err
139 139
 	}
140
-	mapper, typer := f.Object()
140
+	mapper, typer := f.Object(false)
141 141
 	resourceMapper := &resource.Mapper{
142 142
 		ObjectTyper:  typer,
143 143
 		RESTMapper:   mapper,
... ...
@@ -222,7 +222,7 @@ func CreatePassthroughRoute(f *clientcmd.Factory, out io.Writer, cmd *cobra.Comm
222 222
 	if err != nil {
223 223
 		return err
224 224
 	}
225
-	mapper, typer := f.Object()
225
+	mapper, typer := f.Object(false)
226 226
 	resourceMapper := &resource.Mapper{
227 227
 		ObjectTyper:  typer,
228 228
 		RESTMapper:   mapper,
... ...
@@ -340,7 +340,7 @@ func CreateReencryptRoute(f *clientcmd.Factory, out io.Writer, cmd *cobra.Comman
340 340
 	if err != nil {
341 341
 		return err
342 342
 	}
343
-	mapper, typer := f.Object()
343
+	mapper, typer := f.Object(false)
344 344
 	resourceMapper := &resource.Mapper{
345 345
 		ObjectTyper:  typer,
346 346
 		RESTMapper:   mapper,
... ...
@@ -415,7 +415,7 @@ func resolveServiceName(f *clientcmd.Factory, resource string) (string, error) {
415 415
 	if len(resource) == 0 {
416 416
 		return "", fmt.Errorf("you need to provide a service name via --service")
417 417
 	}
418
-	mapper, _ := f.Object()
418
+	mapper, _ := f.Object(false)
419 419
 	rType, name, err := cmdutil.ResolveResource(kapi.Resource("services"), resource, mapper)
420 420
 	if err != nil {
421 421
 		return "", err
... ...
@@ -192,7 +192,7 @@ func (o *DebugOptions) Complete(cmd *cobra.Command, f *clientcmd.Factory, args [
192 192
 		return err
193 193
 	}
194 194
 
195
-	mapper, typer := f.Object()
195
+	mapper, typer := f.Object(false)
196 196
 	b := resource.NewBuilder(mapper, typer, resource.ClientMapperFunc(f.ClientForMapping), kapi.Codecs.UniversalDecoder()).
197 197
 		NamespaceParam(cmdNamespace).DefaultNamespace().
198 198
 		SingleResourceType().
... ...
@@ -238,7 +238,7 @@ func (o *DebugOptions) Complete(cmd *cobra.Command, f *clientcmd.Factory, args [
238 238
 	output := kcmdutil.GetFlagString(cmd, "output")
239 239
 	if len(output) != 0 {
240 240
 		o.Print = func(pod *kapi.Pod, out io.Writer) error {
241
-			return f.PrintObject(cmd, pod, out)
241
+			return f.PrintObject(cmd, mapper, pod, out)
242 242
 		}
243 243
 	}
244 244
 
... ...
@@ -136,7 +136,7 @@ func (o *DeployOptions) Complete(f *clientcmd.Factory, args []string, out io.Wri
136 136
 		return err
137 137
 	}
138 138
 
139
-	mapper, typer := f.Object()
139
+	mapper, typer := f.Object(false)
140 140
 	o.builder = resource.NewBuilder(mapper, typer, resource.ClientMapperFunc(f.ClientForMapping), kapi.Codecs.UniversalDecoder())
141 141
 
142 142
 	o.out = out
... ...
@@ -103,7 +103,7 @@ func RunExport(f *clientcmd.Factory, exporter Exporter, in io.Reader, out io.Wri
103 103
 		return err
104 104
 	}
105 105
 
106
-	mapper, typer := f.Object()
106
+	mapper, typer := f.Object(false)
107 107
 	b := resource.NewBuilder(mapper, typer, resource.ClientMapperFunc(f.ClientForMapping), kapi.Codecs.UniversalDecoder()).
108 108
 		NamespaceParam(cmdNamespace).DefaultNamespace().AllNamespaces(allNamespaces).
109 109
 		FilenameParam(explicit, filenames...).
... ...
@@ -78,7 +78,7 @@ func validate(cmd *cobra.Command, f *clientcmd.Factory, args []string) error {
78 78
 		return err
79 79
 	}
80 80
 
81
-	mapper, typer := f.Object()
81
+	mapper, typer := f.Object(false)
82 82
 	r := resource.NewBuilder(mapper, typer, resource.ClientMapperFunc(f.ClientForMapping), kapi.Codecs.UniversalDecoder()).
83 83
 		ContinueOnError().
84 84
 		NamespaceParam(namespace).DefaultNamespace().
... ...
@@ -98,7 +98,7 @@ func (o *OpenShiftLogsOptions) Complete(f *clientcmd.Factory, out io.Writer, cmd
98 98
 
99 99
 	podLogOptions := o.KubeLogOptions.Options.(*kapi.PodLogOptions)
100 100
 
101
-	mapper, typer := f.Object()
101
+	mapper, typer := f.Object(false)
102 102
 	infos, err := resource.NewBuilder(mapper, typer, resource.ClientMapperFunc(f.ClientForMapping), kapi.Codecs.UniversalDecoder()).
103 103
 		NamespaceParam(namespace).DefaultNamespace().
104 104
 		ResourceNames("pods", args...).
... ...
@@ -205,7 +205,8 @@ func (o *NewAppOptions) Complete(commandName string, f *clientcmd.Factory, c *co
205 205
 
206 206
 	o.CommandPath = c.CommandPath()
207 207
 	o.CommandName = commandName
208
-	o.PrintObject = cmdutil.VersionedPrintObject(f.PrintObject, c, out)
208
+	mapper, _ := f.Object(false)
209
+	o.PrintObject = cmdutil.VersionedPrintObject(f.PrintObject, c, mapper, out)
209 210
 	o.LogsForObject = f.LogsForObject
210 211
 	if err := CompleteAppConfig(o.Config, f, c, args); err != nil {
211 212
 		return err
... ...
@@ -462,7 +463,7 @@ func getDockerClient() (*docker.Client, error) {
462 462
 }
463 463
 
464 464
 func CompleteAppConfig(config *newcmd.AppConfig, f *clientcmd.Factory, c *cobra.Command, args []string) error {
465
-	mapper, typer := f.Object()
465
+	mapper, typer := f.Object(false)
466 466
 	if config.Mapper == nil {
467 467
 		config.Mapper = mapper
468 468
 	}
... ...
@@ -156,7 +156,8 @@ func (o *NewBuildOptions) Complete(fullName string, f *clientcmd.Factory, c *cob
156 156
 
157 157
 	o.CommandPath = c.CommandPath()
158 158
 	o.CommandName = fullName
159
-	o.PrintObject = cmdutil.VersionedPrintObject(f.PrintObject, c, out)
159
+	mapper, _ := f.Object(false)
160
+	o.PrintObject = cmdutil.VersionedPrintObject(f.PrintObject, c, mapper, out)
160 161
 	o.LogsForObject = f.LogsForObject
161 162
 	if err := CompleteAppConfig(o.Config, f, c, args); err != nil {
162 163
 		return err
... ...
@@ -114,7 +114,7 @@ func RunProcess(f *clientcmd.Factory, out io.Writer, cmd *cobra.Command, args []
114 114
 		return err
115 115
 	}
116 116
 
117
-	mapper, typer := f.Object()
117
+	mapper, typer := f.Object(false)
118 118
 
119 119
 	client, _, err := f.Clients()
120 120
 	if err != nil {
... ...
@@ -130,7 +130,7 @@ func (o *RollbackOptions) Complete(f *clientcmd.Factory, args []string, out io.W
130 130
 	o.Namespace = namespace
131 131
 
132 132
 	// Set up client based support.
133
-	mapper, typer := f.Object()
133
+	mapper, typer := f.Object(false)
134 134
 	o.getBuilder = func() *resource.Builder {
135 135
 		return resource.NewBuilder(mapper, typer, resource.ClientMapperFunc(f.ClientForMapping), kapi.Codecs.UniversalDecoder())
136 136
 	}
... ...
@@ -139,7 +139,7 @@ func RunEnv(f *clientcmd.Factory, in io.Reader, out io.Writer, cmd *cobra.Comman
139 139
 		return err
140 140
 	}
141 141
 
142
-	mapper, typer := f.Object()
142
+	mapper, typer := f.Object(false)
143 143
 	b := resource.NewBuilder(mapper, typer, resource.ClientMapperFunc(f.ClientForMapping), kapi.Codecs.UniversalDecoder()).
144 144
 		ContinueOnError().
145 145
 		NamespaceParam(cmdNamespace).DefaultNamespace().
... ...
@@ -170,7 +170,7 @@ func (o *ProbeOptions) Complete(f *clientcmd.Factory, cmd *cobra.Command, args [
170 170
 		return err
171 171
 	}
172 172
 
173
-	mapper, typer := f.Object()
173
+	mapper, typer := f.Object(false)
174 174
 	o.Builder = resource.NewBuilder(mapper, typer, resource.ClientMapperFunc(f.ClientForMapping), kapi.Codecs.UniversalDecoder()).
175 175
 		ContinueOnError().
176 176
 		NamespaceParam(cmdNamespace).DefaultNamespace().
... ...
@@ -181,7 +181,7 @@ func (o *ProbeOptions) Complete(f *clientcmd.Factory, cmd *cobra.Command, args [
181 181
 
182 182
 	output := kcmdutil.GetFlagString(cmd, "output")
183 183
 	if len(output) != 0 {
184
-		o.PrintObject = func(obj runtime.Object) error { return f.PrintObject(cmd, obj, o.Out) }
184
+		o.PrintObject = func(obj runtime.Object) error { return f.PrintObject(cmd, mapper, obj, o.Out) }
185 185
 	}
186 186
 
187 187
 	o.Encoder = f.JSONEncoder()
... ...
@@ -181,7 +181,7 @@ func (o *TriggersOptions) Complete(f *clientcmd.Factory, cmd *cobra.Command, arg
181 181
 		o.Auto = true
182 182
 	}
183 183
 
184
-	mapper, typer := f.Object()
184
+	mapper, typer := f.Object(false)
185 185
 	o.Builder = resource.NewBuilder(mapper, typer, resource.ClientMapperFunc(f.ClientForMapping), kapi.Codecs.UniversalDecoder()).
186 186
 		ContinueOnError().
187 187
 		NamespaceParam(cmdNamespace).DefaultNamespace().
... ...
@@ -192,7 +192,7 @@ func (o *TriggersOptions) Complete(f *clientcmd.Factory, cmd *cobra.Command, arg
192 192
 
193 193
 	output := kcmdutil.GetFlagString(cmd, "output")
194 194
 	if len(output) != 0 {
195
-		o.PrintObject = func(obj runtime.Object) error { return f.PrintObject(cmd, obj, o.Out) }
195
+		o.PrintObject = func(obj runtime.Object) error { return f.PrintObject(cmd, mapper, obj, o.Out) }
196 196
 	}
197 197
 
198 198
 	o.Encoder = f.JSONEncoder()
... ...
@@ -315,7 +315,7 @@ func (v *VolumeOptions) Complete(f *clientcmd.Factory, cmd *cobra.Command, out,
315 315
 	if err != nil {
316 316
 		return err
317 317
 	}
318
-	mapper, typer := f.Object()
318
+	mapper, typer := f.Object(false)
319 319
 
320 320
 	v.DefaultNamespace = cmdNamespace
321 321
 	v.ExplicitNamespace = explicit
... ...
@@ -184,7 +184,7 @@ func (o *StartBuildOptions) Complete(f *clientcmd.Factory, in io.Reader, out io.
184 184
 	)
185 185
 
186 186
 	if len(name) == 0 && len(args) > 0 && len(args[0]) > 0 {
187
-		mapper, _ := f.Object()
187
+		mapper, _ := f.Object(false)
188 188
 		resource, name, err = cmdutil.ResolveResource(buildapi.Resource("buildconfigs"), args[0], mapper)
189 189
 		if err != nil {
190 190
 			return err
... ...
@@ -116,7 +116,7 @@ func parseStreamName(defaultNamespace, name string) (string, string, error) {
116 116
 }
117 117
 
118 118
 func determineSourceKind(f *clientcmd.Factory, input string) string {
119
-	mapper, _ := f.Object()
119
+	mapper, _ := f.Object(false)
120 120
 	gvks, err := mapper.KindsFor(unversioned.GroupVersionResource{Group: imageapi.GroupName, Resource: input})
121 121
 	if err == nil {
122 122
 		return gvks[0].Kind
... ...
@@ -119,7 +119,7 @@ func (o *AddSecretOptions) Complete(f *kcmdutil.Factory, args []string, typeFlag
119 119
 		return err
120 120
 	}
121 121
 
122
-	o.Mapper, o.Typer = f.Object()
122
+	o.Mapper, o.Typer = f.Object(false)
123 123
 	o.ClientMapper = resource.ClientMapperFunc(f.ClientForMapping)
124 124
 
125 125
 	return nil
... ...
@@ -80,7 +80,8 @@ func NewCmdCreateBasicAuthSecret(name, fullName string, f *kcmdutil.Factory, rea
80 80
 				secret, err := o.NewBasicAuthSecret()
81 81
 				kcmdutil.CheckErr(err)
82 82
 
83
-				kcmdutil.CheckErr(f.PrintObject(c, secret, out))
83
+				mapper, _ := f.Object(false)
84
+				kcmdutil.CheckErr(f.PrintObject(c, mapper, secret, out))
84 85
 				return
85 86
 			}
86 87
 
... ...
@@ -80,7 +80,8 @@ func NewCmdCreateDockerConfigSecret(name, fullName string, f *kcmdutil.Factory,
80 80
 				secret, err := o.NewDockerSecret()
81 81
 				kcmdutil.CheckErr(err)
82 82
 
83
-				kcmdutil.CheckErr(f.PrintObject(c, secret, out))
83
+				mapper, _ := f.Object(false)
84
+				kcmdutil.CheckErr(f.PrintObject(c, mapper, secret, out))
84 85
 				return
85 86
 			}
86 87
 
... ...
@@ -91,7 +91,8 @@ func NewCmdCreateSecret(name, fullName string, f *clientcmd.Factory, out io.Writ
91 91
 				secret, err := options.BundleSecret()
92 92
 				kcmdutil.CheckErr(err)
93 93
 
94
-				kcmdutil.CheckErr(f.Factory.PrintObject(c, secret, out))
94
+				mapper, _ := f.Object(false)
95
+				kcmdutil.CheckErr(f.Factory.PrintObject(c, mapper, secret, out))
95 96
 				return
96 97
 			}
97 98
 
... ...
@@ -74,7 +74,8 @@ func NewCmdCreateSSHAuthSecret(name, fullName string, f *kcmdutil.Factory, out i
74 74
 				secret, err := o.NewSSHAuthSecret()
75 75
 				kcmdutil.CheckErr(err)
76 76
 
77
-				kcmdutil.CheckErr(f.PrintObject(c, secret, out))
77
+				mapper, _ := f.Object(false)
78
+				kcmdutil.CheckErr(f.PrintObject(c, mapper, secret, out))
78 79
 				return
79 80
 			}
80 81
 
... ...
@@ -95,7 +95,7 @@ func (o *BuildChainOptions) Complete(f *clientcmd.Factory, cmd *cobra.Command, a
95 95
 	o.c, o.t = oc, oc
96 96
 
97 97
 	resource := unversioned.GroupResource{}
98
-	mapper, _ := f.Object()
98
+	mapper, _ := f.Object(false)
99 99
 	resource, o.name, err = osutil.ResolveResource(imageapi.Resource("imagestreamtags"), args[0], mapper)
100 100
 	if err != nil {
101 101
 		return err
... ...
@@ -35,7 +35,8 @@ func NewCommandCreateBootstrapProjectTemplate(f *clientcmd.Factory, commandName
35 35
 				cmdutil.CheckErr(err)
36 36
 			}
37 37
 
38
-			err = f.Factory.PrintObject(cmd, template, out)
38
+			mapper, _ := f.Object(false)
39
+			err = f.Factory.PrintObject(cmd, mapper, template, out)
39 40
 			if err != nil {
40 41
 				cmdutil.CheckErr(err)
41 42
 			}
... ...
@@ -11,7 +11,7 @@ import (
11 11
 
12 12
 	kapi "k8s.io/kubernetes/pkg/api"
13 13
 	kcmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
14
-	"k8s.io/kubernetes/pkg/util"
14
+	"k8s.io/kubernetes/pkg/util/crypto"
15 15
 )
16 16
 
17 17
 const CreateClientCommandName = "create-api-client-config"
... ...
@@ -95,7 +95,7 @@ func (o CreateClientOptions) Validate(args []string) error {
95 95
 		return errors.New("certificate-authority must be provided")
96 96
 	} else {
97 97
 		for _, caFile := range o.APIServerCAFiles {
98
-			if _, err := util.CertPoolFromFile(caFile); err != nil {
98
+			if _, err := crypto.CertPoolFromFile(caFile); err != nil {
99 99
 				return fmt.Errorf("certificate-authority must be a valid certificate file: %v", err)
100 100
 			}
101 101
 		}
... ...
@@ -13,7 +13,7 @@ import (
13 13
 
14 14
 	kapi "k8s.io/kubernetes/pkg/api"
15 15
 	kcmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
16
-	"k8s.io/kubernetes/pkg/util"
16
+	kcrypto "k8s.io/kubernetes/pkg/util/crypto"
17 17
 
18 18
 	cliconfig "github.com/openshift/origin/pkg/cmd/cli/config"
19 19
 	"github.com/openshift/origin/pkg/cmd/server/crypto"
... ...
@@ -121,7 +121,7 @@ func (o CreateKubeConfigOptions) Validate(args []string) error {
121 121
 		return errors.New("certificate-authority must be provided")
122 122
 	} else {
123 123
 		for _, caFile := range o.APIServerCAFiles {
124
-			if _, err := util.CertPoolFromFile(caFile); err != nil {
124
+			if _, err := kcrypto.CertPoolFromFile(caFile); err != nil {
125 125
 				return fmt.Errorf("certificate-authority must be a valid certificate file: %v", err)
126 126
 			}
127 127
 		}
... ...
@@ -14,7 +14,7 @@ import (
14 14
 
15 15
 	kapi "k8s.io/kubernetes/pkg/api"
16 16
 	kcmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
17
-	"k8s.io/kubernetes/pkg/util"
17
+	"k8s.io/kubernetes/pkg/util/crypto"
18 18
 	utilerrors "k8s.io/kubernetes/pkg/util/errors"
19 19
 
20 20
 	"github.com/openshift/origin/pkg/util/parallel"
... ...
@@ -149,7 +149,7 @@ func (o CreateMasterCertsOptions) Validate(args []string) error {
149 149
 	}
150 150
 
151 151
 	for _, caFile := range o.APIServerCAFiles {
152
-		if _, err := util.CertPoolFromFile(caFile); err != nil {
152
+		if _, err := crypto.CertPoolFromFile(caFile); err != nil {
153 153
 			return fmt.Errorf("certificate authority must be a valid certificate file: %v", err)
154 154
 		}
155 155
 	}
... ...
@@ -18,7 +18,7 @@ import (
18 18
 	kcmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
19 19
 	"k8s.io/kubernetes/pkg/master/ports"
20 20
 	"k8s.io/kubernetes/pkg/runtime"
21
-	"k8s.io/kubernetes/pkg/util"
21
+	"k8s.io/kubernetes/pkg/util/crypto"
22 22
 
23 23
 	"github.com/openshift/origin/pkg/cmd/flagtypes"
24 24
 	configapi "github.com/openshift/origin/pkg/cmd/server/api"
... ...
@@ -160,7 +160,7 @@ func (o CreateNodeConfigOptions) Validate(args []string) error {
160 160
 		return fmt.Errorf("--certificate-authority must be a valid certificate file")
161 161
 	} else {
162 162
 		for _, caFile := range o.APIServerCAFiles {
163
-			if _, err := util.CertPoolFromFile(caFile); err != nil {
163
+			if _, err := crypto.CertPoolFromFile(caFile); err != nil {
164 164
 				return fmt.Errorf("--certificate-authority must be a valid certificate file: %v", err)
165 165
 			}
166 166
 		}
... ...
@@ -14,7 +14,7 @@ import (
14 14
 	"k8s.io/kubernetes/pkg/runtime"
15 15
 	"k8s.io/kubernetes/pkg/runtime/serializer"
16 16
 	"k8s.io/kubernetes/pkg/types"
17
-	"k8s.io/kubernetes/pkg/util"
17
+	"k8s.io/kubernetes/pkg/util/diff"
18 18
 
19 19
 	configapi "github.com/openshift/origin/pkg/cmd/server/api"
20 20
 	configapiv1 "github.com/openshift/origin/pkg/cmd/server/api/v1"
... ...
@@ -236,7 +236,7 @@ func roundTrip(t *testing.T, codec runtime.Codec, originalItem runtime.Object) {
236 236
 	}
237 237
 
238 238
 	if !kapi.Semantic.DeepEqual(originalItem, obj2) {
239
-		t.Errorf("1: %v: diff: %v\nCodec: %v\nData: %s\nSource: %s", name, util.ObjectDiff(originalItem, obj2), codec, string(data), util.ObjectGoPrintSideBySide(originalItem, obj2))
239
+		t.Errorf("1: %v: diff: %v\nCodec: %v\nData: %s\nSource: %s", name, diff.ObjectDiff(originalItem, obj2), codec, string(data), diff.ObjectGoPrintSideBySide(originalItem, obj2))
240 240
 		return
241 241
 	}
242 242
 
... ...
@@ -246,7 +246,7 @@ func roundTrip(t *testing.T, codec runtime.Codec, originalItem runtime.Object) {
246 246
 		return
247 247
 	}
248 248
 	if !kapi.Semantic.DeepEqual(originalItem, obj3) {
249
-		t.Errorf("3: %v: diff: %v\nCodec: %v", name, util.ObjectDiff(originalItem, obj3), codec)
249
+		t.Errorf("3: %v: diff: %v\nCodec: %v", name, diff.ObjectDiff(originalItem, obj3), codec)
250 250
 		return
251 251
 	}
252 252
 }
... ...
@@ -310,7 +310,7 @@ func fuzzerFor(t *testing.T, version unversioned.GroupVersion, src rand.Source)
310 310
 		func(j *runtime.Object, c fuzz.Continue) {
311 311
 			*j = &runtime.Unknown{
312 312
 				// We do not set TypeMeta here because it is not carried through a round trip
313
-				RawJSON: []byte(`{"apiVersion":"unknown.group/unknown","kind":"Something","someKey":"someValue"}`),
313
+				Raw: []byte(`{"apiVersion":"unknown.group/unknown","kind":"Something","someKey":"someValue"}`),
314 314
 			}
315 315
 		},
316 316
 		func(j *unversioned.TypeMeta, c fuzz.Continue) {
... ...
@@ -339,14 +339,14 @@ func convert_runtime_Object_To_runtime_RawExtension(in runtime.Object, out *runt
339 339
 	if runtime.IsNotRegisteredError(err) {
340 340
 		switch cast := in.(type) {
341 341
 		case *runtime.Unknown:
342
-			out.RawJSON = cast.RawJSON
342
+			out.Raw = cast.Raw
343 343
 			return nil
344 344
 		case *runtime.Unstructured:
345 345
 			bytes, err := runtime.Encode(runtime.UnstructuredJSONScheme, externalObject)
346 346
 			if err != nil {
347 347
 				return err
348 348
 			}
349
-			out.RawJSON = bytes
349
+			out.Raw = bytes
350 350
 			return nil
351 351
 		}
352 352
 	}
... ...
@@ -359,7 +359,7 @@ func convert_runtime_Object_To_runtime_RawExtension(in runtime.Object, out *runt
359 359
 		return err
360 360
 	}
361 361
 
362
-	out.RawJSON = bytes
362
+	out.Raw = bytes
363 363
 	out.Object = externalObject
364 364
 
365 365
 	return nil
... ...
@@ -369,13 +369,13 @@ func convert_runtime_Object_To_runtime_RawExtension(in runtime.Object, out *runt
369 369
 // The caller doesn't know the type ahead of time and that means this method can't communicate the return value.  This sucks really badly.
370 370
 // I'm going to set the `in.Object` field can have callers to this function do magic to pull it back out.  I'm also going to bitch about it.
371 371
 func convert_runtime_RawExtension_To_runtime_Object(in *runtime.RawExtension, out runtime.Object, s conversion.Scope) error {
372
-	if in == nil || len(in.RawJSON) == 0 || in.Object != nil {
372
+	if in == nil || len(in.Raw) == 0 || in.Object != nil {
373 373
 		return nil
374 374
 	}
375 375
 
376
-	decodedObject, err := runtime.Decode(codec, in.RawJSON)
376
+	decodedObject, err := runtime.Decode(codec, in.Raw)
377 377
 	if err != nil {
378
-		in.Object = &runtime.Unknown{RawJSON: in.RawJSON}
378
+		in.Object = &runtime.Unknown{Raw: in.Raw}
379 379
 		return nil
380 380
 	}
381 381
 
... ...
@@ -9,7 +9,7 @@ import (
9 9
 	"k8s.io/kubernetes/pkg/api/unversioned"
10 10
 	"k8s.io/kubernetes/pkg/runtime"
11 11
 	"k8s.io/kubernetes/pkg/runtime/serializer"
12
-	"k8s.io/kubernetes/pkg/util"
12
+	"k8s.io/kubernetes/pkg/util/diff"
13 13
 
14 14
 	internal "github.com/openshift/origin/pkg/cmd/server/api"
15 15
 	"github.com/openshift/origin/pkg/cmd/server/api/latest"
... ...
@@ -473,7 +473,7 @@ func TestSerializeNodeConfig(t *testing.T) {
473 473
 		t.Fatal(err)
474 474
 	}
475 475
 	if string(serializedConfig) != expectedSerializedNodeConfig {
476
-		t.Errorf("Diff:\n-------------\n%s", util.StringDiff(string(serializedConfig), expectedSerializedNodeConfig))
476
+		t.Errorf("Diff:\n-------------\n%s", diff.StringDiff(string(serializedConfig), expectedSerializedNodeConfig))
477 477
 	}
478 478
 }
479 479
 
... ...
@@ -676,7 +676,7 @@ func TestMasterConfig(t *testing.T) {
676 676
 		t.Fatal(err)
677 677
 	}
678 678
 	if string(serializedConfig) != expectedSerializedMasterConfig {
679
-		t.Errorf("Diff:\n-------------\n%s", util.StringDiff(string(serializedConfig), expectedSerializedMasterConfig))
679
+		t.Errorf("Diff:\n-------------\n%s", diff.StringDiff(string(serializedConfig), expectedSerializedMasterConfig))
680 680
 	}
681 681
 
682 682
 }
... ...
@@ -4,7 +4,7 @@ import (
4 4
 	"testing"
5 5
 
6 6
 	kapi "k8s.io/kubernetes/pkg/api"
7
-	"k8s.io/kubernetes/pkg/util"
7
+	"k8s.io/kubernetes/pkg/util/diff"
8 8
 	"k8s.io/kubernetes/pkg/util/validation/field"
9 9
 
10 10
 	"github.com/openshift/origin/pkg/cmd/server/api"
... ...
@@ -193,7 +193,7 @@ func TestValidate_ValidateEtcdStorageConfig(t *testing.T) {
193 193
 		}
194 194
 		results := ValidateEtcdStorageConfig(config, nil)
195 195
 		if !kapi.Semantic.DeepEqual(test.expected, results) {
196
-			t.Errorf("unexpected validation results; diff:\n%v", util.ObjectDiff(test.expected, results))
196
+			t.Errorf("unexpected validation results; diff:\n%v", diff.ObjectDiff(test.expected, results))
197 197
 			return
198 198
 		}
199 199
 	}
... ...
@@ -10,7 +10,7 @@ import (
10 10
 
11 11
 	"k8s.io/kubernetes/pkg/api"
12 12
 	"k8s.io/kubernetes/pkg/runtime"
13
-	"k8s.io/kubernetes/pkg/util"
13
+	"k8s.io/kubernetes/pkg/util/diff"
14 14
 
15 15
 	"github.com/openshift/origin/pkg/api/v1"
16 16
 	"github.com/openshift/origin/pkg/cmd/server/bootstrappolicy"
... ...
@@ -86,7 +86,7 @@ func testObjects(t *testing.T, list *api.List, fixtureFilename string) {
86 86
 				t.Logf("Could not update data in %s: %v", filename, err)
87 87
 			}
88 88
 		} else {
89
-			t.Logf("Diff between bootstrap data and fixture data in %s:\n-------------\n%s", filename, util.StringDiff(string(yamlData), string(expectedYAML)))
89
+			t.Logf("Diff between bootstrap data and fixture data in %s:\n-------------\n%s", filename, diff.StringDiff(string(yamlData), string(expectedYAML)))
90 90
 			t.Logf("If the change is expected, re-run with %s=true to update the fixtures", updateEnvVar)
91 91
 		}
92 92
 	}
... ...
@@ -17,8 +17,7 @@ import (
17 17
 	"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
18 18
 	"k8s.io/kubernetes/pkg/client/record"
19 19
 	"k8s.io/kubernetes/pkg/client/typed/dynamic"
20
-	coreunversioned "k8s.io/kubernetes/pkg/client/typed/generated/core/unversioned"
21
-	extensionsunversioned "k8s.io/kubernetes/pkg/client/typed/generated/extensions/unversioned"
20
+	clientadapter "k8s.io/kubernetes/pkg/client/unversioned/adapters/internalclientset"
22 21
 
23 22
 	client "k8s.io/kubernetes/pkg/client/unversioned"
24 23
 	"k8s.io/kubernetes/pkg/controller"
... ...
@@ -36,7 +35,7 @@ import (
36 36
 	"k8s.io/kubernetes/pkg/master"
37 37
 	quotainstall "k8s.io/kubernetes/pkg/quota/install"
38 38
 	"k8s.io/kubernetes/pkg/runtime"
39
-	"k8s.io/kubernetes/pkg/util"
39
+	"k8s.io/kubernetes/pkg/util/flowcontrol"
40 40
 	"k8s.io/kubernetes/pkg/util/io"
41 41
 	utilwait "k8s.io/kubernetes/pkg/util/wait"
42 42
 	"k8s.io/kubernetes/pkg/volume"
... ...
@@ -98,7 +97,7 @@ func (c *MasterConfig) RunNamespaceController(kubeClient internalclientset.Inter
98 98
 
99 99
 // RunPersistentVolumeClaimBinder starts the Kubernetes Persistent Volume Claim Binder
100 100
 func (c *MasterConfig) RunPersistentVolumeClaimBinder(client *client.Client) {
101
-	binder := volumeclaimbinder.NewPersistentVolumeClaimBinder(internalclientset.FromUnversionedClient(client), c.ControllerManager.PVClaimBinderSyncPeriod.Duration)
101
+	binder := volumeclaimbinder.NewPersistentVolumeClaimBinder(clientadapter.FromUnversionedClient(client), c.ControllerManager.PVClaimBinderSyncPeriod.Duration)
102 102
 	binder.Run()
103 103
 }
104 104
 
... ...
@@ -115,7 +114,7 @@ func (c *MasterConfig) RunPersistentVolumeProvisioner(client *client.Client) {
115 115
 		allPlugins = append(allPlugins, aws_ebs.ProbeVolumePlugins()...)
116 116
 		allPlugins = append(allPlugins, gce_pd.ProbeVolumePlugins()...)
117 117
 		allPlugins = append(allPlugins, cinder.ProbeVolumePlugins()...)
118
-		controllerClient := volumeclaimbinder.NewControllerClient(internalclientset.FromUnversionedClient(client))
118
+		controllerClient := volumeclaimbinder.NewControllerClient(clientadapter.FromUnversionedClient(client))
119 119
 		provisionerController, err := volumeclaimbinder.NewPersistentVolumeProvisionerController(
120 120
 			controllerClient,
121 121
 			c.ControllerManager.PVClaimBinderSyncPeriod.Duration,
... ...
@@ -175,7 +174,7 @@ func (c *MasterConfig) RunPersistentVolumeClaimRecycler(recyclerImageName string
175 175
 	allPlugins = append(allPlugins, cinder.ProbeVolumePlugins()...)
176 176
 
177 177
 	recycler, err := volumeclaimbinder.NewPersistentVolumeRecycler(
178
-		internalclientset.FromUnversionedClient(client),
178
+		clientadapter.FromUnversionedClient(client),
179 179
 		c.ControllerManager.PVClaimBinderSyncPeriod.Duration,
180 180
 		volumeConfig.PersistentVolumeRecyclerConfiguration.MaximumRetry,
181 181
 		allPlugins,
... ...
@@ -209,7 +208,7 @@ func attemptToLoadRecycler(path string, config *volume.VolumeConfig) error {
209 209
 // RunReplicationController starts the Kubernetes replication controller sync loop
210 210
 func (c *MasterConfig) RunReplicationController(client *client.Client) {
211 211
 	controllerManager := replicationcontroller.NewReplicationManager(
212
-		internalclientset.FromUnversionedClient(client),
212
+		clientadapter.FromUnversionedClient(client),
213 213
 		kctrlmgr.ResyncPeriod(c.ControllerManager),
214 214
 		replicationcontroller.BurstReplicas,
215 215
 		c.ControllerManager.LookupCacheSizeForRC,
... ...
@@ -219,18 +218,18 @@ func (c *MasterConfig) RunReplicationController(client *client.Client) {
219 219
 
220 220
 // RunJobController starts the Kubernetes job controller sync loop
221 221
 func (c *MasterConfig) RunJobController(client *client.Client) {
222
-	controller := jobcontroller.NewJobController(internalclientset.FromUnversionedClient(client), kctrlmgr.ResyncPeriod(c.ControllerManager))
222
+	controller := jobcontroller.NewJobController(clientadapter.FromUnversionedClient(client), kctrlmgr.ResyncPeriod(c.ControllerManager))
223 223
 	go controller.Run(c.ControllerManager.ConcurrentJobSyncs, utilwait.NeverStop)
224 224
 }
225 225
 
226 226
 // RunHPAController starts the Kubernetes hpa controller sync loop
227 227
 func (c *MasterConfig) RunHPAController(oc *osclient.Client, kc *client.Client, heapsterNamespace string) {
228
-	clientsetClient := internalclientset.FromUnversionedClient(kc)
228
+	clientsetClient := clientadapter.FromUnversionedClient(kc)
229 229
 	delegatingScaleNamespacer := osclient.NewDelegatingScaleNamespacer(oc, kc)
230 230
 	podautoscaler := podautoscalercontroller.NewHorizontalController(
231
-		coreunversioned.EventsGetter(clientsetClient),
232
-		extensionsunversioned.ScalesGetter(delegatingScaleNamespacer),
233
-		extensionsunversioned.HorizontalPodAutoscalersGetter(clientsetClient),
231
+		clientsetClient,
232
+		delegatingScaleNamespacer,
233
+		clientsetClient,
234 234
 		metrics.NewHeapsterMetricsClient(clientsetClient, heapsterNamespace, "https", "heapster", ""),
235 235
 		c.ControllerManager.HorizontalPodAutoscalerSyncPeriod.Duration,
236 236
 	)
... ...
@@ -239,7 +238,7 @@ func (c *MasterConfig) RunHPAController(oc *osclient.Client, kc *client.Client,
239 239
 
240 240
 func (c *MasterConfig) RunDaemonSetsController(client *client.Client) {
241 241
 	controller := daemon.NewDaemonSetsController(
242
-		internalclientset.FromUnversionedClient(client),
242
+		clientadapter.FromUnversionedClient(client),
243 243
 		kctrlmgr.ResyncPeriod(c.ControllerManager),
244 244
 		c.ControllerManager.LookupCacheSizeForDaemonSet,
245 245
 	)
... ...
@@ -248,7 +247,7 @@ func (c *MasterConfig) RunDaemonSetsController(client *client.Client) {
248 248
 
249 249
 // RunEndpointController starts the Kubernetes replication controller sync loop
250 250
 func (c *MasterConfig) RunEndpointController() {
251
-	endpoints := endpointcontroller.NewEndpointController(internalclientset.FromUnversionedClient(c.KubeClient), kctrlmgr.ResyncPeriod(c.ControllerManager))
251
+	endpoints := endpointcontroller.NewEndpointController(clientadapter.FromUnversionedClient(c.KubeClient), kctrlmgr.ResyncPeriod(c.ControllerManager))
252 252
 	go endpoints.Run(c.ControllerManager.ConcurrentEndpointSyncs, utilwait.NeverStop)
253 253
 
254 254
 }
... ...
@@ -269,7 +268,7 @@ func (c *MasterConfig) RunScheduler() {
269 269
 
270 270
 // RunResourceQuotaManager starts the resource quota manager
271 271
 func (c *MasterConfig) RunResourceQuotaManager() {
272
-	client := internalclientset.FromUnversionedClient(c.KubeClient)
272
+	client := clientadapter.FromUnversionedClient(c.KubeClient)
273 273
 	resourceQuotaRegistry := quotainstall.NewRegistry(client)
274 274
 	groupKindsToReplenish := []unversioned.GroupKind{
275 275
 		kapi.Kind("Pod"),
... ...
@@ -292,7 +291,7 @@ func (c *MasterConfig) RunResourceQuotaManager() {
292 292
 
293 293
 func (c *MasterConfig) RunGCController(client *client.Client) {
294 294
 	if c.ControllerManager.TerminatedPodGCThreshold > 0 {
295
-		gcController := gccontroller.New(internalclientset.FromUnversionedClient(client), kctrlmgr.ResyncPeriod(c.ControllerManager), c.ControllerManager.TerminatedPodGCThreshold)
295
+		gcController := gccontroller.New(clientadapter.FromUnversionedClient(client), kctrlmgr.ResyncPeriod(c.ControllerManager), c.ControllerManager.TerminatedPodGCThreshold)
296 296
 		go gcController.Run(utilwait.NeverStop)
297 297
 	}
298 298
 }
... ...
@@ -306,11 +305,11 @@ func (c *MasterConfig) RunNodeController() {
306 306
 
307 307
 	controller := nodecontroller.NewNodeController(
308 308
 		c.CloudProvider,
309
-		internalclientset.FromUnversionedClient(c.KubeClient),
309
+		clientadapter.FromUnversionedClient(c.KubeClient),
310 310
 		s.PodEvictionTimeout.Duration,
311 311
 
312
-		util.NewTokenBucketRateLimiter(s.DeletingPodsQps, s.DeletingPodsBurst),
313
-		util.NewTokenBucketRateLimiter(s.DeletingPodsQps, s.DeletingPodsBurst), // upstream uses the same ones too
312
+		flowcontrol.NewTokenBucketRateLimiter(s.DeletingPodsQps, s.DeletingPodsBurst),
313
+		flowcontrol.NewTokenBucketRateLimiter(s.DeletingPodsQps, s.DeletingPodsBurst), // upstream uses the same ones too
314 314
 
315 315
 		s.NodeMonitorGracePeriod.Duration,
316 316
 		s.NodeStartupGracePeriod.Duration,
... ...
@@ -20,8 +20,8 @@ import (
20 20
 	"k8s.io/kubernetes/pkg/api/unversioned"
21 21
 	"k8s.io/kubernetes/pkg/apis/extensions"
22 22
 	"k8s.io/kubernetes/pkg/apiserver"
23
-	"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
24 23
 	kclient "k8s.io/kubernetes/pkg/client/unversioned"
24
+	clientadapter "k8s.io/kubernetes/pkg/client/unversioned/adapters/internalclientset"
25 25
 	"k8s.io/kubernetes/pkg/cloudprovider"
26 26
 	"k8s.io/kubernetes/pkg/genericapiserver"
27 27
 	kubeletclient "k8s.io/kubernetes/pkg/kubelet/client"
... ...
@@ -157,7 +157,7 @@ func BuildKubernetesMasterConfig(options configapi.MasterConfig, requestContextM
157 157
 			if len(options.PolicyConfig.OpenShiftInfrastructureNamespace) > 0 {
158 158
 				immortalNamespaces.Insert(options.PolicyConfig.OpenShiftInfrastructureNamespace)
159 159
 			}
160
-			plugins = append(plugins, lifecycle.NewLifecycle(internalclientset.FromUnversionedClient(kubeClient), immortalNamespaces))
160
+			plugins = append(plugins, lifecycle.NewLifecycle(clientadapter.FromUnversionedClient(kubeClient), immortalNamespaces))
161 161
 
162 162
 		case serviceadmit.ExternalIPPluginName:
163 163
 			// this needs to be moved upstream to be part of core config
... ...
@@ -169,7 +169,7 @@ func BuildKubernetesMasterConfig(options configapi.MasterConfig, requestContextM
169 169
 			plugins = append(plugins, serviceadmit.NewExternalIPRanger(reject, admit))
170 170
 		case saadmit.PluginName:
171 171
 			// we need to set some custom parameters on the service account admission controller, so create that one by hand
172
-			saAdmitter := saadmit.NewServiceAccount(internalclientset.FromUnversionedClient(kubeClient))
172
+			saAdmitter := saadmit.NewServiceAccount(clientadapter.FromUnversionedClient(kubeClient))
173 173
 			saAdmitter.LimitSecretReferences = options.ServiceAccountConfig.LimitSecretReferences
174 174
 			saAdmitter.Run()
175 175
 			plugins = append(plugins, saAdmitter)
... ...
@@ -179,7 +179,7 @@ func BuildKubernetesMasterConfig(options configapi.MasterConfig, requestContextM
179 179
 			if err != nil {
180 180
 				return nil, err
181 181
 			}
182
-			plugin := admission.InitPlugin(pluginName, internalclientset.FromUnversionedClient(kubeClient), configFile)
182
+			plugin := admission.InitPlugin(pluginName, clientadapter.FromUnversionedClient(kubeClient), configFile)
183 183
 			if plugin != nil {
184 184
 				plugins = append(plugins, plugin)
185 185
 			}
... ...
@@ -9,12 +9,15 @@ import (
9 9
 	apiserveroptions "k8s.io/kubernetes/cmd/kube-apiserver/app/options"
10 10
 	cmapp "k8s.io/kubernetes/cmd/kube-controller-manager/app/options"
11 11
 	"k8s.io/kubernetes/pkg/api/unversioned"
12
+	apiv1 "k8s.io/kubernetes/pkg/api/v1"
12 13
 	"k8s.io/kubernetes/pkg/apimachinery/registered"
13 14
 	"k8s.io/kubernetes/pkg/apis/componentconfig"
15
+	extensionsapiv1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
14 16
 	"k8s.io/kubernetes/pkg/genericapiserver"
15 17
 	kubeletclient "k8s.io/kubernetes/pkg/kubelet/client"
16 18
 	etcdstorage "k8s.io/kubernetes/pkg/storage/etcd"
17
-	"k8s.io/kubernetes/pkg/util"
19
+	utilconfig "k8s.io/kubernetes/pkg/util/config"
20
+	"k8s.io/kubernetes/pkg/util/diff"
18 21
 
19 22
 	configapi "github.com/openshift/origin/pkg/cmd/server/api"
20 23
 )
... ...
@@ -50,7 +53,7 @@ func TestAPIServerDefaults(t *testing.T) {
50 50
 		MasterCount:            1,
51 51
 		MasterServiceNamespace: "default",
52 52
 		MinRequestTimeout:      1800,
53
-		RuntimeConfig:          util.ConfigurationMap{},
53
+		RuntimeConfig:          utilconfig.ConfigurationMap{},
54 54
 		StorageVersions:        registered.AllPreferredGroupVersions(),
55 55
 		DefaultStorageVersions: registered.AllPreferredGroupVersions(),
56 56
 		KubeletConfig: kubeletclient.KubeletClientConfig{
... ...
@@ -61,7 +64,7 @@ func TestAPIServerDefaults(t *testing.T) {
61 61
 	}
62 62
 
63 63
 	if !reflect.DeepEqual(defaults, expectedDefaults) {
64
-		t.Logf("expected defaults, actual defaults: \n%s", util.ObjectGoPrintDiff(expectedDefaults, defaults))
64
+		t.Logf("expected defaults, actual defaults: \n%s", diff.ObjectGoPrintDiff(expectedDefaults, defaults))
65 65
 		t.Errorf("Got different defaults than expected, adjust in BuildKubernetesMasterConfig and update expectedDefaults")
66 66
 	}
67 67
 }
... ...
@@ -124,7 +127,7 @@ func TestCMServerDefaults(t *testing.T) {
124 124
 	}
125 125
 
126 126
 	if !reflect.DeepEqual(defaults, expectedDefaults) {
127
-		t.Logf("expected defaults, actual defaults: \n%s", util.ObjectGoPrintDiff(expectedDefaults, defaults))
127
+		t.Logf("expected defaults, actual defaults: \n%s", diff.ObjectGoPrintDiff(expectedDefaults, defaults))
128 128
 		t.Errorf("Got different defaults than expected, adjust in BuildKubernetesMasterConfig and update expectedDefaults")
129 129
 	}
130 130
 }
... ...
@@ -16,11 +16,12 @@ import (
16 16
 	"k8s.io/kubernetes/pkg/api/unversioned"
17 17
 	"k8s.io/kubernetes/pkg/apis/componentconfig"
18 18
 	client "k8s.io/kubernetes/pkg/client/unversioned"
19
+	clientadapter "k8s.io/kubernetes/pkg/client/unversioned/adapters/internalclientset"
19 20
 	"k8s.io/kubernetes/pkg/cloudprovider"
20 21
 	"k8s.io/kubernetes/pkg/kubelet/dockertools"
21 22
 	kubeletserver "k8s.io/kubernetes/pkg/kubelet/server"
22 23
 	kubelettypes "k8s.io/kubernetes/pkg/kubelet/types"
23
-	"k8s.io/kubernetes/pkg/util"
24
+	kcrypto "k8s.io/kubernetes/pkg/util/crypto"
24 25
 	kerrors "k8s.io/kubernetes/pkg/util/errors"
25 26
 	"k8s.io/kubernetes/pkg/util/oom"
26 27
 
... ...
@@ -33,7 +34,6 @@ import (
33 33
 	"github.com/openshift/origin/pkg/cmd/util/clientcmd"
34 34
 	cmdflags "github.com/openshift/origin/pkg/cmd/util/flags"
35 35
 	"github.com/openshift/origin/pkg/cmd/util/variable"
36
-	"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
37 36
 )
38 37
 
39 38
 // NodeConfig represents the required parameters to start the OpenShift node
... ...
@@ -88,7 +88,7 @@ func BuildKubernetesNodeConfig(options configapi.NodeConfig) (*NodeConfig, error
88 88
 		glog.Warningf(`Using "localhost" as node name will not resolve from all locations`)
89 89
 	}
90 90
 
91
-	clientCAs, err := util.CertPoolFromFile(options.ServingInfo.ClientCA)
91
+	clientCAs, err := kcrypto.CertPoolFromFile(options.ServingInfo.ClientCA)
92 92
 	if err != nil {
93 93
 		return nil, err
94 94
 	}
... ...
@@ -182,8 +182,8 @@ func BuildKubernetesNodeConfig(options configapi.NodeConfig) (*NodeConfig, error
182 182
 
183 183
 	// provide any config overrides
184 184
 	cfg.NodeName = options.NodeName
185
-	cfg.KubeClient = internalclientset.FromUnversionedClient(kubeClient)
186
-	cfg.EventClient = internalclientset.FromUnversionedClient(eventClient)
185
+	cfg.KubeClient = clientadapter.FromUnversionedClient(kubeClient)
186
+	cfg.EventClient = clientadapter.FromUnversionedClient(eventClient)
187 187
 	cfg.DockerExecHandler = dockerExecHandler
188 188
 
189 189
 	// docker-in-docker (dind) deployments are used for testing
... ...
@@ -9,8 +9,9 @@ import (
9 9
 	kubeletoptions "k8s.io/kubernetes/cmd/kubelet/app/options"
10 10
 	"k8s.io/kubernetes/pkg/api/unversioned"
11 11
 	"k8s.io/kubernetes/pkg/apis/componentconfig"
12
-	kubetypes "k8s.io/kubernetes/pkg/kubelet/types"
13 12
 	"k8s.io/kubernetes/pkg/util"
13
+	utilconfig "k8s.io/kubernetes/pkg/util/config"
14
+	"k8s.io/kubernetes/pkg/util/diff"
14 15
 )
15 16
 
16 17
 func TestKubeletDefaults(t *testing.T) {
... ...
@@ -23,8 +24,8 @@ func TestKubeletDefaults(t *testing.T) {
23 23
 		AuthPath:   util.NewStringFlag("/var/lib/kubelet/kubernetes_auth"),
24 24
 		KubeConfig: util.NewStringFlag("/var/lib/kubelet/kubeconfig"),
25 25
 
26
-		SystemReserved: util.ConfigurationMap{},
27
-		KubeReserved:   util.ConfigurationMap{},
26
+		SystemReserved: utilconfig.ConfigurationMap{},
27
+		KubeReserved:   utilconfig.ConfigurationMap{},
28 28
 		KubeletConfiguration: componentconfig.KubeletConfiguration{
29 29
 			Address:                     "0.0.0.0", // overridden
30 30
 			AllowPrivileged:             false,     // overridden
... ...
@@ -69,7 +70,7 @@ func TestKubeletDefaults(t *testing.T) {
69 69
 			NodeLabels:                  map[string]string{},
70 70
 			OOMScoreAdj:                 -999,
71 71
 			LockFilePath:                "",
72
-			PodInfraContainerImage:      kubetypes.PodInfraContainerImage, // overridden
72
+			PodInfraContainerImage:      kubeletoptions.GetDefaultPodInfraContainerImage(), // overridden
73 73
 			Port:                           10250, // overridden
74 74
 			ReadOnlyPort:                   10255, // disabled
75 75
 			RegisterNode:                   true,
... ...
@@ -98,7 +99,7 @@ func TestKubeletDefaults(t *testing.T) {
98 98
 	}
99 99
 
100 100
 	if !reflect.DeepEqual(defaults, expectedDefaults) {
101
-		t.Logf("expected defaults, actual defaults: \n%s", util.ObjectGoPrintDiff(expectedDefaults, defaults))
101
+		t.Logf("expected defaults, actual defaults: \n%s", diff.ObjectGoPrintDiff(expectedDefaults, defaults))
102 102
 		t.Errorf("Got different defaults than expected, adjust in BuildKubernetesNodeConfig and update expectedDefaults")
103 103
 	}
104 104
 }
... ...
@@ -27,7 +27,7 @@ import (
27 27
 	"k8s.io/kubernetes/pkg/genericapiserver"
28 28
 	kubeletclient "k8s.io/kubernetes/pkg/kubelet/client"
29 29
 	"k8s.io/kubernetes/pkg/runtime"
30
-	"k8s.io/kubernetes/pkg/util"
30
+	"k8s.io/kubernetes/pkg/util/flowcontrol"
31 31
 	"k8s.io/kubernetes/pkg/util/sets"
32 32
 	utilwait "k8s.io/kubernetes/pkg/util/wait"
33 33
 
... ...
@@ -426,7 +426,7 @@ func (c *MasterConfig) GetRestStorage() map[string]rest.Storage {
426 426
 	imageStreamTagStorage := imagestreamtag.NewREST(imageRegistry, imageStreamRegistry)
427 427
 	imageStreamTagRegistry := imagestreamtag.NewRegistry(imageStreamTagStorage)
428 428
 	importerFn := func(r importer.RepositoryRetriever) imageimporter.Interface {
429
-		return imageimporter.NewImageStreamImporter(r, c.Options.ImagePolicyConfig.MaxImagesBulkImportedPerRepository, util.NewTokenBucketRateLimiter(2.0, 3))
429
+		return imageimporter.NewImageStreamImporter(r, c.Options.ImagePolicyConfig.MaxImagesBulkImportedPerRepository, flowcontrol.NewTokenBucketRateLimiter(2.0, 3))
430 430
 	}
431 431
 	importerDockerClientFn := func() dockerregistry.Client {
432 432
 		return dockerregistry.NewClient(20*time.Second, false)
... ...
@@ -17,6 +17,7 @@ import (
17 17
 	"k8s.io/kubernetes/pkg/apiserver"
18 18
 	"k8s.io/kubernetes/pkg/client/restclient"
19 19
 	kclient "k8s.io/kubernetes/pkg/client/unversioned"
20
+	clientadapter "k8s.io/kubernetes/pkg/client/unversioned/adapters/internalclientset"
20 21
 	sacontroller "k8s.io/kubernetes/pkg/controller/serviceaccount"
21 22
 	kubeletclient "k8s.io/kubernetes/pkg/kubelet/client"
22 23
 	"k8s.io/kubernetes/pkg/serviceaccount"
... ...
@@ -189,7 +190,7 @@ func BuildMasterConfig(options configapi.MasterConfig) (*MasterConfig, error) {
189 189
 	}
190 190
 
191 191
 	plugins := []admission.Interface{}
192
-	clientsetClient := internalclientset.FromUnversionedClient(privilegedLoopbackKubeClient)
192
+	clientsetClient := clientadapter.FromUnversionedClient(privilegedLoopbackKubeClient)
193 193
 	for _, pluginName := range admissionControlPluginNames {
194 194
 		configFile, err := pluginconfig.GetPluginConfig(options.AdmissionConfig.PluginConfig[pluginName])
195 195
 		if err != nil {
... ...
@@ -282,7 +283,7 @@ func newServiceAccountTokenGetter(options configapi.MasterConfig, client newetcd
282 282
 		if err != nil {
283 283
 			return nil, err
284 284
 		}
285
-		tokenGetter = sacontroller.NewGetterFromClient(internalclientset.FromUnversionedClient(kubeClient))
285
+		tokenGetter = sacontroller.NewGetterFromClient(clientadapter.FromUnversionedClient(kubeClient))
286 286
 	} else {
287 287
 		// When we're running in-process, go straight to etcd (using the KubernetesStorageVersion/KubernetesStoragePrefix, since service accounts are kubernetes objects)
288 288
 		codec := kapi.Codecs.LegacyCodec(unversioned.GroupVersion{Group: kapi.GroupName, Version: options.EtcdStorageConfig.KubernetesStorageVersion})
... ...
@@ -545,7 +546,7 @@ func (c *MasterConfig) ImageStreamImportSecretClient() *osclient.Client {
545 545
 // ResourceQuotaManagerClients returns the client capable of retrieving resources needed for resource quota
546 546
 // evaluation
547 547
 func (c *MasterConfig) ResourceQuotaManagerClients() (*osclient.Client, *internalclientset.Clientset) {
548
-	return c.PrivilegedLoopbackOpenShiftClient, internalclientset.FromUnversionedClient(c.PrivilegedLoopbackKubernetesClient)
548
+	return c.PrivilegedLoopbackOpenShiftClient, clientadapter.FromUnversionedClient(c.PrivilegedLoopbackKubernetesClient)
549 549
 }
550 550
 
551 551
 // WebConsoleEnabled says whether web ui is not a disabled feature and asset service is configured.
... ...
@@ -13,13 +13,15 @@ import (
13 13
 	"k8s.io/kubernetes/pkg/admission"
14 14
 	kapi "k8s.io/kubernetes/pkg/api"
15 15
 	"k8s.io/kubernetes/pkg/api/unversioned"
16
+	clientadapter "k8s.io/kubernetes/pkg/client/unversioned/adapters/internalclientset"
16 17
 	"k8s.io/kubernetes/pkg/controller"
17 18
 	kresourcequota "k8s.io/kubernetes/pkg/controller/resourcequota"
18 19
 	sacontroller "k8s.io/kubernetes/pkg/controller/serviceaccount"
19 20
 	"k8s.io/kubernetes/pkg/registry/service/allocator"
20 21
 	etcdallocator "k8s.io/kubernetes/pkg/registry/service/allocator/etcd"
21 22
 	"k8s.io/kubernetes/pkg/serviceaccount"
22
-	"k8s.io/kubernetes/pkg/util"
23
+	kcrypto "k8s.io/kubernetes/pkg/util/crypto"
24
+	"k8s.io/kubernetes/pkg/util/flowcontrol"
23 25
 	utilwait "k8s.io/kubernetes/pkg/util/wait"
24 26
 	serviceaccountadmission "k8s.io/kubernetes/plugin/pkg/admission/serviceaccount"
25 27
 
... ...
@@ -49,7 +51,6 @@ import (
49 49
 	quota "github.com/openshift/origin/pkg/quota"
50 50
 	quotacontroller "github.com/openshift/origin/pkg/quota/controller"
51 51
 	serviceaccountcontrollers "github.com/openshift/origin/pkg/serviceaccounts/controllers"
52
-	"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
53 52
 )
54 53
 
55 54
 const (
... ...
@@ -94,7 +95,7 @@ func (c *MasterConfig) RunServiceAccountsController() {
94 94
 		options.ServiceAccounts = append(options.ServiceAccounts, sa)
95 95
 	}
96 96
 
97
-	sacontroller.NewServiceAccountsController(internalclientset.FromUnversionedClient(c.KubeClient()), options).Run()
97
+	sacontroller.NewServiceAccountsController(clientadapter.FromUnversionedClient(c.KubeClient()), options).Run()
98 98
 }
99 99
 
100 100
 // RunServiceAccountTokensController starts the service account token controller
... ...
@@ -114,7 +115,7 @@ func (c *MasterConfig) RunServiceAccountTokensController() {
114 114
 		if err != nil {
115 115
 			glog.Fatalf("Error reading master ca file for Service Account Token Manager: %s: %v", c.Options.ServiceAccountConfig.MasterCA, err)
116 116
 		}
117
-		if _, err := util.CertsFromPEM(rootCA); err != nil {
117
+		if _, err := kcrypto.CertsFromPEM(rootCA); err != nil {
118 118
 			glog.Fatalf("Error parsing master ca file for Service Account Token Manager: %s: %v", c.Options.ServiceAccountConfig.MasterCA, err)
119 119
 		}
120 120
 	}
... ...
@@ -124,7 +125,7 @@ func (c *MasterConfig) RunServiceAccountTokensController() {
124 124
 		RootCA:         rootCA,
125 125
 	}
126 126
 
127
-	sacontroller.NewTokensController(internalclientset.FromUnversionedClient(c.KubeClient()), options).Run()
127
+	sacontroller.NewTokensController(clientadapter.FromUnversionedClient(c.KubeClient()), options).Run()
128 128
 }
129 129
 
130 130
 // RunServiceAccountPullSecretsControllers starts the service account pull secret controllers
... ...
@@ -215,7 +216,7 @@ func (c *MasterConfig) RunBuildController() {
215 215
 	groupVersion := unversioned.GroupVersion{Group: "", Version: storageVersion}
216 216
 	codec := kapi.Codecs.LegacyCodec(groupVersion)
217 217
 
218
-	admissionControl := admission.NewFromPlugins(internalclientset.FromUnversionedClient(c.PrivilegedLoopbackKubernetesClient), []string{"SecurityContextConstraint"}, "")
218
+	admissionControl := admission.NewFromPlugins(clientadapter.FromUnversionedClient(c.PrivilegedLoopbackKubernetesClient), []string{"SecurityContextConstraint"}, "")
219 219
 
220 220
 	osclient, kclient := c.BuildControllerClients()
221 221
 	factory := buildcontrollerfactory.BuildControllerFactory{
... ...
@@ -373,7 +374,7 @@ func (c *MasterConfig) RunImageImportController() {
373 373
 		Client:               osclient,
374 374
 		ResyncInterval:       10 * time.Minute,
375 375
 		MinimumCheckInterval: time.Duration(c.Options.ImagePolicyConfig.ScheduledImageImportMinimumIntervalSeconds) * time.Second,
376
-		ImportRateLimiter:    util.NewTokenBucketRateLimiter(importRate, importBurst),
376
+		ImportRateLimiter:    flowcontrol.NewTokenBucketRateLimiter(importRate, importBurst),
377 377
 		ScheduleEnabled:      !c.Options.ImagePolicyConfig.DisableScheduledImport,
378 378
 	}
379 379
 	controller, scheduledController := factory.Create()
... ...
@@ -11,6 +11,7 @@ import (
11 11
 	apiserverapp "k8s.io/kubernetes/cmd/kube-apiserver/app"
12 12
 	apiserveroptions "k8s.io/kubernetes/cmd/kube-apiserver/app/options"
13 13
 	"k8s.io/kubernetes/pkg/util"
14
+	kflag "k8s.io/kubernetes/pkg/util/flag"
14 15
 )
15 16
 
16 17
 const apiserverLong = `
... ...
@@ -41,7 +42,7 @@ func NewAPIServerCommand(name, fullName string, out io.Writer) *cobra.Command {
41 41
 	cmd.SetOutput(out)
42 42
 
43 43
 	flags := cmd.Flags()
44
-	flags.SetNormalizeFunc(util.WordSepNormalizeFunc)
44
+	flags.SetNormalizeFunc(kflag.WordSepNormalizeFunc)
45 45
 	flags.AddGoFlagSet(flag.CommandLine)
46 46
 	apiServerOptions.AddFlags(flags)
47 47
 
... ...
@@ -11,6 +11,7 @@ import (
11 11
 	controllerapp "k8s.io/kubernetes/cmd/kube-controller-manager/app"
12 12
 	controlleroptions "k8s.io/kubernetes/cmd/kube-controller-manager/app/options"
13 13
 	"k8s.io/kubernetes/pkg/util"
14
+	kflag "k8s.io/kubernetes/pkg/util/flag"
14 15
 )
15 16
 
16 17
 const controllersLong = `
... ...
@@ -41,7 +42,7 @@ func NewControllersCommand(name, fullName string, out io.Writer) *cobra.Command
41 41
 	cmd.SetOutput(out)
42 42
 
43 43
 	flags := cmd.Flags()
44
-	flags.SetNormalizeFunc(util.WordSepNormalizeFunc)
44
+	flags.SetNormalizeFunc(kflag.WordSepNormalizeFunc)
45 45
 	flags.AddGoFlagSet(flag.CommandLine)
46 46
 	controllerOptions.AddFlags(flags)
47 47
 
... ...
@@ -11,6 +11,7 @@ import (
11 11
 	kubeletapp "k8s.io/kubernetes/cmd/kubelet/app"
12 12
 	kubeletoptions "k8s.io/kubernetes/cmd/kubelet/app/options"
13 13
 	"k8s.io/kubernetes/pkg/util"
14
+	kflag "k8s.io/kubernetes/pkg/util/flag"
14 15
 )
15 16
 
16 17
 const kubeletLog = `Start Kubelet
... ...
@@ -41,7 +42,7 @@ func NewKubeletCommand(name, fullName string, out io.Writer) *cobra.Command {
41 41
 	cmd.SetOutput(out)
42 42
 
43 43
 	flags := cmd.Flags()
44
-	flags.SetNormalizeFunc(util.WordSepNormalizeFunc)
44
+	flags.SetNormalizeFunc(kflag.WordSepNormalizeFunc)
45 45
 	flags.AddGoFlagSet(flag.CommandLine)
46 46
 	kubeletOptions.AddFlags(flags)
47 47
 
... ...
@@ -12,6 +12,7 @@ import (
12 12
 	proxyoptions "k8s.io/kubernetes/cmd/kube-proxy/app/options"
13 13
 	kcmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
14 14
 	"k8s.io/kubernetes/pkg/util"
15
+	kflag "k8s.io/kubernetes/pkg/util/flag"
15 16
 )
16 17
 
17 18
 const proxyLong = `
... ...
@@ -45,7 +46,7 @@ func NewProxyCommand(name, fullName string, out io.Writer) *cobra.Command {
45 45
 	cmd.SetOutput(out)
46 46
 
47 47
 	flags := cmd.Flags()
48
-	flags.SetNormalizeFunc(util.WordSepNormalizeFunc)
48
+	flags.SetNormalizeFunc(kflag.WordSepNormalizeFunc)
49 49
 	flags.AddGoFlagSet(flag.CommandLine)
50 50
 	proxyConfig.AddFlags(flags)
51 51
 
... ...
@@ -9,6 +9,7 @@ import (
9 9
 	"github.com/spf13/cobra"
10 10
 
11 11
 	"k8s.io/kubernetes/pkg/util"
12
+	kflag "k8s.io/kubernetes/pkg/util/flag"
12 13
 	schedulerapp "k8s.io/kubernetes/plugin/cmd/kube-scheduler/app"
13 14
 	scheduleroptions "k8s.io/kubernetes/plugin/cmd/kube-scheduler/app/options"
14 15
 )
... ...
@@ -41,7 +42,7 @@ func NewSchedulerCommand(name, fullName string, out io.Writer) *cobra.Command {
41 41
 	cmd.SetOutput(out)
42 42
 
43 43
 	flags := cmd.Flags()
44
-	flags.SetNormalizeFunc(util.WordSepNormalizeFunc)
44
+	flags.SetNormalizeFunc(kflag.WordSepNormalizeFunc)
45 45
 	flags.AddGoFlagSet(flag.CommandLine)
46 46
 	schedulerOptions.AddFlags(flags)
47 47
 
... ...
@@ -18,8 +18,8 @@ import (
18 18
 	kerrors "k8s.io/kubernetes/pkg/api/errors"
19 19
 	"k8s.io/kubernetes/pkg/apis/extensions"
20 20
 	"k8s.io/kubernetes/pkg/capabilities"
21
-	"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
22 21
 	"k8s.io/kubernetes/pkg/client/typed/dynamic"
22
+	clientadapter "k8s.io/kubernetes/pkg/client/unversioned/adapters/internalclientset"
23 23
 	kcmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
24 24
 	kubelettypes "k8s.io/kubernetes/pkg/kubelet/types"
25 25
 
... ...
@@ -576,7 +576,7 @@ func startControllers(oc *origin.MasterConfig, kc *kubernetes.MasterConfig) erro
576 576
 		if err != nil {
577 577
 			glog.Fatalf("Could not get client for namespace controller: %v", err)
578 578
 		}
579
-		namespaceControllerClientSet := internalclientset.FromUnversionedClient(namespaceControllerKubeClient)
579
+		namespaceControllerClientSet := clientadapter.FromUnversionedClient(namespaceControllerKubeClient)
580 580
 		namespaceControllerClientPool := dynamic.NewClientPool(namespaceControllerClientConfig, dynamic.LegacyAPIPathResolverFunc)
581 581
 
582 582
 		// called by admission control
... ...
@@ -9,7 +9,7 @@ import (
9 9
 
10 10
 	"k8s.io/kubernetes/pkg/client/restclient"
11 11
 	"k8s.io/kubernetes/pkg/runtime"
12
-	"k8s.io/kubernetes/pkg/util"
12
+	"k8s.io/kubernetes/pkg/util/diff"
13 13
 )
14 14
 
15 15
 func TestAnonymousConfig(t *testing.T) {
... ...
@@ -36,7 +36,7 @@ func TestAnonymousConfig(t *testing.T) {
36 36
 		expected.TLSClientConfig.KeyFile = ""
37 37
 
38 38
 		if !reflect.DeepEqual(actual, expected) {
39
-			t.Fatalf("AnonymousClientConfig dropped unexpected fields, identify whether they are security related or not: %s", util.ObjectGoPrintDiff(expected, actual))
39
+			t.Fatalf("AnonymousClientConfig dropped unexpected fields, identify whether they are security related or not: %s", diff.ObjectGoPrintDiff(expected, actual))
40 40
 		}
41 41
 	}
42 42
 }
... ...
@@ -135,7 +135,7 @@ func convertItemsForDisplayFromDefaultCommand(cmd *cobra.Command, objs []runtime
135 135
 
136 136
 // VersionedPrintObject handles printing an object in the appropriate version by looking at 'output-version'
137 137
 // on the command
138
-func VersionedPrintObject(fn func(*cobra.Command, runtime.Object, io.Writer) error, c *cobra.Command, out io.Writer) func(runtime.Object) error {
138
+func VersionedPrintObject(fn func(*cobra.Command, meta.RESTMapper, runtime.Object, io.Writer) error, c *cobra.Command, mapper meta.RESTMapper, out io.Writer) func(runtime.Object) error {
139 139
 	return func(obj runtime.Object) error {
140 140
 		// TODO: fold into the core printer functionality (preferred output version)
141 141
 		if list, ok := obj.(*kapi.List); ok {
... ...
@@ -150,6 +150,6 @@ func VersionedPrintObject(fn func(*cobra.Command, runtime.Object, io.Writer) err
150 150
 			}
151 151
 			obj = result[0]
152 152
 		}
153
-		return fn(c, obj, out)
153
+		return fn(c, mapper, obj, out)
154 154
 	}
155 155
 }
... ...
@@ -3,7 +3,7 @@ package controller
3 3
 import (
4 4
 	"k8s.io/kubernetes/pkg/api/unversioned"
5 5
 	kcache "k8s.io/kubernetes/pkg/client/cache"
6
-	kutil "k8s.io/kubernetes/pkg/util"
6
+	"k8s.io/kubernetes/pkg/util/flowcontrol"
7 7
 	utilwait "k8s.io/kubernetes/pkg/util/wait"
8 8
 )
9 9
 
... ...
@@ -107,7 +107,7 @@ type QueueRetryManager struct {
107 107
 
108 108
 	// limits how fast retries can be enqueued to ensure you can't tight
109 109
 	// loop on retries.
110
-	limiter kutil.RateLimiter
110
+	limiter flowcontrol.RateLimiter
111 111
 }
112 112
 
113 113
 // Retry describes provides additional information regarding retries.
... ...
@@ -126,7 +126,7 @@ type ReQueue interface {
126 126
 }
127 127
 
128 128
 // NewQueueRetryManager safely creates a new QueueRetryManager.
129
-func NewQueueRetryManager(queue ReQueue, keyFn kcache.KeyFunc, retryFn RetryFunc, limiter kutil.RateLimiter) *QueueRetryManager {
129
+func NewQueueRetryManager(queue ReQueue, keyFn kcache.KeyFunc, retryFn RetryFunc, limiter flowcontrol.RateLimiter) *QueueRetryManager {
130 130
 	return &QueueRetryManager{
131 131
 		queue:     queue,
132 132
 		keyFunc:   keyFn,
... ...
@@ -6,7 +6,7 @@ import (
6 6
 	"testing"
7 7
 
8 8
 	kcache "k8s.io/kubernetes/pkg/client/cache"
9
-	kutil "k8s.io/kubernetes/pkg/util"
9
+	"k8s.io/kubernetes/pkg/util/flowcontrol"
10 10
 )
11 11
 
12 12
 func TestRetryController_handleOneRetryableError(t *testing.T) {
... ...
@@ -84,7 +84,7 @@ func TestQueueRetryManager_retries(t *testing.T) {
84 84
 			return r.Count < 5 && !r.StartTimestamp.IsZero()
85 85
 		},
86 86
 		retries: make(map[string]Retry),
87
-		limiter: kutil.NewTokenBucketRateLimiter(1000, 1000),
87
+		limiter: flowcontrol.NewTokenBucketRateLimiter(1000, 1000),
88 88
 	}
89 89
 
90 90
 	objects := []testObj{
... ...
@@ -128,7 +128,7 @@ func TestRetryController_realFifoEventOrdering(t *testing.T) {
128 128
 
129 129
 	controller := &RetryController{
130 130
 		Queue:        fifo,
131
-		RetryManager: NewQueueRetryManager(fifo, keyFunc, func(_ interface{}, _ error, _ Retry) bool { return true }, kutil.NewTokenBucketRateLimiter(1000, 10)),
131
+		RetryManager: NewQueueRetryManager(fifo, keyFunc, func(_ interface{}, _ error, _ Retry) bool { return true }, flowcontrol.NewTokenBucketRateLimiter(1000, 10)),
132 132
 		Handle: func(obj interface{}) error {
133 133
 			if e, a := 1, obj.(testObj).value; e != a {
134 134
 				t.Fatalf("expected to handle test value %d, got %d", e, a)
... ...
@@ -5,7 +5,7 @@ import (
5 5
 
6 6
 	"github.com/golang/glog"
7 7
 
8
-	kutil "k8s.io/kubernetes/pkg/util"
8
+	"k8s.io/kubernetes/pkg/util/flowcontrol"
9 9
 	utilwait "k8s.io/kubernetes/pkg/util/wait"
10 10
 )
11 11
 
... ...
@@ -17,7 +17,7 @@ import (
17 17
 type Scheduler struct {
18 18
 	handle   func(key, value interface{})
19 19
 	position int
20
-	limiter  kutil.RateLimiter
20
+	limiter  flowcontrol.RateLimiter
21 21
 
22 22
 	mu      sync.Mutex
23 23
 	buckets []bucket
... ...
@@ -29,7 +29,7 @@ type bucket map[interface{}]interface{}
29 29
 // the rate at which buckets are processed, and a function to invoke when items are scanned in
30 30
 // a bucket.
31 31
 // TODO: remove DEBUG statements from this file once this logic has been adequately validated.
32
-func NewScheduler(bucketCount int, bucketLimiter kutil.RateLimiter, fn func(key, value interface{})) *Scheduler {
32
+func NewScheduler(bucketCount int, bucketLimiter flowcontrol.RateLimiter, fn func(key, value interface{})) *Scheduler {
33 33
 	// add one more bucket to serve as the "current" bucket
34 34
 	bucketCount++
35 35
 	buckets := make([]bucket, bucketCount)
... ...
@@ -4,12 +4,12 @@ import (
4 4
 	"reflect"
5 5
 	"testing"
6 6
 
7
-	kutil "k8s.io/kubernetes/pkg/util"
7
+	flowcontrol "k8s.io/kubernetes/pkg/util/flowcontrol"
8 8
 )
9 9
 
10 10
 func TestScheduler(t *testing.T) {
11 11
 	keys := []string{}
12
-	s := NewScheduler(2, kutil.NewFakeAlwaysRateLimiter(), func(key, value interface{}) {
12
+	s := NewScheduler(2, flowcontrol.NewFakeAlwaysRateLimiter(), func(key, value interface{}) {
13 13
 		keys = append(keys, key.(string))
14 14
 	})
15 15
 
... ...
@@ -57,7 +57,7 @@ func TestScheduler(t *testing.T) {
57 57
 }
58 58
 
59 59
 func TestSchedulerAddAndDelay(t *testing.T) {
60
-	s := NewScheduler(3, kutil.NewFakeAlwaysRateLimiter(), func(key, value interface{}) {})
60
+	s := NewScheduler(3, flowcontrol.NewFakeAlwaysRateLimiter(), func(key, value interface{}) {})
61 61
 	// 3 is the last bucket, 0 is the current bucket
62 62
 	s.Add("first", "other")
63 63
 	if s.buckets[3]["first"] != "other" {
... ...
@@ -103,7 +103,7 @@ func TestSchedulerAddAndDelay(t *testing.T) {
103 103
 }
104 104
 
105 105
 func TestSchedulerRemove(t *testing.T) {
106
-	s := NewScheduler(2, kutil.NewFakeAlwaysRateLimiter(), func(key, value interface{}) {})
106
+	s := NewScheduler(2, flowcontrol.NewFakeAlwaysRateLimiter(), func(key, value interface{}) {})
107 107
 	s.Add("test", "other")
108 108
 	if s.Remove("test", "value") {
109 109
 		t.Fatal(s)
... ...
@@ -6,7 +6,7 @@ import (
6 6
 
7 7
 	kapi "k8s.io/kubernetes/pkg/api"
8 8
 	kapiv1 "k8s.io/kubernetes/pkg/api/v1"
9
-	"k8s.io/kubernetes/pkg/util"
9
+	"k8s.io/kubernetes/pkg/util/diff"
10 10
 	"k8s.io/kubernetes/pkg/util/intstr"
11 11
 
12 12
 	newer "github.com/openshift/origin/pkg/deploy/api"
... ...
@@ -128,7 +128,7 @@ func Test_convert_v1_RollingDeploymentStrategyParams_To_api_RollingDeploymentStr
128 128
 			t.Errorf("unexpected error: %v", err)
129 129
 		}
130 130
 		if !reflect.DeepEqual(out, test.out) {
131
-			t.Errorf("got different than expected:\nA:\t%#v\nB:\t%#v\n\nDiff:\n%s\n\n%s", out, test.out, util.ObjectDiff(test.out, out), util.ObjectGoPrintSideBySide(test.out, out))
131
+			t.Errorf("got different than expected:\nA:\t%#v\nB:\t%#v\n\nDiff:\n%s\n\n%s", out, test.out, diff.ObjectDiff(test.out, out), diff.ObjectGoPrintSideBySide(test.out, out))
132 132
 		}
133 133
 	}
134 134
 }
... ...
@@ -198,7 +198,7 @@ func Test_convert_api_RollingDeploymentStrategyParams_To_v1_RollingDeploymentStr
198 198
 			t.Errorf("unexpected error: %v", err)
199 199
 		}
200 200
 		if !reflect.DeepEqual(out, test.out) {
201
-			t.Errorf("got different than expected:\nA:\t%#v\nB:\t%#v\n\nDiff:\n%s\n\n%s", out, test.out, util.ObjectDiff(test.out, out), util.ObjectGoPrintSideBySide(test.out, out))
201
+			t.Errorf("got different than expected:\nA:\t%#v\nB:\t%#v\n\nDiff:\n%s\n\n%s", out, test.out, diff.ObjectDiff(test.out, out), diff.ObjectGoPrintSideBySide(test.out, out))
202 202
 		}
203 203
 	}
204 204
 }
... ...
@@ -9,7 +9,7 @@ import (
9 9
 	_ "k8s.io/kubernetes/pkg/api/install"
10 10
 	kapiv1 "k8s.io/kubernetes/pkg/api/v1"
11 11
 	"k8s.io/kubernetes/pkg/runtime"
12
-	"k8s.io/kubernetes/pkg/util"
12
+	"k8s.io/kubernetes/pkg/util/diff"
13 13
 	"k8s.io/kubernetes/pkg/util/intstr"
14 14
 
15 15
 	v1 "github.com/openshift/origin/pkg/api/v1"
... ...
@@ -244,7 +244,7 @@ func TestDefaults(t *testing.T) {
244 244
 			t.FailNow()
245 245
 		}
246 246
 		if !reflect.DeepEqual(got.Spec, expected.Spec) {
247
-			t.Errorf("got different than expected:\nA:\t%#v\nB:\t%#v\n\nDiff:\n%s\n\n%s", got, expected, util.ObjectDiff(expected, got), util.ObjectGoPrintSideBySide(expected, got))
247
+			t.Errorf("got different than expected:\nA:\t%#v\nB:\t%#v\n\nDiff:\n%s\n\n%s", got, expected, diff.ObjectDiff(expected, got), diff.ObjectGoPrintSideBySide(expected, got))
248 248
 		}
249 249
 	}
250 250
 }
... ...
@@ -6,7 +6,7 @@ import (
6 6
 
7 7
 	kapi "k8s.io/kubernetes/pkg/api"
8 8
 	kapiv1beta3 "k8s.io/kubernetes/pkg/api/v1beta3"
9
-	"k8s.io/kubernetes/pkg/util"
9
+	"k8s.io/kubernetes/pkg/util/diff"
10 10
 	"k8s.io/kubernetes/pkg/util/intstr"
11 11
 
12 12
 	newer "github.com/openshift/origin/pkg/deploy/api"
... ...
@@ -127,7 +127,7 @@ func Test_convert_v1beta3_RollingDeploymentStrategyParams_To_api_RollingDeployme
127 127
 			t.Errorf("unexpected error: %v", err)
128 128
 		}
129 129
 		if !reflect.DeepEqual(out, test.out) {
130
-			t.Errorf("got different than expected:\nA:\t%#v\nB:\t%#v\n\nDiff:\n%s\n\n%s", out, test.out, util.ObjectDiff(test.out, out), util.ObjectGoPrintSideBySide(test.out, out))
130
+			t.Errorf("got different than expected:\nA:\t%#v\nB:\t%#v\n\nDiff:\n%s\n\n%s", out, test.out, diff.ObjectDiff(test.out, out), diff.ObjectGoPrintSideBySide(test.out, out))
131 131
 		}
132 132
 	}
133 133
 }
... ...
@@ -197,7 +197,7 @@ func Test_convert_api_RollingDeploymentStrategyParams_To_v1beta3_RollingDeployme
197 197
 			t.Errorf("unexpected error: %v", err)
198 198
 		}
199 199
 		if !reflect.DeepEqual(out, test.out) {
200
-			t.Errorf("got different than expected:\nA:\t%#v\nB:\t%#v\n\nDiff:\n%s\n\n%s", out, test.out, util.ObjectDiff(test.out, out), util.ObjectGoPrintSideBySide(test.out, out))
200
+			t.Errorf("got different than expected:\nA:\t%#v\nB:\t%#v\n\nDiff:\n%s\n\n%s", out, test.out, diff.ObjectDiff(test.out, out), diff.ObjectGoPrintSideBySide(test.out, out))
201 201
 		}
202 202
 	}
203 203
 }
... ...
@@ -6,7 +6,7 @@ import (
6 6
 
7 7
 	kapi "k8s.io/kubernetes/pkg/api"
8 8
 	"k8s.io/kubernetes/pkg/runtime"
9
-	"k8s.io/kubernetes/pkg/util"
9
+	"k8s.io/kubernetes/pkg/util/diff"
10 10
 	"k8s.io/kubernetes/pkg/util/intstr"
11 11
 
12 12
 	v1 "github.com/openshift/origin/pkg/api/v1beta3"
... ...
@@ -180,7 +180,7 @@ func TestDefaults(t *testing.T) {
180 180
 			t.FailNow()
181 181
 		}
182 182
 		if !reflect.DeepEqual(got.Spec, expected.Spec) {
183
-			t.Errorf("got different than expected:\nA:\t%#v\nB:\t%#v\n\nDiff:\n%s\n\n%s", got, expected, util.ObjectDiff(expected, got), util.ObjectGoPrintSideBySide(expected, got))
183
+			t.Errorf("got different than expected:\nA:\t%#v\nB:\t%#v\n\nDiff:\n%s\n\n%s", got, expected, diff.ObjectDiff(expected, got), diff.ObjectGoPrintSideBySide(expected, got))
184 184
 
185 185
 		}
186 186
 	}
... ...
@@ -8,7 +8,7 @@ import (
8 8
 	"k8s.io/kubernetes/pkg/client/record"
9 9
 	kclient "k8s.io/kubernetes/pkg/client/unversioned"
10 10
 	"k8s.io/kubernetes/pkg/runtime"
11
-	kutil "k8s.io/kubernetes/pkg/util"
11
+	"k8s.io/kubernetes/pkg/util/flowcontrol"
12 12
 	utilruntime "k8s.io/kubernetes/pkg/util/runtime"
13 13
 	"k8s.io/kubernetes/pkg/watch"
14 14
 
... ...
@@ -77,7 +77,7 @@ func (factory *DeploymentConfigChangeControllerFactory) Create() controller.Runn
77 77
 				}
78 78
 				return true
79 79
 			},
80
-			kutil.NewTokenBucketRateLimiter(1, 10),
80
+			flowcontrol.NewTokenBucketRateLimiter(1, 10),
81 81
 		),
82 82
 		Handle: func(obj interface{}) error {
83 83
 			config := obj.(*deployapi.DeploymentConfig)
... ...
@@ -8,7 +8,7 @@ import (
8 8
 	"k8s.io/kubernetes/pkg/client/record"
9 9
 	kclient "k8s.io/kubernetes/pkg/client/unversioned"
10 10
 	"k8s.io/kubernetes/pkg/runtime"
11
-	kutil "k8s.io/kubernetes/pkg/util"
11
+	"k8s.io/kubernetes/pkg/util/flowcontrol"
12 12
 	utilruntime "k8s.io/kubernetes/pkg/util/runtime"
13 13
 	"k8s.io/kubernetes/pkg/watch"
14 14
 
... ...
@@ -90,7 +90,7 @@ func (factory *DeployerPodControllerFactory) Create() controller.RunnableControl
90 90
 				}
91 91
 				return true
92 92
 			},
93
-			kutil.NewTokenBucketRateLimiter(1, 10),
93
+			flowcontrol.NewTokenBucketRateLimiter(1, 10),
94 94
 		),
95 95
 		Handle: func(obj interface{}) error {
96 96
 			pod := obj.(*kapi.Pod)
... ...
@@ -10,7 +10,7 @@ import (
10 10
 	kclient "k8s.io/kubernetes/pkg/client/unversioned"
11 11
 	"k8s.io/kubernetes/pkg/labels"
12 12
 	"k8s.io/kubernetes/pkg/runtime"
13
-	kutil "k8s.io/kubernetes/pkg/util"
13
+	"k8s.io/kubernetes/pkg/util/flowcontrol"
14 14
 	utilruntime "k8s.io/kubernetes/pkg/util/runtime"
15 15
 	"k8s.io/kubernetes/pkg/watch"
16 16
 
... ...
@@ -114,7 +114,7 @@ func (factory *DeploymentControllerFactory) Create() controller.RunnableControll
114 114
 				}
115 115
 				return true
116 116
 			},
117
-			kutil.NewTokenBucketRateLimiter(1, 10),
117
+			flowcontrol.NewTokenBucketRateLimiter(1, 10),
118 118
 		),
119 119
 		Handle: func(obj interface{}) error {
120 120
 			deployment := obj.(*kapi.ReplicationController)
... ...
@@ -10,7 +10,7 @@ import (
10 10
 	"k8s.io/kubernetes/pkg/client/record"
11 11
 	ktestclient "k8s.io/kubernetes/pkg/client/unversioned/testclient"
12 12
 	"k8s.io/kubernetes/pkg/runtime"
13
-	kutil "k8s.io/kubernetes/pkg/util"
13
+	"k8s.io/kubernetes/pkg/util/diff"
14 14
 
15 15
 	"github.com/openshift/origin/pkg/client/testclient"
16 16
 	deployapi "github.com/openshift/origin/pkg/deploy/api"
... ...
@@ -685,7 +685,7 @@ func TestHandleScenarios(t *testing.T) {
685 685
 			expected, actual := expectedDeployments[i], actualDeployments[i]
686 686
 			if !kapi.Semantic.DeepEqual(expected, actual) {
687 687
 				anyDeploymentMismatches = true
688
-				t.Errorf("actual deployment don't match expected: %v", kutil.ObjectDiff(expected, actual))
688
+				t.Errorf("actual deployment don't match expected: %v", diff.ObjectDiff(expected, actual))
689 689
 			}
690 690
 		}
691 691
 		if anyDeploymentMismatches {
... ...
@@ -9,7 +9,7 @@ import (
9 9
 	"k8s.io/kubernetes/pkg/client/record"
10 10
 	kclient "k8s.io/kubernetes/pkg/client/unversioned"
11 11
 	"k8s.io/kubernetes/pkg/runtime"
12
-	kutil "k8s.io/kubernetes/pkg/util"
12
+	"k8s.io/kubernetes/pkg/util/flowcontrol"
13 13
 	utilruntime "k8s.io/kubernetes/pkg/util/runtime"
14 14
 	"k8s.io/kubernetes/pkg/watch"
15 15
 
... ...
@@ -73,7 +73,7 @@ func (factory *DeploymentConfigControllerFactory) Create() controller.RunnableCo
73 73
 				}
74 74
 				return true
75 75
 			},
76
-			kutil.NewTokenBucketRateLimiter(1, 10),
76
+			flowcontrol.NewTokenBucketRateLimiter(1, 10),
77 77
 		),
78 78
 		Handle: func(obj interface{}) error {
79 79
 			config := obj.(*deployapi.DeploymentConfig)
... ...
@@ -6,7 +6,7 @@ import (
6 6
 	kapi "k8s.io/kubernetes/pkg/api"
7 7
 	"k8s.io/kubernetes/pkg/client/cache"
8 8
 	"k8s.io/kubernetes/pkg/runtime"
9
-	kutil "k8s.io/kubernetes/pkg/util"
9
+	"k8s.io/kubernetes/pkg/util/flowcontrol"
10 10
 	utilruntime "k8s.io/kubernetes/pkg/util/runtime"
11 11
 	"k8s.io/kubernetes/pkg/watch"
12 12
 
... ...
@@ -81,7 +81,7 @@ func (factory *ImageChangeControllerFactory) Create() controller.RunnableControl
81 81
 				}
82 82
 				return true
83 83
 			},
84
-			kutil.NewTokenBucketRateLimiter(1, 10),
84
+			flowcontrol.NewTokenBucketRateLimiter(1, 10),
85 85
 		),
86 86
 		Handle: func(obj interface{}) error {
87 87
 			repo := obj.(*imageapi.ImageStream)
... ...
@@ -14,7 +14,7 @@ import (
14 14
 	kapi "k8s.io/kubernetes/pkg/api"
15 15
 	"k8s.io/kubernetes/pkg/api/resource"
16 16
 	"k8s.io/kubernetes/pkg/client/cache"
17
-	kutil "k8s.io/kubernetes/pkg/util"
17
+	"k8s.io/kubernetes/pkg/util/diff"
18 18
 	"k8s.io/kubernetes/pkg/util/sets"
19 19
 
20 20
 	deployapi "github.com/openshift/origin/pkg/deploy/api"
... ...
@@ -395,7 +395,7 @@ func TestHookExecutor_makeHookPod(t *testing.T) {
395 395
 			sort.Sort(envByNameAsc(c.Env))
396 396
 		}
397 397
 		if !kapi.Semantic.DeepEqual(pod, test.expected) {
398
-			t.Errorf("unexpected pod diff: %v", kutil.ObjectDiff(pod, test.expected))
398
+			t.Errorf("unexpected pod diff: %v", diff.ObjectDiff(pod, test.expected))
399 399
 		}
400 400
 	}
401 401
 }
... ...
@@ -8,7 +8,7 @@ import (
8 8
 
9 9
 	kapi "k8s.io/kubernetes/pkg/api"
10 10
 	"k8s.io/kubernetes/pkg/api/unversioned"
11
-	"k8s.io/kubernetes/pkg/util"
11
+	"k8s.io/kubernetes/pkg/util/diff"
12 12
 )
13 13
 
14 14
 func TestParseDockerImageReference(t *testing.T) {
... ...
@@ -645,7 +645,7 @@ func TestImageWithMetadata(t *testing.T) {
645 645
 			continue
646 646
 		}
647 647
 		if e, a := test.expectedImage, imageWithMetadata; !kapi.Semantic.DeepEqual(e, a) {
648
-			t.Errorf("%s: image: %s", name, util.ObjectDiff(e, a))
648
+			t.Errorf("%s: image: %s", name, diff.ObjectDiff(e, a))
649 649
 		}
650 650
 	}
651 651
 }
... ...
@@ -39,7 +39,7 @@ func convert_api_Image_To_v1_Image(in *newer.Image, out *Image, s conversion.Sco
39 39
 	if err != nil {
40 40
 		return err
41 41
 	}
42
-	out.DockerImageMetadata.RawJSON = data
42
+	out.DockerImageMetadata.Raw = data
43 43
 	out.DockerImageMetadataVersion = version.Version
44 44
 
45 45
 	if in.DockerImageLayers != nil {
... ...
@@ -68,13 +68,13 @@ func convert_v1_Image_To_api_Image(in *Image, out *newer.Image, s conversion.Sco
68 68
 	if len(version) == 0 {
69 69
 		version = "1.0"
70 70
 	}
71
-	if len(in.DockerImageMetadata.RawJSON) > 0 {
71
+	if len(in.DockerImageMetadata.Raw) > 0 {
72 72
 		// TODO: add a way to default the expected kind and version of an object if not set
73 73
 		obj, err := api.Scheme.New(unversioned.GroupVersionKind{Version: version, Kind: "DockerImage"})
74 74
 		if err != nil {
75 75
 			return err
76 76
 		}
77
-		if err := runtime.DecodeInto(api.Codecs.UniversalDecoder(), in.DockerImageMetadata.RawJSON, obj); err != nil {
77
+		if err := runtime.DecodeInto(api.Codecs.UniversalDecoder(), in.DockerImageMetadata.Raw, obj); err != nil {
78 78
 			return err
79 79
 		}
80 80
 		if err := s.Convert(obj, &out.DockerImageMetadata, 0); err != nil {
... ...
@@ -6,7 +6,7 @@ import (
6 6
 
7 7
 	kapi "k8s.io/kubernetes/pkg/api"
8 8
 	"k8s.io/kubernetes/pkg/runtime"
9
-	"k8s.io/kubernetes/pkg/util"
9
+	"k8s.io/kubernetes/pkg/util/diff"
10 10
 
11 11
 	newer "github.com/openshift/origin/pkg/image/api"
12 12
 	"github.com/openshift/origin/pkg/image/api/v1"
... ...
@@ -44,7 +44,7 @@ func TestRoundTripVersionedObject(t *testing.T) {
44 44
 	}
45 45
 	image.DockerImageMetadataVersion = ""
46 46
 	if !reflect.DeepEqual(i, image) {
47
-		t.Errorf("unable to round trip object: %s", util.ObjectDiff(i, image))
47
+		t.Errorf("unable to round trip object: %s", diff.ObjectDiff(i, image))
48 48
 	}
49 49
 }
50 50
 
... ...
@@ -38,7 +38,7 @@ func convert_api_Image_To_v1beta3_Image(in *newer.Image, out *Image, s conversio
38 38
 	if err != nil {
39 39
 		return err
40 40
 	}
41
-	out.DockerImageMetadata.RawJSON = data
41
+	out.DockerImageMetadata.Raw = data
42 42
 	out.DockerImageMetadataVersion = version.Version
43 43
 
44 44
 	return nil
... ...
@@ -56,13 +56,13 @@ func convert_v1beta3_Image_To_api_Image(in *Image, out *newer.Image, s conversio
56 56
 	if len(version) == 0 {
57 57
 		version = "1.0"
58 58
 	}
59
-	if len(in.DockerImageMetadata.RawJSON) > 0 {
59
+	if len(in.DockerImageMetadata.Raw) > 0 {
60 60
 		// TODO: add a way to default the expected kind and version of an object if not set
61 61
 		obj, err := api.Scheme.New(unversioned.GroupVersionKind{Version: version, Kind: "DockerImage"})
62 62
 		if err != nil {
63 63
 			return err
64 64
 		}
65
-		if err := runtime.DecodeInto(api.Codecs.UniversalDecoder(), in.DockerImageMetadata.RawJSON, obj); err != nil {
65
+		if err := runtime.DecodeInto(api.Codecs.UniversalDecoder(), in.DockerImageMetadata.Raw, obj); err != nil {
66 66
 			return err
67 67
 		}
68 68
 		if err := s.Convert(obj, &out.DockerImageMetadata, 0); err != nil {
... ...
@@ -6,7 +6,7 @@ import (
6 6
 
7 7
 	kapi "k8s.io/kubernetes/pkg/api"
8 8
 	"k8s.io/kubernetes/pkg/runtime"
9
-	"k8s.io/kubernetes/pkg/util"
9
+	"k8s.io/kubernetes/pkg/util/diff"
10 10
 
11 11
 	newer "github.com/openshift/origin/pkg/image/api"
12 12
 	"github.com/openshift/origin/pkg/image/api/v1beta3"
... ...
@@ -44,6 +44,6 @@ func TestRoundTripVersionedObject(t *testing.T) {
44 44
 	}
45 45
 	image.DockerImageMetadataVersion = ""
46 46
 	if !reflect.DeepEqual(i, image) {
47
-		t.Errorf("unable to round trip object: %s", util.ObjectDiff(i, image))
47
+		t.Errorf("unable to round trip object: %s", diff.ObjectDiff(i, image))
48 48
 	}
49 49
 }
... ...
@@ -9,7 +9,7 @@ import (
9 9
 
10 10
 	kapi "k8s.io/kubernetes/pkg/api"
11 11
 	"k8s.io/kubernetes/pkg/api/validation"
12
-	"k8s.io/kubernetes/pkg/util"
12
+	"k8s.io/kubernetes/pkg/util/diff"
13 13
 	"k8s.io/kubernetes/pkg/util/validation/field"
14 14
 
15 15
 	oapi "github.com/openshift/origin/pkg/api"
... ...
@@ -202,7 +202,7 @@ func ValidateImageStreamTagUpdate(newIST, oldIST *api.ImageStreamTag) field.Erro
202 202
 	newISTCopy.Tag, oldISTCopy.Tag = nil, nil
203 203
 	newISTCopy.Generation = oldISTCopy.Generation
204 204
 	if !kapi.Semantic.Equalities.DeepEqual(&newISTCopy, &oldISTCopy) {
205
-		glog.Infof("objects differ: ", util.ObjectDiff(oldISTCopy, newISTCopy))
205
+		glog.Infof("objects differ: ", diff.ObjectDiff(oldISTCopy, newISTCopy))
206 206
 		result = append(result, field.Invalid(field.NewPath("metadata"), "", "may not update fields other than metadata.annotations"))
207 207
 	}
208 208
 
... ...
@@ -7,7 +7,7 @@ import (
7 7
 
8 8
 	"github.com/openshift/origin/pkg/image/api"
9 9
 	kapi "k8s.io/kubernetes/pkg/api"
10
-	"k8s.io/kubernetes/pkg/util"
10
+	"k8s.io/kubernetes/pkg/util/diff"
11 11
 	"k8s.io/kubernetes/pkg/util/validation/field"
12 12
 )
13 13
 
... ...
@@ -398,7 +398,7 @@ func TestValidateImageStream(t *testing.T) {
398 398
 
399 399
 		errs := ValidateImageStream(&stream)
400 400
 		if e, a := test.expected, errs; !reflect.DeepEqual(e, a) {
401
-			t.Errorf("%s: unexpected errors: %s", name, util.ObjectDiff(e, a))
401
+			t.Errorf("%s: unexpected errors: %s", name, diff.ObjectDiff(e, a))
402 402
 		}
403 403
 	}
404 404
 }
... ...
@@ -655,7 +655,7 @@ func TestValidateImageStreamImport(t *testing.T) {
655 655
 		}
656 656
 		errs := ValidateImageStreamImport(test.isi)
657 657
 		if e, a := test.expected, errs; !reflect.DeepEqual(e, a) {
658
-			t.Errorf("%s: unexpected errors: %s", name, util.ObjectDiff(e, a))
658
+			t.Errorf("%s: unexpected errors: %s", name, diff.ObjectDiff(e, a))
659 659
 		}
660 660
 	}
661 661
 }
... ...
@@ -8,7 +8,7 @@ import (
8 8
 	kapi "k8s.io/kubernetes/pkg/api"
9 9
 	apierrs "k8s.io/kubernetes/pkg/api/errors"
10 10
 	"k8s.io/kubernetes/pkg/api/unversioned"
11
-	"k8s.io/kubernetes/pkg/util"
11
+	"k8s.io/kubernetes/pkg/util/diff"
12 12
 
13 13
 	client "github.com/openshift/origin/pkg/client/testclient"
14 14
 	"github.com/openshift/origin/pkg/dockerregistry"
... ...
@@ -287,7 +287,7 @@ func TestControllerStart(t *testing.T) {
287 287
 			}
288 288
 		} else {
289 289
 			if !kapi.Semantic.DeepEqual(test.stream, other) {
290
-				t.Errorf("%d: did not expect change to stream: %s", i, util.ObjectGoPrintDiff(test.stream, other))
290
+				t.Errorf("%d: did not expect change to stream: %s", i, diff.ObjectGoPrintDiff(test.stream, other))
291 291
 			}
292 292
 			if len(fake.Actions()) != 0 {
293 293
 				t.Errorf("%d: did not expect remote calls", i)
... ...
@@ -8,7 +8,7 @@ import (
8 8
 	kapi "k8s.io/kubernetes/pkg/api"
9 9
 	"k8s.io/kubernetes/pkg/client/cache"
10 10
 	"k8s.io/kubernetes/pkg/runtime"
11
-	"k8s.io/kubernetes/pkg/util"
11
+	"k8s.io/kubernetes/pkg/util/flowcontrol"
12 12
 	utilruntime "k8s.io/kubernetes/pkg/util/runtime"
13 13
 	"k8s.io/kubernetes/pkg/watch"
14 14
 
... ...
@@ -22,7 +22,7 @@ type ImportControllerFactory struct {
22 22
 	Client               client.Interface
23 23
 	ResyncInterval       time.Duration
24 24
 	MinimumCheckInterval time.Duration
25
-	ImportRateLimiter    util.RateLimiter
25
+	ImportRateLimiter    flowcontrol.RateLimiter
26 26
 	ScheduleEnabled      bool
27 27
 }
28 28
 
... ...
@@ -50,7 +50,7 @@ func (f *ImportControllerFactory) Create() (controller.RunnableController, contr
50 50
 	seconds := f.MinimumCheckInterval / time.Second
51 51
 	bucketQPS := 1.0 / float32(seconds) * float32(buckets)
52 52
 
53
-	limiter := util.NewTokenBucketRateLimiter(bucketQPS, 1)
53
+	limiter := flowcontrol.NewTokenBucketRateLimiter(bucketQPS, 1)
54 54
 	b := newScheduled(f.ScheduleEnabled, f.Client, buckets, limiter, f.ImportRateLimiter)
55 55
 
56 56
 	// instantiate an importer for changes that happen to the image stream
... ...
@@ -63,7 +63,7 @@ func (f *ImportControllerFactory) Create() (controller.RunnableController, contr
63 63
 				utilruntime.HandleError(err)
64 64
 				return retries.Count < 5
65 65
 			},
66
-			util.NewTokenBucketRateLimiter(1, 10),
66
+			flowcontrol.NewTokenBucketRateLimiter(1, 10),
67 67
 		),
68 68
 		Handle: b.Handle,
69 69
 	}
... ...
@@ -81,12 +81,12 @@ type uniqueItem struct {
81 81
 type scheduled struct {
82 82
 	enabled     bool
83 83
 	scheduler   *controller.Scheduler
84
-	rateLimiter util.RateLimiter
84
+	rateLimiter flowcontrol.RateLimiter
85 85
 	controller  *ImportController
86 86
 }
87 87
 
88 88
 // newScheduled initializes a scheduled import object and sets its scheduler. Limiter is optional.
89
-func newScheduled(enabled bool, client client.ImageStreamsNamespacer, buckets int, bucketLimiter, importLimiter util.RateLimiter) *scheduled {
89
+func newScheduled(enabled bool, client client.ImageStreamsNamespacer, buckets int, bucketLimiter, importLimiter flowcontrol.RateLimiter) *scheduled {
90 90
 	b := &scheduled{
91 91
 		enabled:     enabled,
92 92
 		rateLimiter: importLimiter,
... ...
@@ -16,7 +16,7 @@ import (
16 16
 
17 17
 	kapierrors "k8s.io/kubernetes/pkg/api/errors"
18 18
 	"k8s.io/kubernetes/pkg/api/unversioned"
19
-	"k8s.io/kubernetes/pkg/util"
19
+	"k8s.io/kubernetes/pkg/util/flowcontrol"
20 20
 	"k8s.io/kubernetes/pkg/util/sets"
21 21
 	"k8s.io/kubernetes/pkg/util/validation/field"
22 22
 
... ...
@@ -45,16 +45,16 @@ type ImageStreamImporter struct {
45 45
 	maximumTagsPerRepo int
46 46
 
47 47
 	retriever RepositoryRetriever
48
-	limiter   util.RateLimiter
48
+	limiter   flowcontrol.RateLimiter
49 49
 
50 50
 	digestToRepositoryCache map[gocontext.Context]map[manifestKey]*api.Image
51 51
 }
52 52
 
53 53
 // NewImageStreamImport creates an importer that will load images from a remote Docker registry into an
54 54
 // ImageStreamImport object. Limiter may be nil.
55
-func NewImageStreamImporter(retriever RepositoryRetriever, maximumTagsPerRepo int, limiter util.RateLimiter) *ImageStreamImporter {
55
+func NewImageStreamImporter(retriever RepositoryRetriever, maximumTagsPerRepo int, limiter flowcontrol.RateLimiter) *ImageStreamImporter {
56 56
 	if limiter == nil {
57
-		limiter = util.NewFakeAlwaysRateLimiter()
57
+		limiter = flowcontrol.NewFakeAlwaysRateLimiter()
58 58
 	}
59 59
 	return &ImageStreamImporter{
60 60
 		maximumTagsPerRepo: maximumTagsPerRepo,
... ...
@@ -86,7 +86,7 @@ func (i *ImageStreamImporter) Import(ctx gocontext.Context, isi *api.ImageStream
86 86
 
87 87
 // importImages updates the passed ImageStreamImport object and sets Status for each image based on whether the import
88 88
 // succeeded or failed. Cache is updated with any loaded images. Limiter is optional and controls how fast images are updated.
89
-func importImages(ctx gocontext.Context, retriever RepositoryRetriever, isi *api.ImageStreamImport, cache map[manifestKey]*api.Image, limiter util.RateLimiter) {
89
+func importImages(ctx gocontext.Context, retriever RepositoryRetriever, isi *api.ImageStreamImport, cache map[manifestKey]*api.Image, limiter flowcontrol.RateLimiter) {
90 90
 	tags := make(map[manifestKey][]int)
91 91
 	ids := make(map[manifestKey][]int)
92 92
 	repositories := make(map[repositoryKey]*importRepository)
... ...
@@ -192,7 +192,7 @@ func importImages(ctx gocontext.Context, retriever RepositoryRetriever, isi *api
192 192
 // importFromRepository imports the repository named on the ImageStreamImport, if any, importing up to maximumTags, and reporting
193 193
 // status on each image that is attempted to be imported. If the repository cannot be found or tags cannot be retrieved, the repository
194 194
 // status field is set.
195
-func importFromRepository(ctx gocontext.Context, retriever RepositoryRetriever, isi *api.ImageStreamImport, maximumTags int, cache map[manifestKey]*api.Image, limiter util.RateLimiter) {
195
+func importFromRepository(ctx gocontext.Context, retriever RepositoryRetriever, isi *api.ImageStreamImport, maximumTags int, cache map[manifestKey]*api.Image, limiter flowcontrol.RateLimiter) {
196 196
 	if isi.Spec.Repository == nil {
197 197
 		return
198 198
 	}
... ...
@@ -284,7 +284,7 @@ func applyErrorToRepository(repository *importRepository, err error) {
284 284
 
285 285
 // importRepositoryFromDocker loads the tags and images requested in the passed importRepository, obeying the
286 286
 // optional rate limiter.  Errors are set onto the individual tags and digest objects.
287
-func importRepositoryFromDocker(ctx gocontext.Context, retriever RepositoryRetriever, repository *importRepository, limiter util.RateLimiter) {
287
+func importRepositoryFromDocker(ctx gocontext.Context, retriever RepositoryRetriever, repository *importRepository, limiter flowcontrol.RateLimiter) {
288 288
 	glog.V(5).Infof("importing remote Docker repository registry=%s repository=%s insecure=%t", repository.Registry, repository.Name, repository.Insecure)
289 289
 	// retrieve the repository
290 290
 	repo, err := retriever.Repository(ctx, repository.Registry, repository.Name, repository.Insecure)
... ...
@@ -433,7 +433,7 @@ func importRepositoryFromDocker(ctx gocontext.Context, retriever RepositoryRetri
433 433
 	}
434 434
 }
435 435
 
436
-func importRepositoryFromDockerV1(ctx gocontext.Context, repository *importRepository, limiter util.RateLimiter) {
436
+func importRepositoryFromDockerV1(ctx gocontext.Context, repository *importRepository, limiter flowcontrol.RateLimiter) {
437 437
 	value := ctx.Value(ContextKeyV1RegistryClient)
438 438
 	if value == nil {
439 439
 		err := kapierrors.NewForbidden(api.Resource(""), "", fmt.Errorf("registry %q does not support the v2 Registry API", repository.Registry.Host)).(*kapierrors.StatusError)
... ...
@@ -11,7 +11,7 @@ import (
11 11
 	kapi "k8s.io/kubernetes/pkg/api"
12 12
 	"k8s.io/kubernetes/pkg/auth/user"
13 13
 	"k8s.io/kubernetes/pkg/runtime"
14
-	"k8s.io/kubernetes/pkg/util"
14
+	"k8s.io/kubernetes/pkg/util/diff"
15 15
 	"k8s.io/kubernetes/pkg/util/sets"
16 16
 	"k8s.io/kubernetes/pkg/util/validation/field"
17 17
 )
... ...
@@ -305,12 +305,12 @@ func TestTagVerifier(t *testing.T) {
305 305
 				Groups: sets.NewString("group1"),
306 306
 			}
307 307
 			if e, a := expectedSar, sar.request; !reflect.DeepEqual(e, a) {
308
-				t.Errorf("%s: unexpected SAR request: %s", name, util.ObjectDiff(e, a))
308
+				t.Errorf("%s: unexpected SAR request: %s", name, diff.ObjectDiff(e, a))
309 309
 			}
310 310
 		}
311 311
 
312 312
 		if e, a := test.expected, errs; !reflect.DeepEqual(e, a) {
313
-			t.Errorf("%s: unexpected validation errors: %s", name, util.ObjectDiff(e, a))
313
+			t.Errorf("%s: unexpected validation errors: %s", name, diff.ObjectDiff(e, a))
314 314
 		}
315 315
 	}
316 316
 }
... ...
@@ -13,7 +13,7 @@ import (
13 13
 	"k8s.io/kubernetes/pkg/api/rest"
14 14
 	"k8s.io/kubernetes/pkg/api/unversioned"
15 15
 	"k8s.io/kubernetes/pkg/runtime"
16
-	"k8s.io/kubernetes/pkg/util"
16
+	"k8s.io/kubernetes/pkg/util/diff"
17 17
 	utilruntime "k8s.io/kubernetes/pkg/util/runtime"
18 18
 	"k8s.io/kubernetes/pkg/util/validation/field"
19 19
 
... ...
@@ -247,7 +247,7 @@ func (r *REST) Create(ctx kapi.Context, obj runtime.Object) (runtime.Object, err
247 247
 			obj, err = original.(*api.ImageStream), nil
248 248
 		} else {
249 249
 			if glog.V(4) {
250
-				glog.V(4).Infof("updated stream %s", util.ObjectDiff(original, stream))
250
+				glog.V(4).Infof("updated stream %s", diff.ObjectDiff(original, stream))
251 251
 			}
252 252
 			stream.Annotations[api.DockerImageRepositoryCheckAnnotation] = now.UTC().Format(time.RFC3339)
253 253
 			obj, _, err = r.internalStreams.Update(ctx, stream)
... ...
@@ -136,7 +136,7 @@ func (p *KeepalivedPlugin) Create(out io.Writer) error {
136 136
 		return fmt.Errorf("error getting Namespace: %v", err)
137 137
 	}
138 138
 
139
-	mapper, typer := p.Factory.Factory.Object()
139
+	mapper, typer := p.Factory.Factory.Object(false)
140 140
 	bulk := configcmd.Bulk{
141 141
 		Mapper:            mapper,
142 142
 		Typer:             typer,
... ...
@@ -6,14 +6,14 @@ import (
6 6
 	kapi "k8s.io/kubernetes/pkg/api"
7 7
 	"k8s.io/kubernetes/pkg/client/cache"
8 8
 	kclient "k8s.io/kubernetes/pkg/client/unversioned"
9
+	clientadapter "k8s.io/kubernetes/pkg/client/unversioned/adapters/internalclientset"
9 10
 	"k8s.io/kubernetes/pkg/runtime"
10
-	kutil "k8s.io/kubernetes/pkg/util"
11
+	"k8s.io/kubernetes/pkg/util/flowcontrol"
11 12
 	utilruntime "k8s.io/kubernetes/pkg/util/runtime"
12 13
 	"k8s.io/kubernetes/pkg/watch"
13 14
 
14 15
 	osclient "github.com/openshift/origin/pkg/client"
15 16
 	controller "github.com/openshift/origin/pkg/controller"
16
-	"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
17 17
 )
18 18
 
19 19
 type NamespaceControllerFactory struct {
... ...
@@ -38,7 +38,7 @@ func (factory *NamespaceControllerFactory) Create() controller.RunnableControlle
38 38
 
39 39
 	namespaceController := &NamespaceController{
40 40
 		Client:     factory.Client,
41
-		KubeClient: internalclientset.FromUnversionedClient(factory.KubeClient),
41
+		KubeClient: clientadapter.FromUnversionedClient(factory.KubeClient),
42 42
 	}
43 43
 
44 44
 	return &controller.RetryController{
... ...
@@ -56,7 +56,7 @@ func (factory *NamespaceControllerFactory) Create() controller.RunnableControlle
56 56
 				}
57 57
 				return true
58 58
 			},
59
-			kutil.NewTokenBucketRateLimiter(1, 10),
59
+			flowcontrol.NewTokenBucketRateLimiter(1, 10),
60 60
 		),
61 61
 		Handle: func(obj interface{}) error {
62 62
 			namespace := obj.(*kapi.Namespace)
... ...
@@ -5,7 +5,7 @@ import (
5 5
 	"testing"
6 6
 
7 7
 	"k8s.io/kubernetes/pkg/runtime"
8
-	"k8s.io/kubernetes/pkg/util"
8
+	"k8s.io/kubernetes/pkg/util/diff"
9 9
 
10 10
 	configapi "github.com/openshift/origin/pkg/cmd/server/api"
11 11
 	v1 "github.com/openshift/origin/pkg/cmd/server/api/v1"
... ...
@@ -56,7 +56,7 @@ func TestDefaults(t *testing.T) {
56 56
 			t.FailNow()
57 57
 		}
58 58
 		if !reflect.DeepEqual(got, expected) {
59
-			t.Errorf("got different than expected:\nA:\t%#v\nB:\t%#v\n\nDiff:\n%s\n\n%s", got, expected, util.ObjectDiff(expected, got), util.ObjectGoPrintSideBySide(expected, got))
59
+			t.Errorf("got different than expected:\nA:\t%#v\nB:\t%#v\n\nDiff:\n%s\n\n%s", got, expected, diff.ObjectDiff(expected, got), diff.ObjectGoPrintSideBySide(expected, got))
60 60
 		}
61 61
 	}
62 62
 }
... ...
@@ -12,7 +12,7 @@ import (
12 12
 	clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
13 13
 	clientsetfake "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/fake"
14 14
 	kscc "k8s.io/kubernetes/pkg/securitycontextconstraints"
15
-	"k8s.io/kubernetes/pkg/util"
15
+	"k8s.io/kubernetes/pkg/util/diff"
16 16
 
17 17
 	"sort"
18 18
 
... ...
@@ -827,7 +827,7 @@ func TestCreateProvidersFromConstraints(t *testing.T) {
827 827
 		_, errs := admit.createProvidersFromConstraints(attributes.GetNamespace(), []*kapi.SecurityContextConstraints{scc})
828 828
 
829 829
 		if !reflect.DeepEqual(scc, v.scc()) {
830
-			diff := util.ObjectDiff(scc, v.scc())
830
+			diff := diff.ObjectDiff(scc, v.scc())
831 831
 			t.Errorf("%s createProvidersFromConstraints mutated constraints. diff:\n%s", k, diff)
832 832
 		}
833 833
 		if len(v.expectedErr) > 0 && len(errs) != 1 {
... ...
@@ -7,7 +7,7 @@ import (
7 7
 	"k8s.io/kubernetes/pkg/client/cache"
8 8
 	kclient "k8s.io/kubernetes/pkg/client/unversioned"
9 9
 	"k8s.io/kubernetes/pkg/runtime"
10
-	kutil "k8s.io/kubernetes/pkg/util"
10
+	"k8s.io/kubernetes/pkg/util/flowcontrol"
11 11
 	utilruntime "k8s.io/kubernetes/pkg/util/runtime"
12 12
 	"k8s.io/kubernetes/pkg/watch"
13 13
 
... ...
@@ -56,7 +56,7 @@ func (f *AllocationFactory) Create() controller.RunnableController {
56 56
 				utilruntime.HandleError(err)
57 57
 				return retries.Count < 5
58 58
 			},
59
-			kutil.NewTokenBucketRateLimiter(1, 10),
59
+			flowcontrol.NewTokenBucketRateLimiter(1, 10),
60 60
 		),
61 61
 		Handle: func(obj interface{}) error {
62 62
 			r := obj.(*kapi.Namespace)
... ...
@@ -28,7 +28,7 @@ func convert_api_Template_To_v1_Template(in *newer.Template, out *Template, s co
28 28
 			if err != nil {
29 29
 				return err
30 30
 			}
31
-			out.Objects[i] = runtime.RawExtension{RawJSON: bytes}
31
+			out.Objects[i] = runtime.RawExtension{Raw: bytes}
32 32
 		}
33 33
 	}
34 34
 	return nil
... ...
@@ -27,7 +27,7 @@ func convert_api_Template_To_v1beta3_Template(in *newer.Template, out *Template,
27 27
 			if err != nil {
28 28
 				return err
29 29
 			}
30
-			out.Objects[i] = runtime.RawExtension{RawJSON: bytes}
30
+			out.Objects[i] = runtime.RawExtension{Raw: bytes}
31 31
 		}
32 32
 	}
33 33
 	return nil
... ...
@@ -43,7 +43,7 @@ func (p *Processor) Process(template *api.Template) field.ErrorList {
43 43
 		idxPath := itemPath.Index(i)
44 44
 		if obj, ok := item.(*runtime.Unknown); ok {
45 45
 			// TODO: use runtime.DecodeList when it returns ValidationErrorList
46
-			decodedObj, err := runtime.Decode(runtime.UnstructuredJSONScheme, obj.RawJSON)
46
+			decodedObj, err := runtime.Decode(runtime.UnstructuredJSONScheme, obj.Raw)
47 47
 			if err != nil {
48 48
 				templateErrors = append(templateErrors, field.Invalid(idxPath.Child("objects"), obj, fmt.Sprintf("unable to handle object: %v", err)))
49 49
 				continue
... ...
@@ -11,7 +11,7 @@ import (
11 11
 
12 12
 	kapi "k8s.io/kubernetes/pkg/api"
13 13
 	"k8s.io/kubernetes/pkg/runtime"
14
-	"k8s.io/kubernetes/pkg/util"
14
+	"k8s.io/kubernetes/pkg/util/diff"
15 15
 	"k8s.io/kubernetes/pkg/util/validation/field"
16 16
 
17 17
 	"github.com/openshift/origin/pkg/api/v1beta3"
... ...
@@ -216,7 +216,7 @@ func TestProcessValueEscape(t *testing.T) {
216 216
 	expect := `{"kind":"Template","apiVersion":"v1beta3","metadata":{"creationTimestamp":null},"objects":[{"apiVersion":"v1beta31","kind":"Service","metadata":{"labels":{"key1":"1","key2":"$1"}}}],"parameters":[{"name":"VALUE","value":"1"}]}`
217 217
 	stringResult := strings.TrimSpace(string(result))
218 218
 	if expect != stringResult {
219
-		t.Errorf("unexpected output: %s", util.StringDiff(expect, stringResult))
219
+		t.Errorf("unexpected output: %s", diff.StringDiff(expect, stringResult))
220 220
 	}
221 221
 }
222 222
 
... ...
@@ -375,7 +375,7 @@ func TestEvaluateLabels(t *testing.T) {
375 375
 		expect = trailingWhitespace.ReplaceAllString(expect, "")
376 376
 		stringResult := strings.TrimSpace(string(result))
377 377
 		if expect != stringResult {
378
-			t.Errorf("%s: unexpected output: %s", k, util.StringDiff(expect, stringResult))
378
+			t.Errorf("%s: unexpected output: %s", k, diff.StringDiff(expect, stringResult))
379 379
 			continue
380 380
 		}
381 381
 	}
... ...
@@ -413,6 +413,6 @@ func TestProcessTemplateParameters(t *testing.T) {
413 413
 	exp, _ := runtime.Encode(kapi.Codecs.LegacyCodec(v1beta3.SchemeGroupVersion), &expectedTemplate)
414 414
 
415 415
 	if string(result) != string(exp) {
416
-		t.Errorf("unexpected output: %s", util.StringDiff(string(exp), string(result)))
416
+		t.Errorf("unexpected output: %s", diff.StringDiff(string(exp), string(result)))
417 417
 	}
418 418
 }
... ...
@@ -2,7 +2,7 @@ package ratelimiter
2 2
 
3 3
 import (
4 4
 	kcache "k8s.io/kubernetes/pkg/client/cache"
5
-	kutil "k8s.io/kubernetes/pkg/util"
5
+	"k8s.io/kubernetes/pkg/util/flowcontrol"
6 6
 	utilruntime "k8s.io/kubernetes/pkg/util/runtime"
7 7
 	utilwait "k8s.io/kubernetes/pkg/util/wait"
8 8
 )
... ...
@@ -19,7 +19,7 @@ type RateLimitedFunction struct {
19 19
 	queue kcache.Queue
20 20
 
21 21
 	// Rate limiting configuration.
22
-	kutil.RateLimiter
22
+	flowcontrol.RateLimiter
23 23
 }
24 24
 
25 25
 // NewRateLimitedFunction creates a new rate limited function.
... ...
@@ -31,7 +31,7 @@ func NewRateLimitedFunction(keyFunc kcache.KeyFunc, interval int, handlerFunc Ha
31 31
 		qps = float32(1.0 / float32(interval))
32 32
 	}
33 33
 
34
-	limiter := kutil.NewTokenBucketRateLimiter(qps, 1)
34
+	limiter := flowcontrol.NewTokenBucketRateLimiter(qps, 1)
35 35
 
36 36
 	return &RateLimitedFunction{handlerFunc, fifo, limiter}
37 37
 }
... ...
@@ -9,7 +9,7 @@ import (
9 9
 
10 10
 	kapi "k8s.io/kubernetes/pkg/api"
11 11
 	"k8s.io/kubernetes/pkg/api/errors"
12
-	"k8s.io/kubernetes/pkg/util"
12
+	"k8s.io/kubernetes/pkg/util/diff"
13 13
 
14 14
 	deployapi "github.com/openshift/origin/pkg/deploy/api"
15 15
 	stratsupport "github.com/openshift/origin/pkg/deploy/strategy/support"
... ...
@@ -82,7 +82,7 @@ func TestImageStreamCreate(t *testing.T) {
82 82
 		t.Fatalf("Unexpected error: %v", err)
83 83
 	}
84 84
 	if !reflect.DeepEqual(expected, actual) {
85
-		t.Errorf("unexpected object: %s", util.ObjectDiff(expected, actual))
85
+		t.Errorf("unexpected object: %s", diff.ObjectDiff(expected, actual))
86 86
 	}
87 87
 
88 88
 	streams, err := clusterAdminClient.ImageStreams(testutil.Namespace()).List(kapi.ListOptions{})