... | ... |
@@ -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 |
} |
... | ... |
@@ -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 |
... | ... |
@@ -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{}) |