Browse code

oc set probe/triggers: set output version

Cesar Wong authored on 2016/06/03 04:52:38
Showing 2 changed files
... ...
@@ -12,6 +12,7 @@ import (
12 12
 	"github.com/spf13/cobra"
13 13
 	kapi "k8s.io/kubernetes/pkg/api"
14 14
 	"k8s.io/kubernetes/pkg/api/meta"
15
+	"k8s.io/kubernetes/pkg/api/unversioned"
15 16
 	kcmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
16 17
 	"k8s.io/kubernetes/pkg/kubectl/resource"
17 18
 	"k8s.io/kubernetes/pkg/runtime"
... ...
@@ -76,8 +77,9 @@ type ProbeOptions struct {
76 76
 
77 77
 	Encoder runtime.Encoder
78 78
 
79
-	ShortOutput bool
80
-	Mapper      meta.RESTMapper
79
+	ShortOutput   bool
80
+	Mapper        meta.RESTMapper
81
+	OutputVersion unversioned.GroupVersion
81 82
 
82 83
 	PrintObject            func(runtime.Object) error
83 84
 	UpdatePodSpecForObject func(runtime.Object, func(spec *kapi.PodSpec) error) (bool, error)
... ...
@@ -170,6 +172,16 @@ func (o *ProbeOptions) Complete(f *clientcmd.Factory, cmd *cobra.Command, args [
170 170
 		return err
171 171
 	}
172 172
 
173
+	clientConfig, err := f.ClientConfig()
174
+	if err != nil {
175
+		return err
176
+	}
177
+
178
+	o.OutputVersion, err = kcmdutil.OutputVersion(cmd, clientConfig.GroupVersion)
179
+	if err != nil {
180
+		return err
181
+	}
182
+
173 183
 	mapper, typer := f.Object(false)
174 184
 	o.Builder = resource.NewBuilder(mapper, typer, resource.ClientMapperFunc(f.ClientForMapping), kapi.Codecs.UniversalDecoder()).
175 185
 		ContinueOnError().
... ...
@@ -304,16 +316,7 @@ func (o *ProbeOptions) Run() error {
304 304
 	}
305 305
 
306 306
 	if o.PrintObject != nil {
307
-		var infos []*resource.Info
308
-		for _, patch := range patches {
309
-			info := patch.Info
310
-			if patch.Err != nil {
311
-				fmt.Fprintf(o.Err, "error: %s/%s %v\n", info.Mapping.Resource, info.Name, patch.Err)
312
-				continue
313
-			}
314
-			infos = append(infos, info)
315
-		}
316
-		object, err := resource.AsVersionedObject(infos, !singular, "", nil)
307
+		object, err := resource.AsVersionedObject(infos, !singular, o.OutputVersion.String(), kapi.Codecs.LegacyCodec(o.OutputVersion))
317 308
 		if err != nil {
318 309
 			return err
319 310
 		}
... ...
@@ -13,6 +13,7 @@ import (
13 13
 
14 14
 	kapi "k8s.io/kubernetes/pkg/api"
15 15
 	"k8s.io/kubernetes/pkg/api/meta"
16
+	"k8s.io/kubernetes/pkg/api/unversioned"
16 17
 	kcmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
17 18
 	"k8s.io/kubernetes/pkg/kubectl/resource"
18 19
 	"k8s.io/kubernetes/pkg/runtime"
... ...
@@ -78,8 +79,9 @@ type TriggersOptions struct {
78 78
 
79 79
 	Encoder runtime.Encoder
80 80
 
81
-	ShortOutput bool
82
-	Mapper      meta.RESTMapper
81
+	ShortOutput   bool
82
+	Mapper        meta.RESTMapper
83
+	OutputVersion unversioned.GroupVersion
83 84
 
84 85
 	PrintTable  bool
85 86
 	PrintObject func(runtime.Object) error
... ...
@@ -152,6 +154,16 @@ func (o *TriggersOptions) Complete(f *clientcmd.Factory, cmd *cobra.Command, arg
152 152
 		return err
153 153
 	}
154 154
 
155
+	clientConfig, err := f.ClientConfig()
156
+	if err != nil {
157
+		return err
158
+	}
159
+
160
+	o.OutputVersion, err = kcmdutil.OutputVersion(cmd, clientConfig.GroupVersion)
161
+	if err != nil {
162
+		return err
163
+	}
164
+
155 165
 	if !cmd.Flags().Lookup("from-github").Changed {
156 166
 		o.FromGitHub = nil
157 167
 	}
... ...
@@ -271,24 +283,8 @@ func (o *TriggersOptions) Run() error {
271 271
 	if singular && len(patches) == 0 {
272 272
 		return fmt.Errorf("%s/%s is not a deployment config or build config", infos[0].Mapping.Resource, infos[0].Name)
273 273
 	}
274
-	if len(patches) == 0 {
275
-		return nil
276
-	}
277
-
278 274
 	if o.PrintObject != nil {
279
-		var infos []*resource.Info
280
-		for _, patch := range patches {
281
-			info := patch.Info
282
-			if patch.Err != nil {
283
-				fmt.Fprintf(o.Err, "error: %s/%s %v\n", info.Mapping.Resource, info.Name, patch.Err)
284
-				continue
285
-			}
286
-			infos = append(infos, info)
287
-		}
288
-		if len(infos) == 0 {
289
-			return cmdutil.ErrExit
290
-		}
291
-		object, err := resource.AsVersionedObject(infos, !singular, "", nil)
275
+		object, err := resource.AsVersionedObject(infos, !singular, o.OutputVersion.String(), kapi.Codecs.LegacyCodec(o.OutputVersion))
292 276
 		if err != nil {
293 277
 			return err
294 278
 		}