Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
dd640568
Commit
dd640568
authored
Feb 19, 2018
by
David Eads
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cleanup printers some more
parent
06433895
Hide whitespace changes
Inline
Side-by-side
Showing
32 changed files
with
169 additions
and
150 deletions
+169
-150
annotate.go
pkg/kubectl/cmd/annotate.go
+1
-2
autoscale.go
pkg/kubectl/cmd/autoscale.go
+2
-2
cmd_test.go
pkg/kubectl/cmd/cmd_test.go
+8
-16
view.go
pkg/kubectl/cmd/config/view.go
+6
-2
create.go
pkg/kubectl/cmd/create.go
+1
-1
create_role.go
pkg/kubectl/cmd/create_role.go
+1
-1
expose.go
pkg/kubectl/cmd/expose.go
+2
-2
label.go
pkg/kubectl/cmd/label.go
+1
-1
BUILD
pkg/kubectl/cmd/resource/BUILD
+1
-0
get.go
pkg/kubectl/cmd/resource/get.go
+27
-4
rollingupdate.go
pkg/kubectl/cmd/rollingupdate.go
+3
-5
run.go
pkg/kubectl/cmd/run.go
+2
-2
BUILD
pkg/kubectl/cmd/set/BUILD
+1
-0
set_env.go
pkg/kubectl/cmd/set/set_env.go
+3
-6
set_env_test.go
pkg/kubectl/cmd/set/set_env_test.go
+2
-1
set_image.go
pkg/kubectl/cmd/set/set_image.go
+3
-6
set_image_test.go
pkg/kubectl/cmd/set/set_image_test.go
+2
-1
set_resources.go
pkg/kubectl/cmd/set/set_resources.go
+3
-6
set_selector.go
pkg/kubectl/cmd/set/set_selector.go
+1
-1
set_serviceaccount.go
pkg/kubectl/cmd/set/set_serviceaccount.go
+3
-6
set_serviceaccount_test.go
pkg/kubectl/cmd/set/set_serviceaccount_test.go
+3
-2
set_subject.go
pkg/kubectl/cmd/set/set_subject.go
+5
-9
set_subject_test.go
pkg/kubectl/cmd/set/set_subject_test.go
+1
-2
taint.go
pkg/kubectl/cmd/taint.go
+1
-2
fake.go
pkg/kubectl/cmd/testing/fake.go
+7
-17
factory.go
pkg/kubectl/cmd/util/factory.go
+2
-2
factory_builder.go
pkg/kubectl/cmd/util/factory_builder.go
+9
-43
printing.go
pkg/kubectl/cmd/util/printing.go
+8
-2
install.go
pkg/kubectl/scheme/install.go
+17
-0
scheme.go
pkg/kubectl/scheme/scheme.go
+6
-0
printers_test.go
pkg/printers/internalversion/printers_test.go
+6
-5
versioned.go
pkg/printers/versioned.go
+31
-1
No files found.
pkg/kubectl/cmd/annotate.go
View file @
dd640568
...
@@ -266,9 +266,8 @@ func (o AnnotateOptions) RunAnnotate(f cmdutil.Factory, cmd *cobra.Command) erro
...
@@ -266,9 +266,8 @@ func (o AnnotateOptions) RunAnnotate(f cmdutil.Factory, cmd *cobra.Command) erro
}
}
}
}
mapper
:=
r
.
Mapper
()
.
RESTMapper
if
len
(
o
.
outputFormat
)
>
0
{
if
len
(
o
.
outputFormat
)
>
0
{
return
f
.
PrintObject
(
cmd
,
o
.
local
,
mapper
,
o
utputObj
,
o
.
out
)
return
f
.
PrintObject
(
cmd
,
outputObj
,
o
.
out
)
}
}
f
.
PrintSuccess
(
false
,
o
.
out
,
info
.
Mapping
.
Resource
,
info
.
Name
,
o
.
dryrun
,
"annotated"
)
f
.
PrintSuccess
(
false
,
o
.
out
,
info
.
Mapping
.
Resource
,
info
.
Name
,
o
.
dryrun
,
"annotated"
)
return
nil
return
nil
...
...
pkg/kubectl/cmd/autoscale.go
View file @
dd640568
...
@@ -156,7 +156,7 @@ func RunAutoscale(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []s
...
@@ -156,7 +156,7 @@ func RunAutoscale(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []s
object
=
hpa
.
Object
object
=
hpa
.
Object
}
}
if
cmdutil
.
GetDryRunFlag
(
cmd
)
{
if
cmdutil
.
GetDryRunFlag
(
cmd
)
{
return
f
.
PrintObject
(
cmd
,
false
,
mapper
,
object
,
out
)
return
f
.
PrintObject
(
cmd
,
object
,
out
)
}
}
if
err
:=
kubectl
.
CreateOrUpdateAnnotation
(
cmdutil
.
GetFlagBool
(
cmd
,
cmdutil
.
ApplyAnnotationsFlag
),
hpa
,
f
.
JSONEncoder
());
err
!=
nil
{
if
err
:=
kubectl
.
CreateOrUpdateAnnotation
(
cmdutil
.
GetFlagBool
(
cmd
,
cmdutil
.
ApplyAnnotationsFlag
),
hpa
,
f
.
JSONEncoder
());
err
!=
nil
{
...
@@ -170,7 +170,7 @@ func RunAutoscale(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []s
...
@@ -170,7 +170,7 @@ func RunAutoscale(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []s
count
++
count
++
if
len
(
cmdutil
.
GetFlagString
(
cmd
,
"output"
))
>
0
{
if
len
(
cmdutil
.
GetFlagString
(
cmd
,
"output"
))
>
0
{
return
f
.
PrintObject
(
cmd
,
false
,
mapper
,
object
,
out
)
return
f
.
PrintObject
(
cmd
,
object
,
out
)
}
}
f
.
PrintSuccess
(
false
,
out
,
info
.
Mapping
.
Resource
,
info
.
Name
,
cmdutil
.
GetDryRunFlag
(
cmd
),
"autoscaled"
)
f
.
PrintSuccess
(
false
,
out
,
info
.
Mapping
.
Resource
,
info
.
Name
,
cmdutil
.
GetDryRunFlag
(
cmd
),
"autoscaled"
)
...
...
pkg/kubectl/cmd/cmd_test.go
View file @
dd640568
...
@@ -237,8 +237,7 @@ func Example_printReplicationControllerWithNamespace() {
...
@@ -237,8 +237,7 @@ func Example_printReplicationControllerWithNamespace() {
ReadyReplicas
:
1
,
ReadyReplicas
:
1
,
},
},
}
}
mapper
,
_
:=
f
.
Object
()
err
:=
f
.
PrintObject
(
cmd
,
ctrl
,
os
.
Stdout
)
err
:=
f
.
PrintObject
(
cmd
,
false
,
mapper
,
ctrl
,
os
.
Stdout
)
if
err
!=
nil
{
if
err
!=
nil
{
fmt
.
Printf
(
"Unexpected error: %v"
,
err
)
fmt
.
Printf
(
"Unexpected error: %v"
,
err
)
}
}
...
@@ -291,8 +290,7 @@ func Example_printMultiContainersReplicationControllerWithWide() {
...
@@ -291,8 +290,7 @@ func Example_printMultiContainersReplicationControllerWithWide() {
Replicas
:
1
,
Replicas
:
1
,
},
},
}
}
mapper
,
_
:=
f
.
Object
()
err
:=
f
.
PrintObject
(
cmd
,
ctrl
,
os
.
Stdout
)
err
:=
f
.
PrintObject
(
cmd
,
false
,
mapper
,
ctrl
,
os
.
Stdout
)
if
err
!=
nil
{
if
err
!=
nil
{
fmt
.
Printf
(
"Unexpected error: %v"
,
err
)
fmt
.
Printf
(
"Unexpected error: %v"
,
err
)
}
}
...
@@ -344,8 +342,7 @@ func Example_printReplicationController() {
...
@@ -344,8 +342,7 @@ func Example_printReplicationController() {
Replicas
:
1
,
Replicas
:
1
,
},
},
}
}
mapper
,
_
:=
f
.
Object
()
err
:=
f
.
PrintObject
(
cmd
,
ctrl
,
os
.
Stdout
)
err
:=
f
.
PrintObject
(
cmd
,
false
,
mapper
,
ctrl
,
os
.
Stdout
)
if
err
!=
nil
{
if
err
!=
nil
{
fmt
.
Printf
(
"Unexpected error: %v"
,
err
)
fmt
.
Printf
(
"Unexpected error: %v"
,
err
)
}
}
...
@@ -386,8 +383,7 @@ func Example_printPodWithWideFormat() {
...
@@ -386,8 +383,7 @@ func Example_printPodWithWideFormat() {
PodIP
:
"10.1.1.3"
,
PodIP
:
"10.1.1.3"
,
},
},
}
}
mapper
,
_
:=
f
.
Object
()
err
:=
f
.
PrintObject
(
cmd
,
pod
,
os
.
Stdout
)
err
:=
f
.
PrintObject
(
cmd
,
false
,
mapper
,
pod
,
os
.
Stdout
)
if
err
!=
nil
{
if
err
!=
nil
{
fmt
.
Printf
(
"Unexpected error: %v"
,
err
)
fmt
.
Printf
(
"Unexpected error: %v"
,
err
)
}
}
...
@@ -431,8 +427,7 @@ func Example_printPodWithShowLabels() {
...
@@ -431,8 +427,7 @@ func Example_printPodWithShowLabels() {
},
},
},
},
}
}
mapper
,
_
:=
f
.
Object
()
err
:=
f
.
PrintObject
(
cmd
,
pod
,
os
.
Stdout
)
err
:=
f
.
PrintObject
(
cmd
,
false
,
mapper
,
pod
,
os
.
Stdout
)
if
err
!=
nil
{
if
err
!=
nil
{
fmt
.
Printf
(
"Unexpected error: %v"
,
err
)
fmt
.
Printf
(
"Unexpected error: %v"
,
err
)
}
}
...
@@ -554,8 +549,7 @@ func Example_printPodHideTerminated() {
...
@@ -554,8 +549,7 @@ func Example_printPodHideTerminated() {
fmt
.
Printf
(
"Unexpected filter error: %v
\n
"
,
errs
)
fmt
.
Printf
(
"Unexpected filter error: %v
\n
"
,
errs
)
}
}
for
_
,
pod
:=
range
filteredPodList
{
for
_
,
pod
:=
range
filteredPodList
{
mapper
,
_
:=
f
.
Object
()
err
:=
f
.
PrintObject
(
cmd
,
pod
,
os
.
Stdout
)
err
:=
f
.
PrintObject
(
cmd
,
false
,
mapper
,
pod
,
os
.
Stdout
)
if
err
!=
nil
{
if
err
!=
nil
{
fmt
.
Printf
(
"Unexpected error: %v"
,
err
)
fmt
.
Printf
(
"Unexpected error: %v"
,
err
)
}
}
...
@@ -581,8 +575,7 @@ func Example_printPodShowAll() {
...
@@ -581,8 +575,7 @@ func Example_printPodShowAll() {
}
}
cmd
:=
NewCmdRun
(
f
,
os
.
Stdin
,
os
.
Stdout
,
os
.
Stderr
)
cmd
:=
NewCmdRun
(
f
,
os
.
Stdin
,
os
.
Stdout
,
os
.
Stderr
)
podList
:=
newAllPhasePodList
()
podList
:=
newAllPhasePodList
()
mapper
,
_
:=
f
.
Object
()
err
:=
f
.
PrintObject
(
cmd
,
podList
,
os
.
Stdout
)
err
:=
f
.
PrintObject
(
cmd
,
false
,
mapper
,
podList
,
os
.
Stdout
)
if
err
!=
nil
{
if
err
!=
nil
{
fmt
.
Printf
(
"Unexpected error: %v"
,
err
)
fmt
.
Printf
(
"Unexpected error: %v"
,
err
)
}
}
...
@@ -657,8 +650,7 @@ func Example_printServiceWithNamespacesAndLabels() {
...
@@ -657,8 +650,7 @@ func Example_printServiceWithNamespacesAndLabels() {
}
}
ld
:=
strings
.
NewLineDelimiter
(
os
.
Stdout
,
"|"
)
ld
:=
strings
.
NewLineDelimiter
(
os
.
Stdout
,
"|"
)
defer
ld
.
Flush
()
defer
ld
.
Flush
()
mapper
,
_
:=
f
.
Object
()
err
:=
f
.
PrintObject
(
cmd
,
svc
,
ld
)
err
:=
f
.
PrintObject
(
cmd
,
false
,
mapper
,
svc
,
ld
)
if
err
!=
nil
{
if
err
!=
nil
{
fmt
.
Printf
(
"Unexpected error: %v"
,
err
)
fmt
.
Printf
(
"Unexpected error: %v"
,
err
)
}
}
...
...
pkg/kubectl/cmd/config/view.go
View file @
dd640568
...
@@ -82,7 +82,6 @@ func NewCmdConfigView(f cmdutil.Factory, out, errOut io.Writer, ConfigAccess cli
...
@@ -82,7 +82,6 @@ func NewCmdConfigView(f cmdutil.Factory, out, errOut io.Writer, ConfigAccess cli
printOpts
:=
cmdutil
.
ExtractCmdPrintOptions
(
cmd
,
false
)
printOpts
:=
cmdutil
.
ExtractCmdPrintOptions
(
cmd
,
false
)
printer
,
err
:=
f
.
PrinterForOptions
(
printOpts
)
printer
,
err
:=
f
.
PrinterForOptions
(
printOpts
)
cmdutil
.
CheckErr
(
err
)
cmdutil
.
CheckErr
(
err
)
printer
=
printers
.
NewVersionedPrinter
(
printer
,
latest
.
Scheme
,
latest
.
ExternalVersion
)
cmdutil
.
CheckErr
(
options
.
Run
(
out
,
printer
))
cmdutil
.
CheckErr
(
options
.
Run
(
out
,
printer
))
},
},
...
@@ -120,7 +119,12 @@ func (o ViewOptions) Run(out io.Writer, printer printers.ResourcePrinter) error
...
@@ -120,7 +119,12 @@ func (o ViewOptions) Run(out io.Writer, printer printers.ResourcePrinter) error
clientcmdapi
.
ShortenConfig
(
config
)
clientcmdapi
.
ShortenConfig
(
config
)
}
}
err
=
printer
.
PrintObj
(
config
,
out
)
convertedObj
,
err
:=
latest
.
Scheme
.
ConvertToVersion
(
config
,
latest
.
ExternalVersion
)
if
err
!=
nil
{
return
err
}
err
=
printer
.
PrintObj
(
convertedObj
,
out
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
...
...
pkg/kubectl/cmd/create.go
View file @
dd640568
...
@@ -360,5 +360,5 @@ func RunCreateSubcommand(f cmdutil.Factory, cmd *cobra.Command, out io.Writer, o
...
@@ -360,5 +360,5 @@ func RunCreateSubcommand(f cmdutil.Factory, cmd *cobra.Command, out io.Writer, o
return
nil
return
nil
}
}
return
f
.
PrintObject
(
cmd
,
false
,
mapper
,
obj
,
out
)
return
f
.
PrintObject
(
cmd
,
obj
,
out
)
}
}
pkg/kubectl/cmd/create_role.go
View file @
dd640568
...
@@ -206,7 +206,7 @@ func (c *CreateRoleOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args
...
@@ -206,7 +206,7 @@ func (c *CreateRoleOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args
}
}
c
.
PrintObject
=
func
(
obj
runtime
.
Object
)
error
{
c
.
PrintObject
=
func
(
obj
runtime
.
Object
)
error
{
return
f
.
PrintObject
(
cmd
,
false
,
c
.
Mapper
,
obj
,
c
.
Out
)
return
f
.
PrintObject
(
cmd
,
obj
,
c
.
Out
)
}
}
clientset
,
err
:=
f
.
KubernetesClientSet
()
clientset
,
err
:=
f
.
KubernetesClientSet
()
...
...
pkg/kubectl/cmd/expose.go
View file @
dd640568
...
@@ -255,7 +255,7 @@ func RunExpose(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []stri
...
@@ -255,7 +255,7 @@ func RunExpose(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []stri
info
.
Refresh
(
object
,
true
)
info
.
Refresh
(
object
,
true
)
if
cmdutil
.
GetDryRunFlag
(
cmd
)
{
if
cmdutil
.
GetDryRunFlag
(
cmd
)
{
if
len
(
cmdutil
.
GetFlagString
(
cmd
,
"output"
))
>
0
{
if
len
(
cmdutil
.
GetFlagString
(
cmd
,
"output"
))
>
0
{
return
f
.
PrintObject
(
cmd
,
false
,
mapper
,
object
,
out
)
return
f
.
PrintObject
(
cmd
,
object
,
out
)
}
}
f
.
PrintSuccess
(
false
,
out
,
info
.
Mapping
.
Resource
,
info
.
Name
,
true
,
"exposed"
)
f
.
PrintSuccess
(
false
,
out
,
info
.
Mapping
.
Resource
,
info
.
Name
,
true
,
"exposed"
)
return
nil
return
nil
...
@@ -271,7 +271,7 @@ func RunExpose(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []stri
...
@@ -271,7 +271,7 @@ func RunExpose(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []stri
}
}
if
len
(
cmdutil
.
GetFlagString
(
cmd
,
"output"
))
>
0
{
if
len
(
cmdutil
.
GetFlagString
(
cmd
,
"output"
))
>
0
{
return
f
.
PrintObject
(
cmd
,
false
,
mapper
,
object
,
out
)
return
f
.
PrintObject
(
cmd
,
object
,
out
)
}
}
f
.
PrintSuccess
(
false
,
out
,
info
.
Mapping
.
Resource
,
info
.
Name
,
false
,
"exposed"
)
f
.
PrintSuccess
(
false
,
out
,
info
.
Mapping
.
Resource
,
info
.
Name
,
false
,
"exposed"
)
...
...
pkg/kubectl/cmd/label.go
View file @
dd640568
...
@@ -288,7 +288,7 @@ func (o *LabelOptions) RunLabel(f cmdutil.Factory, cmd *cobra.Command) error {
...
@@ -288,7 +288,7 @@ func (o *LabelOptions) RunLabel(f cmdutil.Factory, cmd *cobra.Command) error {
}
}
if
len
(
o
.
outputFormat
)
>
0
{
if
len
(
o
.
outputFormat
)
>
0
{
return
f
.
PrintObject
(
cmd
,
o
.
local
,
r
.
Mapper
()
.
RESTMapper
,
o
utputObj
,
o
.
out
)
return
f
.
PrintObject
(
cmd
,
outputObj
,
o
.
out
)
}
}
f
.
PrintSuccess
(
false
,
o
.
out
,
info
.
Mapping
.
Resource
,
info
.
Name
,
o
.
dryrun
,
dataChangeMsg
)
f
.
PrintSuccess
(
false
,
o
.
out
,
info
.
Mapping
.
Resource
,
info
.
Name
,
o
.
dryrun
,
dataChangeMsg
)
return
nil
return
nil
...
...
pkg/kubectl/cmd/resource/BUILD
View file @
dd640568
...
@@ -22,6 +22,7 @@ go_library(
...
@@ -22,6 +22,7 @@ go_library(
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/util/errors:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/util/errors:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/watch:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/watch:go_default_library",
...
...
pkg/kubectl/cmd/resource/get.go
View file @
dd640568
...
@@ -32,6 +32,7 @@ import (
...
@@ -32,6 +32,7 @@ import (
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
utilerrors
"k8s.io/apimachinery/pkg/util/errors"
utilerrors
"k8s.io/apimachinery/pkg/util/errors"
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/apimachinery/pkg/watch"
"k8s.io/apimachinery/pkg/watch"
...
@@ -340,7 +341,7 @@ func (options *GetOptions) Run(f cmdutil.Factory, cmd *cobra.Command, args []str
...
@@ -340,7 +341,7 @@ func (options *GetOptions) Run(f cmdutil.Factory, cmd *cobra.Command, args []str
updatePrintOptionsForOpenAPI
(
f
,
mapping
,
printOpts
)
updatePrintOptionsForOpenAPI
(
f
,
mapping
,
printOpts
)
}
}
printer
,
err
=
f
.
PrinterForMapping
(
printOpts
,
mapping
)
printer
,
err
=
f
.
PrinterForMapping
(
printOpts
)
if
err
!=
nil
{
if
err
!=
nil
{
if
!
errs
.
Has
(
err
.
Error
())
{
if
!
errs
.
Has
(
err
.
Error
())
{
errs
.
Insert
(
err
.
Error
())
errs
.
Insert
(
err
.
Error
())
...
@@ -493,7 +494,7 @@ func (options *GetOptions) watch(f cmdutil.Factory, cmd *cobra.Command, args []s
...
@@ -493,7 +494,7 @@ func (options *GetOptions) watch(f cmdutil.Factory, cmd *cobra.Command, args []s
info
:=
infos
[
0
]
info
:=
infos
[
0
]
mapping
:=
info
.
ResourceMapping
()
mapping
:=
info
.
ResourceMapping
()
printOpts
:=
cmdutil
.
ExtractCmdPrintOptions
(
cmd
,
options
.
AllNamespaces
)
printOpts
:=
cmdutil
.
ExtractCmdPrintOptions
(
cmd
,
options
.
AllNamespaces
)
printer
,
err
:=
f
.
PrinterForMapping
(
printOpts
,
mapping
)
printer
,
err
:=
f
.
PrinterForMapping
(
printOpts
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
...
@@ -531,7 +532,13 @@ func (options *GetOptions) watch(f cmdutil.Factory, cmd *cobra.Command, args []s
...
@@ -531,7 +532,13 @@ func (options *GetOptions) watch(f cmdutil.Factory, cmd *cobra.Command, args []s
if
isFiltered
,
err
:=
filterFuncs
.
Filter
(
objToPrint
,
filterOpts
);
!
isFiltered
{
if
isFiltered
,
err
:=
filterFuncs
.
Filter
(
objToPrint
,
filterOpts
);
!
isFiltered
{
if
err
!=
nil
{
if
err
!=
nil
{
glog
.
V
(
2
)
.
Infof
(
"Unable to filter resource: %v"
,
err
)
glog
.
V
(
2
)
.
Infof
(
"Unable to filter resource: %v"
,
err
)
}
else
if
err
:=
printer
.
PrintObj
(
objToPrint
,
writer
);
err
!=
nil
{
continue
}
// printing always takes the internal version, but the watch event uses externals
// TODO fix printing to use server-side or be version agnostic
internalGV
:=
mapping
.
GroupVersionKind
.
GroupKind
()
.
WithVersion
(
runtime
.
APIVersionInternal
)
.
GroupVersion
()
if
err
:=
printer
.
PrintObj
(
attemptToConvertToInternal
(
objToPrint
,
mapping
,
internalGV
),
writer
);
err
!=
nil
{
return
fmt
.
Errorf
(
"unable to output the provided object: %v"
,
err
)
return
fmt
.
Errorf
(
"unable to output the provided object: %v"
,
err
)
}
}
}
}
...
@@ -558,7 +565,13 @@ func (options *GetOptions) watch(f cmdutil.Factory, cmd *cobra.Command, args []s
...
@@ -558,7 +565,13 @@ func (options *GetOptions) watch(f cmdutil.Factory, cmd *cobra.Command, args []s
if
isFiltered
,
err
:=
filterFuncs
.
Filter
(
e
.
Object
,
filterOpts
);
!
isFiltered
{
if
isFiltered
,
err
:=
filterFuncs
.
Filter
(
e
.
Object
,
filterOpts
);
!
isFiltered
{
if
err
!=
nil
{
if
err
!=
nil
{
glog
.
V
(
2
)
.
Infof
(
"Unable to filter resource: %v"
,
err
)
glog
.
V
(
2
)
.
Infof
(
"Unable to filter resource: %v"
,
err
)
}
else
if
err
:=
printer
.
PrintObj
(
e
.
Object
,
options
.
Out
);
err
!=
nil
{
return
false
,
nil
}
// printing always takes the internal version, but the watch event uses externals
// TODO fix printing to use server-side or be version agnostic
internalGV
:=
mapping
.
GroupVersionKind
.
GroupKind
()
.
WithVersion
(
runtime
.
APIVersionInternal
)
.
GroupVersion
()
if
err
:=
printer
.
PrintObj
(
attemptToConvertToInternal
(
e
.
Object
,
mapping
,
internalGV
),
options
.
Out
);
err
!=
nil
{
return
false
,
err
return
false
,
err
}
}
}
}
...
@@ -569,6 +582,16 @@ func (options *GetOptions) watch(f cmdutil.Factory, cmd *cobra.Command, args []s
...
@@ -569,6 +582,16 @@ func (options *GetOptions) watch(f cmdutil.Factory, cmd *cobra.Command, args []s
return
nil
return
nil
}
}
// attemptToConvertToInternal tries to convert to an internal type, but returns the original if it can't
func
attemptToConvertToInternal
(
obj
runtime
.
Object
,
converter
runtime
.
ObjectConvertor
,
targetVersion
schema
.
GroupVersion
)
runtime
.
Object
{
internalObject
,
err
:=
converter
.
ConvertToVersion
(
obj
,
targetVersion
)
if
err
!=
nil
{
glog
.
V
(
1
)
.
Infof
(
"Unable to convert %T to %v: err"
,
obj
,
targetVersion
,
err
)
return
obj
}
return
internalObject
}
func
(
options
*
GetOptions
)
printGeneric
(
printer
printers
.
ResourcePrinter
,
r
*
resource
.
Result
,
filterFuncs
kubectl
.
Filters
,
filterOpts
*
printers
.
PrintOptions
)
error
{
func
(
options
*
GetOptions
)
printGeneric
(
printer
printers
.
ResourcePrinter
,
r
*
resource
.
Result
,
filterFuncs
kubectl
.
Filters
,
filterOpts
*
printers
.
PrintOptions
)
error
{
// we flattened the data from the builder, so we have individual items, but now we'd like to either:
// we flattened the data from the builder, so we have individual items, but now we'd like to either:
// 1. if there is more than one item, combine them all into a single list
// 1. if there is more than one item, combine them all into a single list
...
...
pkg/kubectl/cmd/rollingupdate.go
View file @
dd640568
...
@@ -191,8 +191,6 @@ func RunRollingUpdate(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args
...
@@ -191,8 +191,6 @@ func RunRollingUpdate(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args
var
keepOldName
bool
var
keepOldName
bool
var
replicasDefaulted
bool
var
replicasDefaulted
bool
mapper
,
_
:=
f
.
Object
()
if
len
(
filename
)
!=
0
{
if
len
(
filename
)
!=
0
{
schema
,
err
:=
f
.
Validator
(
cmdutil
.
GetFlagBool
(
cmd
,
"validate"
))
schema
,
err
:=
f
.
Validator
(
cmdutil
.
GetFlagBool
(
cmd
,
"validate"
))
if
err
!=
nil
{
if
err
!=
nil
{
...
@@ -322,10 +320,10 @@ func RunRollingUpdate(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args
...
@@ -322,10 +320,10 @@ func RunRollingUpdate(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args
oldRcData
.
WriteString
(
oldRc
.
Name
)
oldRcData
.
WriteString
(
oldRc
.
Name
)
newRcData
.
WriteString
(
newRc
.
Name
)
newRcData
.
WriteString
(
newRc
.
Name
)
}
else
{
}
else
{
if
err
:=
f
.
PrintObject
(
cmd
,
false
,
mapper
,
oldRc
,
oldRcData
);
err
!=
nil
{
if
err
:=
f
.
PrintObject
(
cmd
,
oldRc
,
oldRcData
);
err
!=
nil
{
return
err
return
err
}
}
if
err
:=
f
.
PrintObject
(
cmd
,
false
,
mapper
,
newRc
,
newRcData
);
err
!=
nil
{
if
err
:=
f
.
PrintObject
(
cmd
,
newRc
,
newRcData
);
err
!=
nil
{
return
err
return
err
}
}
}
}
...
@@ -370,7 +368,7 @@ func RunRollingUpdate(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args
...
@@ -370,7 +368,7 @@ func RunRollingUpdate(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args
return
err
return
err
}
}
if
outputFormat
!=
""
{
if
outputFormat
!=
""
{
return
f
.
PrintObject
(
cmd
,
false
,
mapper
,
newRc
,
out
)
return
f
.
PrintObject
(
cmd
,
newRc
,
out
)
}
}
f
.
PrintSuccess
(
false
,
out
,
"replicationcontrollers"
,
oldName
,
dryrun
,
message
)
f
.
PrintSuccess
(
false
,
out
,
"replicationcontrollers"
,
oldName
,
dryrun
,
message
)
return
nil
return
nil
...
...
pkg/kubectl/cmd/run.go
View file @
dd640568
...
@@ -407,7 +407,7 @@ func RunRun(f cmdutil.Factory, cmdIn io.Reader, cmdOut, cmdErr io.Writer, cmd *c
...
@@ -407,7 +407,7 @@ func RunRun(f cmdutil.Factory, cmdIn io.Reader, cmdOut, cmdErr io.Writer, cmd *c
if
runObject
!=
nil
{
if
runObject
!=
nil
{
outputFormat
:=
cmdutil
.
GetFlagString
(
cmd
,
"output"
)
outputFormat
:=
cmdutil
.
GetFlagString
(
cmd
,
"output"
)
if
outputFormat
!=
""
||
cmdutil
.
GetDryRunFlag
(
cmd
)
{
if
outputFormat
!=
""
||
cmdutil
.
GetDryRunFlag
(
cmd
)
{
return
f
.
PrintObject
(
cmd
,
false
,
runObject
.
Mapper
,
runObject
.
Object
,
cmdOut
)
return
f
.
PrintObject
(
cmd
,
runObject
.
Object
,
cmdOut
)
}
}
f
.
PrintSuccess
(
false
,
cmdOut
,
runObject
.
Mapping
.
Resource
,
args
[
0
],
cmdutil
.
GetDryRunFlag
(
cmd
),
"created"
)
f
.
PrintSuccess
(
false
,
cmdOut
,
runObject
.
Mapping
.
Resource
,
args
[
0
],
cmdutil
.
GetDryRunFlag
(
cmd
),
"created"
)
}
}
...
@@ -557,7 +557,7 @@ func generateService(f cmdutil.Factory, cmd *cobra.Command, args []string, servi
...
@@ -557,7 +557,7 @@ func generateService(f cmdutil.Factory, cmd *cobra.Command, args []string, servi
}
}
if
cmdutil
.
GetFlagString
(
cmd
,
"output"
)
!=
""
||
cmdutil
.
GetDryRunFlag
(
cmd
)
{
if
cmdutil
.
GetFlagString
(
cmd
,
"output"
)
!=
""
||
cmdutil
.
GetDryRunFlag
(
cmd
)
{
err
:=
f
.
PrintObject
(
cmd
,
false
,
runObject
.
Mapper
,
runObject
.
Object
,
out
)
err
:=
f
.
PrintObject
(
cmd
,
runObject
.
Object
,
out
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
...
...
pkg/kubectl/cmd/set/BUILD
View file @
dd640568
...
@@ -59,6 +59,7 @@ go_test(
...
@@ -59,6 +59,7 @@ go_test(
embed = [":go_default_library"],
embed = [":go_default_library"],
importpath = "k8s.io/kubernetes/pkg/kubectl/cmd/set",
importpath = "k8s.io/kubernetes/pkg/kubectl/cmd/set",
deps = [
deps = [
"//pkg/api/legacyscheme:go_default_library",
"//pkg/api/testapi:go_default_library",
"//pkg/api/testapi:go_default_library",
"//pkg/apis/rbac:go_default_library",
"//pkg/apis/rbac:go_default_library",
"//pkg/kubectl/categories:go_default_library",
"//pkg/kubectl/categories:go_default_library",
...
...
pkg/kubectl/cmd/set/set_env.go
View file @
dd640568
...
@@ -26,7 +26,6 @@ import (
...
@@ -26,7 +26,6 @@ import (
"github.com/spf13/cobra"
"github.com/spf13/cobra"
"k8s.io/api/core/v1"
"k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/meta"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/types"
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/kubernetes"
...
@@ -116,7 +115,6 @@ type EnvOptions struct {
...
@@ -116,7 +115,6 @@ type EnvOptions struct {
From
string
From
string
Prefix
string
Prefix
string
Mapper
meta
.
RESTMapper
Builder
*
resource
.
Builder
Builder
*
resource
.
Builder
Infos
[]
*
resource
.
Info
Infos
[]
*
resource
.
Info
Encoder
runtime
.
Encoder
Encoder
runtime
.
Encoder
...
@@ -124,7 +122,7 @@ type EnvOptions struct {
...
@@ -124,7 +122,7 @@ type EnvOptions struct {
Cmd
*
cobra
.
Command
Cmd
*
cobra
.
Command
UpdatePodSpecForObject
func
(
obj
runtime
.
Object
,
fn
func
(
*
v1
.
PodSpec
)
error
)
(
bool
,
error
)
UpdatePodSpecForObject
func
(
obj
runtime
.
Object
,
fn
func
(
*
v1
.
PodSpec
)
error
)
(
bool
,
error
)
PrintObject
func
(
cmd
*
cobra
.
Command
,
isLocal
bool
,
mapper
meta
.
RESTMapper
,
obj
runtime
.
Object
,
out
io
.
Writer
)
error
PrintObject
func
(
cmd
*
cobra
.
Command
,
obj
runtime
.
Object
,
out
io
.
Writer
)
error
}
}
// NewCmdEnv implements the OpenShift cli env command
// NewCmdEnv implements the OpenShift cli env command
...
@@ -189,7 +187,6 @@ func (o *EnvOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args []stri
...
@@ -189,7 +187,6 @@ func (o *EnvOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args []stri
return
cmdutil
.
UsageErrorf
(
cmd
,
"one or more resources must be specified as <resource> <name> or <resource>/<name>"
)
return
cmdutil
.
UsageErrorf
(
cmd
,
"one or more resources must be specified as <resource> <name> or <resource>/<name>"
)
}
}
o
.
Mapper
,
_
=
f
.
Object
()
o
.
UpdatePodSpecForObject
=
f
.
UpdatePodSpecForObject
o
.
UpdatePodSpecForObject
=
f
.
UpdatePodSpecForObject
o
.
Encoder
=
f
.
JSONEncoder
()
o
.
Encoder
=
f
.
JSONEncoder
()
o
.
ContainerSelector
=
cmdutil
.
GetFlagString
(
cmd
,
"containers"
)
o
.
ContainerSelector
=
cmdutil
.
GetFlagString
(
cmd
,
"containers"
)
...
@@ -417,7 +414,7 @@ func (o *EnvOptions) RunEnv(f cmdutil.Factory) error {
...
@@ -417,7 +414,7 @@ func (o *EnvOptions) RunEnv(f cmdutil.Factory) error {
}
}
if
o
.
PrintObject
!=
nil
&&
(
o
.
Local
||
o
.
DryRun
)
{
if
o
.
PrintObject
!=
nil
&&
(
o
.
Local
||
o
.
DryRun
)
{
if
err
:=
o
.
PrintObject
(
o
.
Cmd
,
o
.
Local
,
o
.
Mapper
,
patch
.
Info
.
AsVersioned
(),
o
.
Out
);
err
!=
nil
{
if
err
:=
o
.
PrintObject
(
o
.
Cmd
,
patch
.
Info
.
AsVersioned
(),
o
.
Out
);
err
!=
nil
{
return
err
return
err
}
}
continue
continue
...
@@ -437,7 +434,7 @@ func (o *EnvOptions) RunEnv(f cmdutil.Factory) error {
...
@@ -437,7 +434,7 @@ func (o *EnvOptions) RunEnv(f cmdutil.Factory) error {
}
}
if
len
(
o
.
Output
)
>
0
{
if
len
(
o
.
Output
)
>
0
{
if
err
:=
o
.
PrintObject
(
o
.
Cmd
,
o
.
Local
,
o
.
Mapper
,
info
.
AsVersioned
(),
o
.
Out
);
err
!=
nil
{
if
err
:=
o
.
PrintObject
(
o
.
Cmd
,
info
.
AsVersioned
(),
o
.
Out
);
err
!=
nil
{
return
err
return
err
}
}
continue
continue
...
...
pkg/kubectl/cmd/set/set_env_test.go
View file @
dd640568
...
@@ -38,6 +38,7 @@ import (
...
@@ -38,6 +38,7 @@ import (
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/runtime/schema"
restclient
"k8s.io/client-go/rest"
restclient
"k8s.io/client-go/rest"
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/api/testapi"
"k8s.io/kubernetes/pkg/api/testapi"
"k8s.io/kubernetes/pkg/kubectl/categories"
"k8s.io/kubernetes/pkg/kubectl/categories"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
...
@@ -435,7 +436,7 @@ func TestSetEnvRemote(t *testing.T) {
...
@@ -435,7 +436,7 @@ func TestSetEnvRemote(t *testing.T) {
testapi
.
Default
=
testapi
.
Groups
[
input
.
testAPIGroup
]
testapi
.
Default
=
testapi
.
Groups
[
input
.
testAPIGroup
]
f
,
tf
,
_
,
ns
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
_
,
ns
:=
cmdtesting
.
NewAPIFactory
()
codec
:=
scheme
.
Codecs
.
CodecForVersions
(
scheme
.
Codecs
.
LegacyCodec
(
groupVersion
),
scheme
.
Codecs
.
UniversalDecoder
(
groupVersion
),
groupVersion
,
groupVersion
)
codec
:=
scheme
.
Codecs
.
CodecForVersions
(
scheme
.
Codecs
.
LegacyCodec
(
groupVersion
),
scheme
.
Codecs
.
UniversalDecoder
(
groupVersion
),
groupVersion
,
groupVersion
)
tf
.
Printer
=
printers
.
NewVersionedPrinter
(
&
printers
.
YAMLPrinter
{},
testapi
.
Default
.
Converter
(),
*
testapi
.
Default
.
GroupVersion
()
)
tf
.
Printer
=
printers
.
NewVersionedPrinter
(
&
printers
.
YAMLPrinter
{},
legacyscheme
.
Scheme
,
legacyscheme
.
Scheme
,
scheme
.
Versions
...
)
tf
.
Namespace
=
"test"
tf
.
Namespace
=
"test"
tf
.
CategoryExpander
=
categories
.
LegacyCategoryExpander
tf
.
CategoryExpander
=
categories
.
LegacyCategoryExpander
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
...
...
pkg/kubectl/cmd/set/set_image.go
View file @
dd640568
...
@@ -22,7 +22,6 @@ import (
...
@@ -22,7 +22,6 @@ import (
"github.com/spf13/cobra"
"github.com/spf13/cobra"
"k8s.io/api/core/v1"
"k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/meta"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/types"
utilerrors
"k8s.io/apimachinery/pkg/util/errors"
utilerrors
"k8s.io/apimachinery/pkg/util/errors"
...
@@ -37,7 +36,6 @@ import (
...
@@ -37,7 +36,6 @@ import (
type
ImageOptions
struct
{
type
ImageOptions
struct
{
resource
.
FilenameOptions
resource
.
FilenameOptions
Mapper
meta
.
RESTMapper
Infos
[]
*
resource
.
Info
Infos
[]
*
resource
.
Info
Encoder
runtime
.
Encoder
Encoder
runtime
.
Encoder
Decoder
runtime
.
Decoder
Decoder
runtime
.
Decoder
...
@@ -55,7 +53,7 @@ type ImageOptions struct {
...
@@ -55,7 +53,7 @@ type ImageOptions struct {
ResolveImage
func
(
in
string
)
(
string
,
error
)
ResolveImage
func
(
in
string
)
(
string
,
error
)
PrintSuccess
func
(
shortOutput
bool
,
out
io
.
Writer
,
resource
,
name
string
,
dryRun
bool
,
operation
string
)
PrintSuccess
func
(
shortOutput
bool
,
out
io
.
Writer
,
resource
,
name
string
,
dryRun
bool
,
operation
string
)
PrintObject
func
(
cmd
*
cobra
.
Command
,
isLocal
bool
,
mapper
meta
.
RESTMapper
,
obj
runtime
.
Object
,
out
io
.
Writer
)
error
PrintObject
func
(
cmd
*
cobra
.
Command
,
obj
runtime
.
Object
,
out
io
.
Writer
)
error
UpdatePodSpecForObject
func
(
obj
runtime
.
Object
,
fn
func
(
*
v1
.
PodSpec
)
error
)
(
bool
,
error
)
UpdatePodSpecForObject
func
(
obj
runtime
.
Object
,
fn
func
(
*
v1
.
PodSpec
)
error
)
(
bool
,
error
)
Resources
[]
string
Resources
[]
string
ContainerImages
map
[
string
]
string
ContainerImages
map
[
string
]
string
...
@@ -117,7 +115,6 @@ func NewCmdImage(f cmdutil.Factory, out, err io.Writer) *cobra.Command {
...
@@ -117,7 +115,6 @@ func NewCmdImage(f cmdutil.Factory, out, err io.Writer) *cobra.Command {
}
}
func
(
o
*
ImageOptions
)
Complete
(
f
cmdutil
.
Factory
,
cmd
*
cobra
.
Command
,
args
[]
string
)
error
{
func
(
o
*
ImageOptions
)
Complete
(
f
cmdutil
.
Factory
,
cmd
*
cobra
.
Command
,
args
[]
string
)
error
{
o
.
Mapper
,
_
=
f
.
Object
()
o
.
PrintSuccess
=
f
.
PrintSuccess
o
.
PrintSuccess
=
f
.
PrintSuccess
o
.
UpdatePodSpecForObject
=
f
.
UpdatePodSpecForObject
o
.
UpdatePodSpecForObject
=
f
.
UpdatePodSpecForObject
o
.
Encoder
=
f
.
JSONEncoder
()
o
.
Encoder
=
f
.
JSONEncoder
()
...
@@ -249,7 +246,7 @@ func (o *ImageOptions) Run() error {
...
@@ -249,7 +246,7 @@ func (o *ImageOptions) Run() error {
}
}
if
o
.
PrintObject
!=
nil
&&
(
o
.
Local
||
o
.
DryRun
)
{
if
o
.
PrintObject
!=
nil
&&
(
o
.
Local
||
o
.
DryRun
)
{
if
err
:=
o
.
PrintObject
(
o
.
Cmd
,
o
.
Local
,
o
.
Mapper
,
patch
.
Info
.
AsVersioned
(),
o
.
Out
);
err
!=
nil
{
if
err
:=
o
.
PrintObject
(
o
.
Cmd
,
patch
.
Info
.
AsVersioned
(),
o
.
Out
);
err
!=
nil
{
return
err
return
err
}
}
continue
continue
...
@@ -275,7 +272,7 @@ func (o *ImageOptions) Run() error {
...
@@ -275,7 +272,7 @@ func (o *ImageOptions) Run() error {
info
.
Refresh
(
obj
,
true
)
info
.
Refresh
(
obj
,
true
)
if
len
(
o
.
Output
)
>
0
{
if
len
(
o
.
Output
)
>
0
{
if
err
:=
o
.
PrintObject
(
o
.
Cmd
,
o
.
Local
,
o
.
Mapper
,
info
.
AsVersioned
(),
o
.
Out
);
err
!=
nil
{
if
err
:=
o
.
PrintObject
(
o
.
Cmd
,
info
.
AsVersioned
(),
o
.
Out
);
err
!=
nil
{
return
err
return
err
}
}
continue
continue
...
...
pkg/kubectl/cmd/set/set_image_test.go
View file @
dd640568
...
@@ -37,6 +37,7 @@ import (
...
@@ -37,6 +37,7 @@ import (
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/runtime/schema"
restclient
"k8s.io/client-go/rest"
restclient
"k8s.io/client-go/rest"
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/api/testapi"
"k8s.io/kubernetes/pkg/api/testapi"
"k8s.io/kubernetes/pkg/kubectl/categories"
"k8s.io/kubernetes/pkg/kubectl/categories"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
...
@@ -502,7 +503,7 @@ func TestSetImageRemote(t *testing.T) {
...
@@ -502,7 +503,7 @@ func TestSetImageRemote(t *testing.T) {
testapi
.
Default
=
testapi
.
Groups
[
input
.
testAPIGroup
]
testapi
.
Default
=
testapi
.
Groups
[
input
.
testAPIGroup
]
f
,
tf
,
_
,
ns
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
_
,
ns
:=
cmdtesting
.
NewAPIFactory
()
codec
:=
scheme
.
Codecs
.
CodecForVersions
(
scheme
.
Codecs
.
LegacyCodec
(
groupVersion
),
scheme
.
Codecs
.
UniversalDecoder
(
groupVersion
),
groupVersion
,
groupVersion
)
codec
:=
scheme
.
Codecs
.
CodecForVersions
(
scheme
.
Codecs
.
LegacyCodec
(
groupVersion
),
scheme
.
Codecs
.
UniversalDecoder
(
groupVersion
),
groupVersion
,
groupVersion
)
tf
.
Printer
=
printers
.
NewVersionedPrinter
(
&
printers
.
YAMLPrinter
{},
testapi
.
Default
.
Converter
(),
*
testapi
.
Default
.
GroupVersion
()
)
tf
.
Printer
=
printers
.
NewVersionedPrinter
(
&
printers
.
YAMLPrinter
{},
legacyscheme
.
Scheme
,
legacyscheme
.
Scheme
,
scheme
.
Versions
...
)
tf
.
Namespace
=
"test"
tf
.
Namespace
=
"test"
tf
.
CategoryExpander
=
categories
.
LegacyCategoryExpander
tf
.
CategoryExpander
=
categories
.
LegacyCategoryExpander
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
...
...
pkg/kubectl/cmd/set/set_resources.go
View file @
dd640568
...
@@ -23,7 +23,6 @@ import (
...
@@ -23,7 +23,6 @@ import (
"github.com/spf13/cobra"
"github.com/spf13/cobra"
"k8s.io/api/core/v1"
"k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/meta"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/types"
...
@@ -62,7 +61,6 @@ var (
...
@@ -62,7 +61,6 @@ var (
type
ResourcesOptions
struct
{
type
ResourcesOptions
struct
{
resource
.
FilenameOptions
resource
.
FilenameOptions
Mapper
meta
.
RESTMapper
Infos
[]
*
resource
.
Info
Infos
[]
*
resource
.
Info
Encoder
runtime
.
Encoder
Encoder
runtime
.
Encoder
Out
io
.
Writer
Out
io
.
Writer
...
@@ -81,7 +79,7 @@ type ResourcesOptions struct {
...
@@ -81,7 +79,7 @@ type ResourcesOptions struct {
ResourceRequirements
v1
.
ResourceRequirements
ResourceRequirements
v1
.
ResourceRequirements
PrintSuccess
func
(
shortOutput
bool
,
out
io
.
Writer
,
resource
,
name
string
,
dryRun
bool
,
operation
string
)
PrintSuccess
func
(
shortOutput
bool
,
out
io
.
Writer
,
resource
,
name
string
,
dryRun
bool
,
operation
string
)
PrintObject
func
(
cmd
*
cobra
.
Command
,
isLocal
bool
,
mapper
meta
.
RESTMapper
,
obj
runtime
.
Object
,
out
io
.
Writer
)
error
PrintObject
func
(
cmd
*
cobra
.
Command
,
obj
runtime
.
Object
,
out
io
.
Writer
)
error
UpdatePodSpecForObject
func
(
obj
runtime
.
Object
,
fn
func
(
*
v1
.
PodSpec
)
error
)
(
bool
,
error
)
UpdatePodSpecForObject
func
(
obj
runtime
.
Object
,
fn
func
(
*
v1
.
PodSpec
)
error
)
(
bool
,
error
)
Resources
[]
string
Resources
[]
string
}
}
...
@@ -128,7 +126,6 @@ func NewCmdResources(f cmdutil.Factory, out io.Writer, errOut io.Writer) *cobra.
...
@@ -128,7 +126,6 @@ func NewCmdResources(f cmdutil.Factory, out io.Writer, errOut io.Writer) *cobra.
}
}
func
(
o
*
ResourcesOptions
)
Complete
(
f
cmdutil
.
Factory
,
cmd
*
cobra
.
Command
,
args
[]
string
)
error
{
func
(
o
*
ResourcesOptions
)
Complete
(
f
cmdutil
.
Factory
,
cmd
*
cobra
.
Command
,
args
[]
string
)
error
{
o
.
Mapper
,
_
=
f
.
Object
()
o
.
PrintSuccess
=
f
.
PrintSuccess
o
.
PrintSuccess
=
f
.
PrintSuccess
o
.
UpdatePodSpecForObject
=
f
.
UpdatePodSpecForObject
o
.
UpdatePodSpecForObject
=
f
.
UpdatePodSpecForObject
o
.
Encoder
=
f
.
JSONEncoder
()
o
.
Encoder
=
f
.
JSONEncoder
()
...
@@ -241,7 +238,7 @@ func (o *ResourcesOptions) Run() error {
...
@@ -241,7 +238,7 @@ func (o *ResourcesOptions) Run() error {
}
}
if
o
.
Local
||
cmdutil
.
GetDryRunFlag
(
o
.
Cmd
)
{
if
o
.
Local
||
cmdutil
.
GetDryRunFlag
(
o
.
Cmd
)
{
if
err
:=
o
.
PrintObject
(
o
.
Cmd
,
o
.
Local
,
o
.
Mapper
,
patch
.
Info
.
AsVersioned
(),
o
.
Out
);
err
!=
nil
{
if
err
:=
o
.
PrintObject
(
o
.
Cmd
,
patch
.
Info
.
AsVersioned
(),
o
.
Out
);
err
!=
nil
{
return
err
return
err
}
}
continue
continue
...
@@ -266,7 +263,7 @@ func (o *ResourcesOptions) Run() error {
...
@@ -266,7 +263,7 @@ func (o *ResourcesOptions) Run() error {
shortOutput
:=
o
.
Output
==
"name"
shortOutput
:=
o
.
Output
==
"name"
if
len
(
o
.
Output
)
>
0
&&
!
shortOutput
{
if
len
(
o
.
Output
)
>
0
&&
!
shortOutput
{
if
err
:=
o
.
PrintObject
(
o
.
Cmd
,
o
.
Local
,
o
.
Mapper
,
info
.
AsVersioned
(),
o
.
Out
);
err
!=
nil
{
if
err
:=
o
.
PrintObject
(
o
.
Cmd
,
info
.
AsVersioned
(),
o
.
Out
);
err
!=
nil
{
return
err
return
err
}
}
continue
continue
...
...
pkg/kubectl/cmd/set/set_selector.go
View file @
dd640568
...
@@ -152,7 +152,7 @@ func (o *SelectorOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args [
...
@@ -152,7 +152,7 @@ func (o *SelectorOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args [
}
}
o
.
PrintObject
=
func
(
obj
runtime
.
Object
)
error
{
o
.
PrintObject
=
func
(
obj
runtime
.
Object
)
error
{
return
f
.
PrintObject
(
cmd
,
o
.
local
,
mapper
,
o
bj
,
o
.
out
)
return
f
.
PrintObject
(
cmd
,
obj
,
o
.
out
)
}
}
o
.
ClientForMapping
=
func
(
mapping
*
meta
.
RESTMapping
)
(
resource
.
RESTClient
,
error
)
{
o
.
ClientForMapping
=
func
(
mapping
*
meta
.
RESTMapping
)
(
resource
.
RESTClient
,
error
)
{
return
f
.
ClientForMapping
(
mapping
)
return
f
.
ClientForMapping
(
mapping
)
...
...
pkg/kubectl/cmd/set/set_serviceaccount.go
View file @
dd640568
...
@@ -24,7 +24,6 @@ import (
...
@@ -24,7 +24,6 @@ import (
"github.com/spf13/cobra"
"github.com/spf13/cobra"
"k8s.io/api/core/v1"
"k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/meta"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/types"
utilerrors
"k8s.io/apimachinery/pkg/util/errors"
utilerrors
"k8s.io/apimachinery/pkg/util/errors"
...
@@ -56,7 +55,6 @@ var (
...
@@ -56,7 +55,6 @@ var (
// serviceAccountConfig encapsulates the data required to perform the operation.
// serviceAccountConfig encapsulates the data required to perform the operation.
type
serviceAccountConfig
struct
{
type
serviceAccountConfig
struct
{
fileNameOptions
resource
.
FilenameOptions
fileNameOptions
resource
.
FilenameOptions
mapper
meta
.
RESTMapper
encoder
runtime
.
Encoder
encoder
runtime
.
Encoder
out
io
.
Writer
out
io
.
Writer
err
io
.
Writer
err
io
.
Writer
...
@@ -68,7 +66,7 @@ type serviceAccountConfig struct {
...
@@ -68,7 +66,7 @@ type serviceAccountConfig struct {
output
string
output
string
changeCause
string
changeCause
string
local
bool
local
bool
PrintObject
func
(
cmd
*
cobra
.
Command
,
isLocal
bool
,
mapper
meta
.
RESTMapper
,
obj
runtime
.
Object
,
out
io
.
Writer
)
error
PrintObject
func
(
cmd
*
cobra
.
Command
,
obj
runtime
.
Object
,
out
io
.
Writer
)
error
updatePodSpecForObject
func
(
runtime
.
Object
,
func
(
*
v1
.
PodSpec
)
error
)
(
bool
,
error
)
updatePodSpecForObject
func
(
runtime
.
Object
,
func
(
*
v1
.
PodSpec
)
error
)
(
bool
,
error
)
printSuccess
func
(
shortOutput
bool
,
out
io
.
Writer
,
resource
,
name
string
,
dryRun
bool
,
operation
string
)
printSuccess
func
(
shortOutput
bool
,
out
io
.
Writer
,
resource
,
name
string
,
dryRun
bool
,
operation
string
)
infos
[]
*
resource
.
Info
infos
[]
*
resource
.
Info
...
@@ -108,7 +106,6 @@ func NewCmdServiceAccount(f cmdutil.Factory, out, err io.Writer) *cobra.Command
...
@@ -108,7 +106,6 @@ func NewCmdServiceAccount(f cmdutil.Factory, out, err io.Writer) *cobra.Command
// Complete configures serviceAccountConfig from command line args.
// Complete configures serviceAccountConfig from command line args.
func
(
saConfig
*
serviceAccountConfig
)
Complete
(
f
cmdutil
.
Factory
,
cmd
*
cobra
.
Command
,
args
[]
string
)
error
{
func
(
saConfig
*
serviceAccountConfig
)
Complete
(
f
cmdutil
.
Factory
,
cmd
*
cobra
.
Command
,
args
[]
string
)
error
{
saConfig
.
mapper
,
_
=
f
.
Object
()
saConfig
.
encoder
=
f
.
JSONEncoder
()
saConfig
.
encoder
=
f
.
JSONEncoder
()
saConfig
.
shortOutput
=
cmdutil
.
GetFlagString
(
cmd
,
"output"
)
==
"name"
saConfig
.
shortOutput
=
cmdutil
.
GetFlagString
(
cmd
,
"output"
)
==
"name"
saConfig
.
record
=
cmdutil
.
GetRecordFlag
(
cmd
)
saConfig
.
record
=
cmdutil
.
GetRecordFlag
(
cmd
)
...
@@ -168,7 +165,7 @@ func (saConfig *serviceAccountConfig) Run() error {
...
@@ -168,7 +165,7 @@ func (saConfig *serviceAccountConfig) Run() error {
continue
continue
}
}
if
saConfig
.
local
||
saConfig
.
dryRun
{
if
saConfig
.
local
||
saConfig
.
dryRun
{
if
err
:=
saConfig
.
PrintObject
(
saConfig
.
cmd
,
saConfig
.
local
,
saConfig
.
mapper
,
patch
.
Info
.
AsVersioned
(),
saConfig
.
out
);
err
!=
nil
{
if
err
:=
saConfig
.
PrintObject
(
saConfig
.
cmd
,
patch
.
Info
.
AsVersioned
(),
saConfig
.
out
);
err
!=
nil
{
return
err
return
err
}
}
continue
continue
...
@@ -187,7 +184,7 @@ func (saConfig *serviceAccountConfig) Run() error {
...
@@ -187,7 +184,7 @@ func (saConfig *serviceAccountConfig) Run() error {
}
}
}
}
if
len
(
saConfig
.
output
)
>
0
{
if
len
(
saConfig
.
output
)
>
0
{
if
err
:=
saConfig
.
PrintObject
(
saConfig
.
cmd
,
saConfig
.
local
,
saConfig
.
mapper
,
info
.
AsVersioned
(),
saConfig
.
out
);
err
!=
nil
{
if
err
:=
saConfig
.
PrintObject
(
saConfig
.
cmd
,
info
.
AsVersioned
(),
saConfig
.
out
);
err
!=
nil
{
return
err
return
err
}
}
continue
continue
...
...
pkg/kubectl/cmd/set/set_serviceaccount_test.go
View file @
dd640568
...
@@ -37,6 +37,7 @@ import (
...
@@ -37,6 +37,7 @@ import (
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/runtime/schema"
restclient
"k8s.io/client-go/rest"
restclient
"k8s.io/client-go/rest"
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/api/testapi"
"k8s.io/kubernetes/pkg/api/testapi"
"k8s.io/kubernetes/pkg/kubectl/categories"
"k8s.io/kubernetes/pkg/kubectl/categories"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
...
@@ -83,7 +84,7 @@ func TestSetServiceAccountLocal(t *testing.T) {
...
@@ -83,7 +84,7 @@ func TestSetServiceAccountLocal(t *testing.T) {
cmd
.
Flags
()
.
Set
(
"output"
,
"yaml"
)
cmd
.
Flags
()
.
Set
(
"output"
,
"yaml"
)
cmd
.
Flags
()
.
Set
(
"local"
,
"true"
)
cmd
.
Flags
()
.
Set
(
"local"
,
"true"
)
testapi
.
Default
=
testapi
.
Groups
[
input
.
apiGroup
]
testapi
.
Default
=
testapi
.
Groups
[
input
.
apiGroup
]
tf
.
Printer
=
printers
.
NewVersionedPrinter
(
&
printers
.
YAMLPrinter
{},
testapi
.
Default
.
Converter
(),
*
testapi
.
Default
.
GroupVersion
()
)
tf
.
Printer
=
printers
.
NewVersionedPrinter
(
&
printers
.
YAMLPrinter
{},
legacyscheme
.
Scheme
,
legacyscheme
.
Scheme
,
scheme
.
Versions
...
)
saConfig
:=
serviceAccountConfig
{
fileNameOptions
:
resource
.
FilenameOptions
{
saConfig
:=
serviceAccountConfig
{
fileNameOptions
:
resource
.
FilenameOptions
{
Filenames
:
[]
string
{
input
.
yaml
}},
Filenames
:
[]
string
{
input
.
yaml
}},
out
:
out
,
out
:
out
,
...
@@ -317,7 +318,7 @@ func TestSetServiceAccountRemote(t *testing.T) {
...
@@ -317,7 +318,7 @@ func TestSetServiceAccountRemote(t *testing.T) {
testapi
.
Default
=
testapi
.
Groups
[
input
.
testAPIGroup
]
testapi
.
Default
=
testapi
.
Groups
[
input
.
testAPIGroup
]
f
,
tf
,
_
,
ns
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
_
,
ns
:=
cmdtesting
.
NewAPIFactory
()
codec
:=
scheme
.
Codecs
.
CodecForVersions
(
scheme
.
Codecs
.
LegacyCodec
(
groupVersion
),
scheme
.
Codecs
.
UniversalDecoder
(
groupVersion
),
groupVersion
,
groupVersion
)
codec
:=
scheme
.
Codecs
.
CodecForVersions
(
scheme
.
Codecs
.
LegacyCodec
(
groupVersion
),
scheme
.
Codecs
.
UniversalDecoder
(
groupVersion
),
groupVersion
,
groupVersion
)
tf
.
Printer
=
printers
.
NewVersionedPrinter
(
&
printers
.
YAMLPrinter
{},
testapi
.
Default
.
Converter
(),
*
testapi
.
Default
.
GroupVersion
()
)
tf
.
Printer
=
printers
.
NewVersionedPrinter
(
&
printers
.
YAMLPrinter
{},
legacyscheme
.
Scheme
,
legacyscheme
.
Scheme
,
scheme
.
Versions
...
)
tf
.
Namespace
=
"test"
tf
.
Namespace
=
"test"
tf
.
CategoryExpander
=
categories
.
LegacyCategoryExpander
tf
.
CategoryExpander
=
categories
.
LegacyCategoryExpander
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
...
...
pkg/kubectl/cmd/set/set_subject.go
View file @
dd640568
...
@@ -23,7 +23,6 @@ import (
...
@@ -23,7 +23,6 @@ import (
"github.com/spf13/cobra"
"github.com/spf13/cobra"
"k8s.io/apimachinery/pkg/api/meta"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/types"
utilerrors
"k8s.io/apimachinery/pkg/util/errors"
utilerrors
"k8s.io/apimachinery/pkg/util/errors"
...
@@ -57,8 +56,6 @@ type updateSubjects func(existings []rbac.Subject, targets []rbac.Subject) (bool
...
@@ -57,8 +56,6 @@ type updateSubjects func(existings []rbac.Subject, targets []rbac.Subject) (bool
type
SubjectOptions
struct
{
type
SubjectOptions
struct
{
resource
.
FilenameOptions
resource
.
FilenameOptions
Mapper
meta
.
RESTMapper
Typer
runtime
.
ObjectTyper
Infos
[]
*
resource
.
Info
Infos
[]
*
resource
.
Info
Encoder
runtime
.
Encoder
Encoder
runtime
.
Encoder
Out
io
.
Writer
Out
io
.
Writer
...
@@ -74,7 +71,7 @@ type SubjectOptions struct {
...
@@ -74,7 +71,7 @@ type SubjectOptions struct {
Groups
[]
string
Groups
[]
string
ServiceAccounts
[]
string
ServiceAccounts
[]
string
PrintObject
func
(
mapper
meta
.
RESTMapper
,
obj
runtime
.
Object
,
out
io
.
Writer
)
error
PrintObject
func
(
obj
runtime
.
Object
,
out
io
.
Writer
)
error
}
}
func
NewCmdSubject
(
f
cmdutil
.
Factory
,
out
io
.
Writer
,
errOut
io
.
Writer
)
*
cobra
.
Command
{
func
NewCmdSubject
(
f
cmdutil
.
Factory
,
out
io
.
Writer
,
errOut
io
.
Writer
)
*
cobra
.
Command
{
...
@@ -111,12 +108,11 @@ func NewCmdSubject(f cmdutil.Factory, out io.Writer, errOut io.Writer) *cobra.Co
...
@@ -111,12 +108,11 @@ func NewCmdSubject(f cmdutil.Factory, out io.Writer, errOut io.Writer) *cobra.Co
}
}
func
(
o
*
SubjectOptions
)
Complete
(
f
cmdutil
.
Factory
,
cmd
*
cobra
.
Command
,
args
[]
string
)
error
{
func
(
o
*
SubjectOptions
)
Complete
(
f
cmdutil
.
Factory
,
cmd
*
cobra
.
Command
,
args
[]
string
)
error
{
o
.
Mapper
,
o
.
Typer
=
f
.
Object
()
o
.
Encoder
=
f
.
JSONEncoder
()
o
.
Encoder
=
f
.
JSONEncoder
()
o
.
Output
=
cmdutil
.
GetFlagString
(
cmd
,
"output"
)
o
.
Output
=
cmdutil
.
GetFlagString
(
cmd
,
"output"
)
o
.
DryRun
=
cmdutil
.
GetDryRunFlag
(
cmd
)
o
.
DryRun
=
cmdutil
.
GetDryRunFlag
(
cmd
)
o
.
PrintObject
=
func
(
mapper
meta
.
RESTMapper
,
obj
runtime
.
Object
,
out
io
.
Writer
)
error
{
o
.
PrintObject
=
func
(
obj
runtime
.
Object
,
out
io
.
Writer
)
error
{
return
f
.
PrintObject
(
cmd
,
o
.
Local
,
mapper
,
o
bj
,
out
)
return
f
.
PrintObject
(
cmd
,
obj
,
out
)
}
}
cmdNamespace
,
enforceNamespace
,
err
:=
f
.
DefaultNamespace
()
cmdNamespace
,
enforceNamespace
,
err
:=
f
.
DefaultNamespace
()
...
@@ -242,7 +238,7 @@ func (o *SubjectOptions) Run(f cmdutil.Factory, fn updateSubjects) error {
...
@@ -242,7 +238,7 @@ func (o *SubjectOptions) Run(f cmdutil.Factory, fn updateSubjects) error {
}
}
if
o
.
Local
||
o
.
DryRun
{
if
o
.
Local
||
o
.
DryRun
{
if
err
:=
o
.
PrintObject
(
o
.
Mapper
,
info
.
Object
,
o
.
Out
);
err
!=
nil
{
if
err
:=
o
.
PrintObject
(
info
.
Object
,
o
.
Out
);
err
!=
nil
{
return
err
return
err
}
}
continue
continue
...
@@ -257,7 +253,7 @@ func (o *SubjectOptions) Run(f cmdutil.Factory, fn updateSubjects) error {
...
@@ -257,7 +253,7 @@ func (o *SubjectOptions) Run(f cmdutil.Factory, fn updateSubjects) error {
shortOutput
:=
o
.
Output
==
"name"
shortOutput
:=
o
.
Output
==
"name"
if
len
(
o
.
Output
)
>
0
&&
!
shortOutput
{
if
len
(
o
.
Output
)
>
0
&&
!
shortOutput
{
return
o
.
PrintObject
(
o
.
Mapper
,
info
.
AsVersioned
(),
o
.
Out
)
return
o
.
PrintObject
(
info
.
AsVersioned
(),
o
.
Out
)
}
}
f
.
PrintSuccess
(
shortOutput
,
o
.
Out
,
info
.
Mapping
.
Resource
,
info
.
Name
,
false
,
"subjects updated"
)
f
.
PrintSuccess
(
shortOutput
,
o
.
Out
,
info
.
Mapping
.
Resource
,
info
.
Name
,
false
,
"subjects updated"
)
}
}
...
...
pkg/kubectl/cmd/set/set_subject_test.go
View file @
dd640568
...
@@ -28,7 +28,7 @@ import (
...
@@ -28,7 +28,7 @@ import (
)
)
func
TestValidate
(
t
*
testing
.
T
)
{
func
TestValidate
(
t
*
testing
.
T
)
{
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewAPIFactory
()
_
,
tf
,
_
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Namespace
=
"test"
tf
.
Namespace
=
"test"
tests
:=
map
[
string
]
struct
{
tests
:=
map
[
string
]
struct
{
...
@@ -107,7 +107,6 @@ func TestValidate(t *testing.T) {
...
@@ -107,7 +107,6 @@ func TestValidate(t *testing.T) {
}
}
for
name
,
test
:=
range
tests
{
for
name
,
test
:=
range
tests
{
test
.
options
.
Mapper
,
_
=
f
.
Object
()
err
:=
test
.
options
.
Validate
()
err
:=
test
.
options
.
Validate
()
if
test
.
expectErr
&&
err
!=
nil
{
if
test
.
expectErr
&&
err
!=
nil
{
continue
continue
...
...
pkg/kubectl/cmd/taint.go
View file @
dd640568
...
@@ -274,10 +274,9 @@ func (o TaintOptions) RunTaint() error {
...
@@ -274,10 +274,9 @@ func (o TaintOptions) RunTaint() error {
return
err
return
err
}
}
mapper
,
_
:=
o
.
f
.
Object
()
outputFormat
:=
cmdutil
.
GetFlagString
(
o
.
cmd
,
"output"
)
outputFormat
:=
cmdutil
.
GetFlagString
(
o
.
cmd
,
"output"
)
if
outputFormat
!=
""
{
if
outputFormat
!=
""
{
return
o
.
f
.
PrintObject
(
o
.
cmd
,
false
,
mapper
,
outputObj
,
o
.
out
)
return
o
.
f
.
PrintObject
(
o
.
cmd
,
outputObj
,
o
.
out
)
}
}
o
.
f
.
PrintSuccess
(
false
,
o
.
out
,
info
.
Mapping
.
Resource
,
info
.
Name
,
false
,
operation
)
o
.
f
.
PrintSuccess
(
false
,
o
.
out
,
info
.
Mapping
.
Resource
,
info
.
Name
,
false
,
operation
)
...
...
pkg/kubectl/cmd/testing/fake.go
View file @
dd640568
...
@@ -368,7 +368,7 @@ func (f *FakeFactory) PrintResourceInfoForCommand(cmd *cobra.Command, info *reso
...
@@ -368,7 +368,7 @@ func (f *FakeFactory) PrintResourceInfoForCommand(cmd *cobra.Command, info *reso
return
err
return
err
}
}
if
!
printer
.
IsGeneric
()
{
if
!
printer
.
IsGeneric
()
{
printer
,
err
=
f
.
PrinterForMapping
(
&
printers
.
PrintOptions
{}
,
nil
)
printer
,
err
=
f
.
PrinterForMapping
(
&
printers
.
PrintOptions
{})
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
...
@@ -514,11 +514,11 @@ func (f *FakeFactory) BindFlags(flags *pflag.FlagSet) {
...
@@ -514,11 +514,11 @@ func (f *FakeFactory) BindFlags(flags *pflag.FlagSet) {
func
(
f
*
FakeFactory
)
BindExternalFlags
(
flags
*
pflag
.
FlagSet
)
{
func
(
f
*
FakeFactory
)
BindExternalFlags
(
flags
*
pflag
.
FlagSet
)
{
}
}
func
(
f
*
FakeFactory
)
PrintObject
(
cmd
*
cobra
.
Command
,
isLocal
bool
,
mapper
meta
.
RESTMapper
,
obj
runtime
.
Object
,
out
io
.
Writer
)
error
{
func
(
f
*
FakeFactory
)
PrintObject
(
cmd
*
cobra
.
Command
,
obj
runtime
.
Object
,
out
io
.
Writer
)
error
{
return
nil
return
nil
}
}
func
(
f
*
FakeFactory
)
PrinterForMapping
(
printOpts
*
printers
.
PrintOptions
,
mapping
*
meta
.
RESTMapping
)
(
printers
.
ResourcePrinter
,
error
)
{
func
(
f
*
FakeFactory
)
PrinterForMapping
(
printOpts
*
printers
.
PrintOptions
)
(
printers
.
ResourcePrinter
,
error
)
{
return
f
.
tf
.
Printer
,
f
.
tf
.
Err
return
f
.
tf
.
Printer
,
f
.
tf
.
Err
}
}
...
@@ -763,7 +763,7 @@ func (f *fakeAPIFactory) PrintResourceInfoForCommand(cmd *cobra.Command, info *r
...
@@ -763,7 +763,7 @@ func (f *fakeAPIFactory) PrintResourceInfoForCommand(cmd *cobra.Command, info *r
return
err
return
err
}
}
if
!
printer
.
IsGeneric
()
{
if
!
printer
.
IsGeneric
()
{
printer
,
err
=
f
.
PrinterForMapping
(
&
printers
.
PrintOptions
{}
,
nil
)
printer
,
err
=
f
.
PrinterForMapping
(
&
printers
.
PrintOptions
{})
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
...
@@ -848,25 +848,15 @@ func (f *fakeAPIFactory) Generators(cmdName string) map[string]kubectl.Generator
...
@@ -848,25 +848,15 @@ func (f *fakeAPIFactory) Generators(cmdName string) map[string]kubectl.Generator
return
cmdutil
.
DefaultGenerators
(
cmdName
)
return
cmdutil
.
DefaultGenerators
(
cmdName
)
}
}
func
(
f
*
fakeAPIFactory
)
PrintObject
(
cmd
*
cobra
.
Command
,
isLocal
bool
,
mapper
meta
.
RESTMapper
,
obj
runtime
.
Object
,
out
io
.
Writer
)
error
{
func
(
f
*
fakeAPIFactory
)
PrintObject
(
cmd
*
cobra
.
Command
,
obj
runtime
.
Object
,
out
io
.
Writer
)
error
{
gvks
,
_
,
err
:=
legacyscheme
.
Scheme
.
ObjectKinds
(
obj
)
printer
,
err
:=
f
.
PrinterForMapping
(
&
printers
.
PrintOptions
{})
if
err
!=
nil
{
return
err
}
mapping
,
err
:=
mapper
.
RESTMapping
(
gvks
[
0
]
.
GroupKind
())
if
err
!=
nil
{
return
err
}
printer
,
err
:=
f
.
PrinterForMapping
(
&
printers
.
PrintOptions
{},
mapping
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
return
printer
.
PrintObj
(
obj
,
out
)
return
printer
.
PrintObj
(
obj
,
out
)
}
}
func
(
f
*
fakeAPIFactory
)
PrinterForMapping
(
outputOpts
*
printers
.
PrintOptions
,
mapping
*
meta
.
RESTMapping
)
(
printers
.
ResourcePrinter
,
error
)
{
func
(
f
*
fakeAPIFactory
)
PrinterForMapping
(
outputOpts
*
printers
.
PrintOptions
)
(
printers
.
ResourcePrinter
,
error
)
{
return
f
.
tf
.
Printer
,
f
.
tf
.
Err
return
f
.
tf
.
Printer
,
f
.
tf
.
Err
}
}
...
...
pkg/kubectl/cmd/util/factory.go
View file @
dd640568
...
@@ -239,9 +239,9 @@ type BuilderFactory interface {
...
@@ -239,9 +239,9 @@ type BuilderFactory interface {
// Requires that printer flags have been added to cmd (see AddPrinterFlags).
// Requires that printer flags have been added to cmd (see AddPrinterFlags).
// Returns a printer, true if the printer is generic (is not internal), or
// Returns a printer, true if the printer is generic (is not internal), or
// an error if a printer could not be found.
// an error if a printer could not be found.
PrinterForMapping
(
options
*
printers
.
PrintOptions
,
mapping
*
meta
.
RESTMapping
)
(
printers
.
ResourcePrinter
,
error
)
PrinterForMapping
(
options
*
printers
.
PrintOptions
)
(
printers
.
ResourcePrinter
,
error
)
// PrintObject prints an api object given command line flags to modify the output format
// PrintObject prints an api object given command line flags to modify the output format
PrintObject
(
cmd
*
cobra
.
Command
,
isLocal
bool
,
mapper
meta
.
RESTMapper
,
obj
runtime
.
Object
,
out
io
.
Writer
)
error
PrintObject
(
cmd
*
cobra
.
Command
,
obj
runtime
.
Object
,
out
io
.
Writer
)
error
// PrintResourceInfoForCommand receives a *cobra.Command and a *resource.Info and
// PrintResourceInfoForCommand receives a *cobra.Command and a *resource.Info and
// attempts to print an info object based on the specified output format. If the
// attempts to print an info object based on the specified output format. If the
// object passed is non-generic, it attempts to print the object using a HumanReadablePrinter.
// object passed is non-generic, it attempts to print the object using a HumanReadablePrinter.
...
...
pkg/kubectl/cmd/util/factory_builder.go
View file @
dd640568
...
@@ -25,11 +25,12 @@ import (
...
@@ -25,11 +25,12 @@ import (
"github.com/spf13/cobra"
"github.com/spf13/cobra"
"k8s.io/apimachinery/pkg/api/meta"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/kubectl/plugins"
"k8s.io/kubernetes/pkg/kubectl/plugins"
"k8s.io/kubernetes/pkg/kubectl/resource"
"k8s.io/kubernetes/pkg/kubectl/resource"
kubectlscheme
"k8s.io/kubernetes/pkg/kubectl/scheme"
"k8s.io/kubernetes/pkg/printers"
"k8s.io/kubernetes/pkg/printers"
)
)
...
@@ -48,34 +49,17 @@ func NewBuilderFactory(clientAccessFactory ClientAccessFactory, objectMappingFac
...
@@ -48,34 +49,17 @@ func NewBuilderFactory(clientAccessFactory ClientAccessFactory, objectMappingFac
}
}
func
(
f
*
ring2Factory
)
PrinterForOptions
(
options
*
printers
.
PrintOptions
)
(
printers
.
ResourcePrinter
,
error
)
{
func
(
f
*
ring2Factory
)
PrinterForOptions
(
options
*
printers
.
PrintOptions
)
(
printers
.
ResourcePrinter
,
error
)
{
_
,
typer
:=
f
.
objectMappingFactory
.
Object
()
return
printerForOptions
(
options
)
// TODO: used by the custom column implementation and the name implementation, break this dependency
decoders
:=
[]
runtime
.
Decoder
{
f
.
clientAccessFactory
.
Decoder
(
true
),
unstructured
.
UnstructuredJSONScheme
}
encoder
:=
f
.
clientAccessFactory
.
JSONEncoder
()
return
printerForOptions
(
typer
,
encoder
,
decoders
,
options
)
}
}
func
(
f
*
ring2Factory
)
PrinterForMapping
(
options
*
printers
.
PrintOptions
,
mapping
*
meta
.
RESTMapping
)
(
printers
.
ResourcePrinter
,
error
)
{
func
(
f
*
ring2Factory
)
PrinterForMapping
(
options
*
printers
.
PrintOptions
)
(
printers
.
ResourcePrinter
,
error
)
{
printer
,
err
:=
f
.
PrinterForOptions
(
options
)
printer
,
err
:=
f
.
PrinterForOptions
(
options
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
// Make sure we output versioned data for generic printers
// wrap the printer in a versioning printer that understands when to convert and when not to convert
if
printer
.
IsGeneric
()
{
printer
=
printers
.
NewVersionedPrinter
(
printer
,
legacyscheme
.
Scheme
,
legacyscheme
.
Scheme
,
kubectlscheme
.
Versions
...
)
if
mapping
==
nil
{
return
nil
,
fmt
.
Errorf
(
"no serialization format found"
)
}
version
:=
mapping
.
GroupVersionKind
.
GroupVersion
()
if
version
.
Empty
()
{
return
nil
,
fmt
.
Errorf
(
"no serialization format found"
)
}
printer
=
printers
.
NewVersionedPrinter
(
printer
,
mapping
.
ObjectConvertor
,
version
,
mapping
.
GroupVersionKind
.
GroupVersion
())
}
return
printer
,
nil
return
printer
,
nil
}
}
...
@@ -101,26 +85,8 @@ func (f *ring2Factory) PrintSuccess(shortOutput bool, out io.Writer, resource, n
...
@@ -101,26 +85,8 @@ func (f *ring2Factory) PrintSuccess(shortOutput bool, out io.Writer, resource, n
}
}
}
}
func
(
f
*
ring2Factory
)
PrintObject
(
cmd
*
cobra
.
Command
,
isLocal
bool
,
mapper
meta
.
RESTMapper
,
obj
runtime
.
Object
,
out
io
.
Writer
)
error
{
func
(
f
*
ring2Factory
)
PrintObject
(
cmd
*
cobra
.
Command
,
obj
runtime
.
Object
,
out
io
.
Writer
)
error
{
// try to get a typed object
printer
,
err
:=
f
.
PrinterForMapping
(
ExtractCmdPrintOptions
(
cmd
,
false
))
_
,
typer
:=
f
.
objectMappingFactory
.
Object
()
gvks
,
_
,
err
:=
typer
.
ObjectKinds
(
obj
)
if
err
!=
nil
{
return
err
}
// Prefer the existing external version if specified
var
preferredVersion
[]
string
if
gvks
[
0
]
.
Version
!=
""
&&
gvks
[
0
]
.
Version
!=
runtime
.
APIVersionInternal
{
preferredVersion
=
[]
string
{
gvks
[
0
]
.
Version
}
}
mapping
,
err
:=
mapper
.
RESTMapping
(
gvks
[
0
]
.
GroupKind
(),
preferredVersion
...
)
if
err
!=
nil
{
return
err
}
printer
,
err
:=
f
.
PrinterForMapping
(
ExtractCmdPrintOptions
(
cmd
,
false
),
mapping
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
...
@@ -134,7 +100,7 @@ func (f *ring2Factory) PrintResourceInfoForCommand(cmd *cobra.Command, info *res
...
@@ -134,7 +100,7 @@ func (f *ring2Factory) PrintResourceInfoForCommand(cmd *cobra.Command, info *res
return
err
return
err
}
}
if
!
printer
.
IsGeneric
()
{
if
!
printer
.
IsGeneric
()
{
printer
,
err
=
f
.
PrinterForMapping
(
printOpts
,
nil
)
printer
,
err
=
f
.
PrinterForMapping
(
printOpts
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
...
...
pkg/kubectl/cmd/util/printing.go
View file @
dd640568
...
@@ -23,10 +23,12 @@ import (
...
@@ -23,10 +23,12 @@ import (
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
kubectlscheme
"k8s.io/kubernetes/pkg/kubectl/scheme"
"k8s.io/kubernetes/pkg/printers"
"k8s.io/kubernetes/pkg/printers"
printersinternal
"k8s.io/kubernetes/pkg/printers/internalversion"
printersinternal
"k8s.io/kubernetes/pkg/printers/internalversion"
"github.com/spf13/cobra"
"github.com/spf13/cobra"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
)
)
// AddPrinterFlags adds printing related flags to a command (e.g. output format, no headers, template path)
// AddPrinterFlags adds printing related flags to a command (e.g. output format, no headers, template path)
...
@@ -83,8 +85,12 @@ func ValidateOutputArgs(cmd *cobra.Command) error {
...
@@ -83,8 +85,12 @@ func ValidateOutputArgs(cmd *cobra.Command) error {
// printerForOptions returns the printer for the outputOptions (if given) or
// printerForOptions returns the printer for the outputOptions (if given) or
// returns the default printer for the command. Requires that printer flags have
// returns the default printer for the command. Requires that printer flags have
// been added to cmd (see AddPrinterFlags).
// been added to cmd (see AddPrinterFlags).
func
printerForOptions
(
typer
runtime
.
ObjectTyper
,
encoder
runtime
.
Encoder
,
decoders
[]
runtime
.
Decoder
,
options
*
printers
.
PrintOptions
)
(
printers
.
ResourcePrinter
,
error
)
{
func
printerForOptions
(
options
*
printers
.
PrintOptions
)
(
printers
.
ResourcePrinter
,
error
)
{
printer
,
err
:=
printers
.
GetStandardPrinter
(
typer
,
encoder
,
decoders
,
*
options
)
// TODO: used by the custom column implementation and the name implementation, break this dependency
decoders
:=
[]
runtime
.
Decoder
{
kubectlscheme
.
Codecs
.
UniversalDecoder
(),
unstructured
.
UnstructuredJSONScheme
}
encoder
:=
kubectlscheme
.
Codecs
.
LegacyCodec
(
kubectlscheme
.
Registry
.
EnabledVersions
()
...
)
printer
,
err
:=
printers
.
GetStandardPrinter
(
kubectlscheme
.
Scheme
,
encoder
,
decoders
,
*
options
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
...
...
pkg/kubectl/scheme/install.go
View file @
dd640568
...
@@ -60,6 +60,7 @@ func init() {
...
@@ -60,6 +60,7 @@ func init() {
scheme
.
AddToScheme
(
Scheme
)
scheme
.
AddToScheme
(
Scheme
)
// Register external types for Registry
// Register external types for Registry
Versions
=
append
(
Versions
,
corev1
.
SchemeGroupVersion
)
if
err
:=
announced
.
NewGroupMetaFactory
(
if
err
:=
announced
.
NewGroupMetaFactory
(
&
announced
.
GroupMetaFactoryArgs
{
&
announced
.
GroupMetaFactoryArgs
{
GroupName
:
corev1
.
GroupName
,
GroupName
:
corev1
.
GroupName
,
...
@@ -90,6 +91,7 @@ func init() {
...
@@ -90,6 +91,7 @@ func init() {
panic
(
err
)
panic
(
err
)
}
}
Versions
=
append
(
Versions
,
admissionv1alpha1
.
SchemeGroupVersion
)
if
err
:=
announced
.
NewGroupMetaFactory
(
if
err
:=
announced
.
NewGroupMetaFactory
(
&
announced
.
GroupMetaFactoryArgs
{
&
announced
.
GroupMetaFactoryArgs
{
GroupName
:
admissionv1alpha1
.
GroupName
,
GroupName
:
admissionv1alpha1
.
GroupName
,
...
@@ -103,6 +105,7 @@ func init() {
...
@@ -103,6 +105,7 @@ func init() {
panic
(
err
)
panic
(
err
)
}
}
Versions
=
append
(
Versions
,
admissionregistrationv1alpha1
.
SchemeGroupVersion
)
if
err
:=
announced
.
NewGroupMetaFactory
(
if
err
:=
announced
.
NewGroupMetaFactory
(
&
announced
.
GroupMetaFactoryArgs
{
&
announced
.
GroupMetaFactoryArgs
{
GroupName
:
admissionregistrationv1alpha1
.
GroupName
,
GroupName
:
admissionregistrationv1alpha1
.
GroupName
,
...
@@ -116,6 +119,7 @@ func init() {
...
@@ -116,6 +119,7 @@ func init() {
panic
(
err
)
panic
(
err
)
}
}
Versions
=
append
(
Versions
,
appsv1
.
SchemeGroupVersion
,
appsv1beta2
.
SchemeGroupVersion
,
appsv1beta1
.
SchemeGroupVersion
)
if
err
:=
announced
.
NewGroupMetaFactory
(
if
err
:=
announced
.
NewGroupMetaFactory
(
&
announced
.
GroupMetaFactoryArgs
{
&
announced
.
GroupMetaFactoryArgs
{
GroupName
:
appsv1
.
GroupName
,
GroupName
:
appsv1
.
GroupName
,
...
@@ -130,6 +134,7 @@ func init() {
...
@@ -130,6 +134,7 @@ func init() {
panic
(
err
)
panic
(
err
)
}
}
Versions
=
append
(
Versions
,
authenticationv1
.
SchemeGroupVersion
,
authenticationv1beta1
.
SchemeGroupVersion
)
if
err
:=
announced
.
NewGroupMetaFactory
(
if
err
:=
announced
.
NewGroupMetaFactory
(
&
announced
.
GroupMetaFactoryArgs
{
&
announced
.
GroupMetaFactoryArgs
{
GroupName
:
authenticationv1beta1
.
GroupName
,
GroupName
:
authenticationv1beta1
.
GroupName
,
...
@@ -144,6 +149,7 @@ func init() {
...
@@ -144,6 +149,7 @@ func init() {
panic
(
err
)
panic
(
err
)
}
}
Versions
=
append
(
Versions
,
authorizationv1
.
SchemeGroupVersion
,
authorizationv1beta1
.
SchemeGroupVersion
)
if
err
:=
announced
.
NewGroupMetaFactory
(
if
err
:=
announced
.
NewGroupMetaFactory
(
&
announced
.
GroupMetaFactoryArgs
{
&
announced
.
GroupMetaFactoryArgs
{
GroupName
:
authorizationv1
.
GroupName
,
GroupName
:
authorizationv1
.
GroupName
,
...
@@ -158,6 +164,7 @@ func init() {
...
@@ -158,6 +164,7 @@ func init() {
panic
(
err
)
panic
(
err
)
}
}
Versions
=
append
(
Versions
,
autoscalingv1
.
SchemeGroupVersion
,
autoscalingv2beta1
.
SchemeGroupVersion
)
if
err
:=
announced
.
NewGroupMetaFactory
(
if
err
:=
announced
.
NewGroupMetaFactory
(
&
announced
.
GroupMetaFactoryArgs
{
&
announced
.
GroupMetaFactoryArgs
{
GroupName
:
autoscalingv1
.
GroupName
,
GroupName
:
autoscalingv1
.
GroupName
,
...
@@ -171,6 +178,7 @@ func init() {
...
@@ -171,6 +178,7 @@ func init() {
panic
(
err
)
panic
(
err
)
}
}
Versions
=
append
(
Versions
,
batchv1
.
SchemeGroupVersion
,
batchv1beta1
.
SchemeGroupVersion
,
batchv2alpha1
.
SchemeGroupVersion
)
if
err
:=
announced
.
NewGroupMetaFactory
(
if
err
:=
announced
.
NewGroupMetaFactory
(
&
announced
.
GroupMetaFactoryArgs
{
&
announced
.
GroupMetaFactoryArgs
{
GroupName
:
batchv1
.
GroupName
,
GroupName
:
batchv1
.
GroupName
,
...
@@ -185,6 +193,7 @@ func init() {
...
@@ -185,6 +193,7 @@ func init() {
panic
(
err
)
panic
(
err
)
}
}
Versions
=
append
(
Versions
,
certificatesv1beta1
.
SchemeGroupVersion
)
if
err
:=
announced
.
NewGroupMetaFactory
(
if
err
:=
announced
.
NewGroupMetaFactory
(
&
announced
.
GroupMetaFactoryArgs
{
&
announced
.
GroupMetaFactoryArgs
{
GroupName
:
certificatesv1beta1
.
GroupName
,
GroupName
:
certificatesv1beta1
.
GroupName
,
...
@@ -198,6 +207,7 @@ func init() {
...
@@ -198,6 +207,7 @@ func init() {
panic
(
err
)
panic
(
err
)
}
}
Versions
=
append
(
Versions
,
extensionsv1beta1
.
SchemeGroupVersion
)
if
err
:=
announced
.
NewGroupMetaFactory
(
if
err
:=
announced
.
NewGroupMetaFactory
(
&
announced
.
GroupMetaFactoryArgs
{
&
announced
.
GroupMetaFactoryArgs
{
GroupName
:
extensionsv1beta1
.
GroupName
,
GroupName
:
extensionsv1beta1
.
GroupName
,
...
@@ -211,6 +221,7 @@ func init() {
...
@@ -211,6 +221,7 @@ func init() {
panic
(
err
)
panic
(
err
)
}
}
Versions
=
append
(
Versions
,
imagepolicyv1alpha1
.
SchemeGroupVersion
)
if
err
:=
announced
.
NewGroupMetaFactory
(
if
err
:=
announced
.
NewGroupMetaFactory
(
&
announced
.
GroupMetaFactoryArgs
{
&
announced
.
GroupMetaFactoryArgs
{
GroupName
:
imagepolicyv1alpha1
.
GroupName
,
GroupName
:
imagepolicyv1alpha1
.
GroupName
,
...
@@ -224,6 +235,7 @@ func init() {
...
@@ -224,6 +235,7 @@ func init() {
panic
(
err
)
panic
(
err
)
}
}
Versions
=
append
(
Versions
,
networkingv1
.
SchemeGroupVersion
)
if
err
:=
announced
.
NewGroupMetaFactory
(
if
err
:=
announced
.
NewGroupMetaFactory
(
&
announced
.
GroupMetaFactoryArgs
{
&
announced
.
GroupMetaFactoryArgs
{
GroupName
:
networkingv1
.
GroupName
,
GroupName
:
networkingv1
.
GroupName
,
...
@@ -236,6 +248,7 @@ func init() {
...
@@ -236,6 +248,7 @@ func init() {
panic
(
err
)
panic
(
err
)
}
}
Versions
=
append
(
Versions
,
policyv1beta1
.
SchemeGroupVersion
)
if
err
:=
announced
.
NewGroupMetaFactory
(
if
err
:=
announced
.
NewGroupMetaFactory
(
&
announced
.
GroupMetaFactoryArgs
{
&
announced
.
GroupMetaFactoryArgs
{
GroupName
:
policyv1beta1
.
GroupName
,
GroupName
:
policyv1beta1
.
GroupName
,
...
@@ -248,6 +261,7 @@ func init() {
...
@@ -248,6 +261,7 @@ func init() {
panic
(
err
)
panic
(
err
)
}
}
Versions
=
append
(
Versions
,
rbacv1
.
SchemeGroupVersion
,
rbacv1beta1
.
SchemeGroupVersion
,
rbacv1alpha1
.
SchemeGroupVersion
)
if
err
:=
announced
.
NewGroupMetaFactory
(
if
err
:=
announced
.
NewGroupMetaFactory
(
&
announced
.
GroupMetaFactoryArgs
{
&
announced
.
GroupMetaFactoryArgs
{
GroupName
:
rbacv1
.
GroupName
,
GroupName
:
rbacv1
.
GroupName
,
...
@@ -263,6 +277,7 @@ func init() {
...
@@ -263,6 +277,7 @@ func init() {
panic
(
err
)
panic
(
err
)
}
}
Versions
=
append
(
Versions
,
schedulingv1alpha1
.
SchemeGroupVersion
)
if
err
:=
announced
.
NewGroupMetaFactory
(
if
err
:=
announced
.
NewGroupMetaFactory
(
&
announced
.
GroupMetaFactoryArgs
{
&
announced
.
GroupMetaFactoryArgs
{
GroupName
:
schedulingv1alpha1
.
GroupName
,
GroupName
:
schedulingv1alpha1
.
GroupName
,
...
@@ -276,6 +291,7 @@ func init() {
...
@@ -276,6 +291,7 @@ func init() {
panic
(
err
)
panic
(
err
)
}
}
Versions
=
append
(
Versions
,
settingsv1alpha1
.
SchemeGroupVersion
)
if
err
:=
announced
.
NewGroupMetaFactory
(
if
err
:=
announced
.
NewGroupMetaFactory
(
&
announced
.
GroupMetaFactoryArgs
{
&
announced
.
GroupMetaFactoryArgs
{
GroupName
:
settingsv1alpha1
.
GroupName
,
GroupName
:
settingsv1alpha1
.
GroupName
,
...
@@ -288,6 +304,7 @@ func init() {
...
@@ -288,6 +304,7 @@ func init() {
panic
(
err
)
panic
(
err
)
}
}
Versions
=
append
(
Versions
,
storagev1
.
SchemeGroupVersion
,
storagev1beta1
.
SchemeGroupVersion
)
if
err
:=
announced
.
NewGroupMetaFactory
(
if
err
:=
announced
.
NewGroupMetaFactory
(
&
announced
.
GroupMetaFactoryArgs
{
&
announced
.
GroupMetaFactoryArgs
{
GroupName
:
storagev1
.
GroupName
,
GroupName
:
storagev1
.
GroupName
,
...
...
pkg/kubectl/scheme/scheme.go
View file @
dd640568
...
@@ -22,6 +22,7 @@ import (
...
@@ -22,6 +22,7 @@ import (
"k8s.io/apimachinery/pkg/apimachinery/announced"
"k8s.io/apimachinery/pkg/apimachinery/announced"
"k8s.io/apimachinery/pkg/apimachinery/registered"
"k8s.io/apimachinery/pkg/apimachinery/registered"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/runtime/serializer"
"k8s.io/apimachinery/pkg/runtime/serializer"
)
)
...
@@ -41,3 +42,8 @@ var Codecs = serializer.NewCodecFactory(Scheme)
...
@@ -41,3 +42,8 @@ var Codecs = serializer.NewCodecFactory(Scheme)
// ParameterCodec handles versioning of objects that are converted to query parameters.
// ParameterCodec handles versioning of objects that are converted to query parameters.
var
ParameterCodec
=
runtime
.
NewParameterCodec
(
Scheme
)
var
ParameterCodec
=
runtime
.
NewParameterCodec
(
Scheme
)
// Versions is a list of group versions in order of preferred serialization. This used to be discovered dynamically,
// from the server for use in the client, but that gives conflicting lists of non-existent versions. This only needs to
// live until we stop attempting to perform any conversion client-side and is only valid for items existent in our scheme.
var
Versions
=
[]
schema
.
GroupVersion
{}
pkg/printers/internalversion/printers_test.go
View file @
dd640568
...
@@ -91,6 +91,7 @@ func TestVersionedPrinter(t *testing.T) {
...
@@ -91,6 +91,7 @@ func TestVersionedPrinter(t *testing.T) {
return
nil
return
nil
}),
}),
legacyscheme
.
Scheme
,
legacyscheme
.
Scheme
,
legacyscheme
.
Scheme
,
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
)
)
if
err
:=
p
.
PrintObj
(
original
,
nil
);
err
!=
nil
{
if
err
:=
p
.
PrintObj
(
original
,
nil
);
err
!=
nil
{
...
@@ -288,7 +289,7 @@ func TestPrinter(t *testing.T) {
...
@@ -288,7 +289,7 @@ func TestPrinter(t *testing.T) {
t
.
Errorf
(
"in %s, unexpected error: %#v"
,
test
.
Name
,
err
)
t
.
Errorf
(
"in %s, unexpected error: %#v"
,
test
.
Name
,
err
)
}
}
if
printer
.
IsGeneric
()
&&
len
(
test
.
OutputVersions
)
>
0
{
if
printer
.
IsGeneric
()
&&
len
(
test
.
OutputVersions
)
>
0
{
printer
=
printers
.
NewVersionedPrinter
(
printer
,
legacyscheme
.
Scheme
,
test
.
OutputVersions
...
)
printer
=
printers
.
NewVersionedPrinter
(
printer
,
legacyscheme
.
Scheme
,
legacyscheme
.
Scheme
,
test
.
OutputVersions
...
)
}
}
if
err
:=
printer
.
PrintObj
(
test
.
Input
,
buf
);
err
!=
nil
{
if
err
:=
printer
.
PrintObj
(
test
.
Input
,
buf
);
err
!=
nil
{
t
.
Errorf
(
"in %s, unexpected error: %#v"
,
test
.
Name
,
err
)
t
.
Errorf
(
"in %s, unexpected error: %#v"
,
test
.
Name
,
err
)
...
@@ -622,7 +623,7 @@ func TestTemplateStrings(t *testing.T) {
...
@@ -622,7 +623,7 @@ func TestTemplateStrings(t *testing.T) {
t
.
Fatalf
(
"tmpl fail: %v"
,
err
)
t
.
Fatalf
(
"tmpl fail: %v"
,
err
)
}
}
printer
:=
printers
.
NewVersionedPrinter
(
p
,
legacyscheme
.
Scheme
,
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
)
printer
:=
printers
.
NewVersionedPrinter
(
p
,
legacyscheme
.
Scheme
,
legacyscheme
.
Scheme
,
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
)
for
name
,
item
:=
range
table
{
for
name
,
item
:=
range
table
{
buffer
:=
&
bytes
.
Buffer
{}
buffer
:=
&
bytes
.
Buffer
{}
...
@@ -655,19 +656,19 @@ func TestPrinters(t *testing.T) {
...
@@ -655,19 +656,19 @@ func TestPrinters(t *testing.T) {
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Fatal
(
err
)
t
.
Fatal
(
err
)
}
}
templatePrinter
=
printers
.
NewVersionedPrinter
(
templatePrinter
,
legacyscheme
.
Scheme
,
v1
.
SchemeGroupVersion
)
templatePrinter
=
printers
.
NewVersionedPrinter
(
templatePrinter
,
legacyscheme
.
Scheme
,
legacyscheme
.
Scheme
,
v1
.
SchemeGroupVersion
)
templatePrinter2
,
err
=
printers
.
NewTemplatePrinter
([]
byte
(
"{{len .items}}"
))
templatePrinter2
,
err
=
printers
.
NewTemplatePrinter
([]
byte
(
"{{len .items}}"
))
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Fatal
(
err
)
t
.
Fatal
(
err
)
}
}
templatePrinter2
=
printers
.
NewVersionedPrinter
(
templatePrinter2
,
legacyscheme
.
Scheme
,
v1
.
SchemeGroupVersion
)
templatePrinter2
=
printers
.
NewVersionedPrinter
(
templatePrinter2
,
legacyscheme
.
Scheme
,
legacyscheme
.
Scheme
,
v1
.
SchemeGroupVersion
)
jsonpathPrinter
,
err
=
printers
.
NewJSONPathPrinter
(
"{.metadata.name}"
)
jsonpathPrinter
,
err
=
printers
.
NewJSONPathPrinter
(
"{.metadata.name}"
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Fatal
(
err
)
t
.
Fatal
(
err
)
}
}
jsonpathPrinter
=
printers
.
NewVersionedPrinter
(
jsonpathPrinter
,
legacyscheme
.
Scheme
,
v1
.
SchemeGroupVersion
)
jsonpathPrinter
=
printers
.
NewVersionedPrinter
(
jsonpathPrinter
,
legacyscheme
.
Scheme
,
legacyscheme
.
Scheme
,
v1
.
SchemeGroupVersion
)
allPrinters
:=
map
[
string
]
printers
.
ResourcePrinter
{
allPrinters
:=
map
[
string
]
printers
.
ResourcePrinter
{
"humanReadable"
:
printers
.
NewHumanReadablePrinter
(
nil
,
nil
,
printers
.
PrintOptions
{
"humanReadable"
:
printers
.
NewHumanReadablePrinter
(
nil
,
nil
,
printers
.
PrintOptions
{
...
...
pkg/printers/versioned.go
View file @
dd640568
...
@@ -20,6 +20,7 @@ import (
...
@@ -20,6 +20,7 @@ import (
"fmt"
"fmt"
"io"
"io"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/runtime/schema"
)
)
...
@@ -29,14 +30,16 @@ import (
...
@@ -29,14 +30,16 @@ import (
type
VersionedPrinter
struct
{
type
VersionedPrinter
struct
{
printer
ResourcePrinter
printer
ResourcePrinter
converter
runtime
.
ObjectConvertor
converter
runtime
.
ObjectConvertor
typer
runtime
.
ObjectTyper
versions
[]
schema
.
GroupVersion
versions
[]
schema
.
GroupVersion
}
}
// NewVersionedPrinter wraps a printer to convert objects to a known API version prior to printing.
// NewVersionedPrinter wraps a printer to convert objects to a known API version prior to printing.
func
NewVersionedPrinter
(
printer
ResourcePrinter
,
converter
runtime
.
ObjectConvertor
,
versions
...
schema
.
GroupVersion
)
ResourcePrinter
{
func
NewVersionedPrinter
(
printer
ResourcePrinter
,
converter
runtime
.
ObjectConvertor
,
typer
runtime
.
ObjectTyper
,
versions
...
schema
.
GroupVersion
)
ResourcePrinter
{
return
&
VersionedPrinter
{
return
&
VersionedPrinter
{
printer
:
printer
,
printer
:
printer
,
converter
:
converter
,
converter
:
converter
,
typer
:
typer
,
versions
:
versions
,
versions
:
versions
,
}
}
}
}
...
@@ -47,6 +50,33 @@ func (p *VersionedPrinter) AfterPrint(w io.Writer, res string) error {
...
@@ -47,6 +50,33 @@ func (p *VersionedPrinter) AfterPrint(w io.Writer, res string) error {
// PrintObj implements ResourcePrinter
// PrintObj implements ResourcePrinter
func
(
p
*
VersionedPrinter
)
PrintObj
(
obj
runtime
.
Object
,
w
io
.
Writer
)
error
{
func
(
p
*
VersionedPrinter
)
PrintObj
(
obj
runtime
.
Object
,
w
io
.
Writer
)
error
{
gvks
,
_
,
err
:=
p
.
typer
.
ObjectKinds
(
obj
)
if
err
!=
nil
{
return
err
}
needsConversion
:=
false
for
_
,
gvk
:=
range
gvks
{
if
len
(
gvk
.
Version
)
==
0
||
gvk
.
Version
==
runtime
.
APIVersionInternal
{
needsConversion
=
true
}
}
// if we're unstructured, no conversion necessary
if
_
,
ok
:=
obj
.
(
*
unstructured
.
Unstructured
);
ok
{
return
p
.
printer
.
PrintObj
(
obj
,
w
)
}
// if we aren't a generic printer, we don't convert. This means the printer must be aware of what it is getting.
// The default printers fall into this category.
// TODO eventually, all printers must be generic
if
!
p
.
IsGeneric
()
{
return
p
.
printer
.
PrintObj
(
obj
,
w
)
}
// if we're already external, no conversion necessary
if
!
needsConversion
{
return
p
.
printer
.
PrintObj
(
obj
,
w
)
}
if
len
(
p
.
versions
)
==
0
{
if
len
(
p
.
versions
)
==
0
{
return
fmt
.
Errorf
(
"no version specified, object cannot be converted"
)
return
fmt
.
Errorf
(
"no version specified, object cannot be converted"
)
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment