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
6fbcbc99
Commit
6fbcbc99
authored
Apr 27, 2018
by
David Eads
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
remove unnecessarily flexibiliy to simplify the resource builder
parent
61fdd880
Hide whitespace changes
Inline
Side-by-side
Showing
33 changed files
with
154 additions
and
152 deletions
+154
-152
attach.go
pkg/kubectl/cmd/attach.go
+1
-1
reconcile.go
pkg/kubectl/cmd/auth/reconcile.go
+2
-1
autoscale.go
pkg/kubectl/cmd/autoscale.go
+7
-9
certificates.go
pkg/kubectl/cmd/certificates.go
+3
-2
clusterinfo.go
pkg/kubectl/cmd/clusterinfo.go
+2
-1
convert.go
pkg/kubectl/cmd/convert.go
+1
-1
create.go
pkg/kubectl/cmd/create/create.go
+4
-6
drain.go
pkg/kubectl/cmd/drain.go
+4
-4
expose.go
pkg/kubectl/cmd/expose.go
+6
-8
logs.go
pkg/kubectl/cmd/logs.go
+2
-1
portforward.go
pkg/kubectl/cmd/portforward.go
+2
-1
rollout_history.go
pkg/kubectl/cmd/rollout/rollout_history.go
+2
-1
rollout_pause.go
pkg/kubectl/cmd/rollout/rollout_pause.go
+2
-1
rollout_resume.go
pkg/kubectl/cmd/rollout/rollout_resume.go
+2
-1
rollout_status.go
pkg/kubectl/cmd/rollout/rollout_status.go
+2
-1
rollout_undo.go
pkg/kubectl/cmd/rollout/rollout_undo.go
+2
-1
run.go
pkg/kubectl/cmd/run.go
+6
-8
set_env.go
pkg/kubectl/cmd/set/set_env.go
+5
-5
set_image.go
pkg/kubectl/cmd/set/set_image.go
+5
-4
set_resources.go
pkg/kubectl/cmd/set/set_resources.go
+5
-4
set_selector.go
pkg/kubectl/cmd/set/set_selector.go
+4
-3
set_serviceaccount.go
pkg/kubectl/cmd/set/set_serviceaccount.go
+5
-4
set_subject.go
pkg/kubectl/cmd/set/set_subject.go
+4
-3
taint.go
pkg/kubectl/cmd/taint.go
+1
-1
fake.go
pkg/kubectl/cmd/testing/fake.go
+4
-7
factory_builder.go
pkg/kubectl/cmd/util/factory_builder.go
+4
-8
factory_test.go
pkg/kubectl/cmd/util/factory_test.go
+3
-6
builder.go
pkg/kubectl/resource/builder.go
+24
-18
builder_test.go
pkg/kubectl/resource/builder_test.go
+9
-7
mapper.go
pkg/kubectl/resource/mapper.go
+6
-11
selector.go
pkg/kubectl/resource/selector.go
+3
-7
visitor.go
pkg/kubectl/resource/visitor.go
+14
-16
scheme.go
...kg/apis/meta/v1/unstructured/unstructuredscheme/scheme.go
+8
-0
No files found.
pkg/kubectl/cmd/attach.go
View file @
6fbcbc99
...
@@ -146,7 +146,7 @@ func (p *AttachOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, argsIn [
...
@@ -146,7 +146,7 @@ func (p *AttachOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, argsIn [
}
}
builder
:=
f
.
NewBuilder
()
.
builder
:=
f
.
NewBuilder
()
.
Internal
()
.
Internal
(
legacyscheme
.
Scheme
)
.
NamespaceParam
(
namespace
)
.
DefaultNamespace
()
NamespaceParam
(
namespace
)
.
DefaultNamespace
()
switch
len
(
argsIn
)
{
switch
len
(
argsIn
)
{
...
...
pkg/kubectl/cmd/auth/reconcile.go
View file @
6fbcbc99
...
@@ -23,6 +23,7 @@ import (
...
@@ -23,6 +23,7 @@ import (
"github.com/golang/glog"
"github.com/golang/glog"
"github.com/spf13/cobra"
"github.com/spf13/cobra"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/apis/rbac"
"k8s.io/kubernetes/pkg/apis/rbac"
internalcoreclient
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion"
internalcoreclient
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion"
internalrbacclient
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion"
internalrbacclient
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion"
...
@@ -95,7 +96,7 @@ func (o *ReconcileOptions) Complete(cmd *cobra.Command, f cmdutil.Factory, args
...
@@ -95,7 +96,7 @@ func (o *ReconcileOptions) Complete(cmd *cobra.Command, f cmdutil.Factory, args
}
}
r
:=
f
.
NewBuilder
()
.
r
:=
f
.
NewBuilder
()
.
Internal
()
.
Internal
(
legacyscheme
.
Scheme
)
.
ContinueOnError
()
.
ContinueOnError
()
.
NamespaceParam
(
namespace
)
.
DefaultNamespace
()
.
NamespaceParam
(
namespace
)
.
DefaultNamespace
()
.
FilenameParam
(
enforceNamespace
,
options
)
.
FilenameParam
(
enforceNamespace
,
options
)
.
...
...
pkg/kubectl/cmd/autoscale.go
View file @
6fbcbc99
...
@@ -197,7 +197,7 @@ func (o *AutoscaleOptions) Validate(cmd *cobra.Command) error {
...
@@ -197,7 +197,7 @@ func (o *AutoscaleOptions) Validate(cmd *cobra.Command) error {
func
(
o
*
AutoscaleOptions
)
Run
()
error
{
func
(
o
*
AutoscaleOptions
)
Run
()
error
{
r
:=
o
.
Builder
.
r
:=
o
.
Builder
.
Internal
()
.
Internal
(
legacyscheme
.
Scheme
)
.
ContinueOnError
()
.
ContinueOnError
()
.
NamespaceParam
(
o
.
Namespace
)
.
DefaultNamespace
()
.
NamespaceParam
(
o
.
Namespace
)
.
DefaultNamespace
()
.
FilenameParam
(
o
.
EnforceNamespace
,
o
.
FilenameOptions
)
.
FilenameParam
(
o
.
EnforceNamespace
,
o
.
FilenameOptions
)
.
...
@@ -231,13 +231,11 @@ func (o *AutoscaleOptions) Run() error {
...
@@ -231,13 +231,11 @@ func (o *AutoscaleOptions) Run() error {
}
}
resourceMapper
:=
&
resource
.
Mapper
{
resourceMapper
:=
&
resource
.
Mapper
{
ObjectTyper
:
o
.
Typer
,
RESTMapper
:
o
.
Mapper
,
ObjectConverter
:
legacyscheme
.
Scheme
,
ClientMapper
:
resource
.
ClientMapperFunc
(
o
.
ClientForMapping
),
RESTMapper
:
o
.
Mapper
,
Decoder
:
cmdutil
.
InternalVersionDecoder
(),
ClientMapper
:
resource
.
ClientMapperFunc
(
o
.
ClientForMapping
),
Decoder
:
cmdutil
.
InternalVersionDecoder
(),
}
}
hpa
,
err
:=
resourceMapper
.
InfoForObject
(
object
,
nil
)
hpa
,
err
:=
resourceMapper
.
InfoForObject
(
object
,
legacyscheme
.
Scheme
,
nil
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
...
@@ -253,7 +251,7 @@ func (o *AutoscaleOptions) Run() error {
...
@@ -253,7 +251,7 @@ func (o *AutoscaleOptions) Run() error {
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
return
printer
.
PrintObj
(
hpa
.
AsVersioned
(),
o
.
Out
)
return
printer
.
PrintObj
(
hpa
.
AsVersioned
(
legacyscheme
.
Scheme
),
o
.
Out
)
}
}
if
err
:=
kubectl
.
CreateOrUpdateAnnotation
(
o
.
CreateAnnotation
,
hpa
.
Object
,
cmdutil
.
InternalVersionJSONEncoder
());
err
!=
nil
{
if
err
:=
kubectl
.
CreateOrUpdateAnnotation
(
o
.
CreateAnnotation
,
hpa
.
Object
,
cmdutil
.
InternalVersionJSONEncoder
());
err
!=
nil
{
...
@@ -270,7 +268,7 @@ func (o *AutoscaleOptions) Run() error {
...
@@ -270,7 +268,7 @@ func (o *AutoscaleOptions) Run() error {
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
return
printer
.
PrintObj
(
info
.
AsVersioned
(),
o
.
Out
)
return
printer
.
PrintObj
(
info
.
AsVersioned
(
legacyscheme
.
Scheme
),
o
.
Out
)
})
})
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
...
...
pkg/kubectl/cmd/certificates.go
View file @
6fbcbc99
...
@@ -22,6 +22,7 @@ import (
...
@@ -22,6 +22,7 @@ import (
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/apis/certificates"
"k8s.io/kubernetes/pkg/apis/certificates"
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
...
@@ -203,7 +204,7 @@ func (o *CertificateOptions) RunCertificateDeny(force bool) error {
...
@@ -203,7 +204,7 @@ func (o *CertificateOptions) RunCertificateDeny(force bool) error {
func
(
options
*
CertificateOptions
)
modifyCertificateCondition
(
builder
*
resource
.
Builder
,
clientSet
internalclientset
.
Interface
,
force
bool
,
modify
func
(
csr
*
certificates
.
CertificateSigningRequest
)
(
*
certificates
.
CertificateSigningRequest
,
bool
))
error
{
func
(
options
*
CertificateOptions
)
modifyCertificateCondition
(
builder
*
resource
.
Builder
,
clientSet
internalclientset
.
Interface
,
force
bool
,
modify
func
(
csr
*
certificates
.
CertificateSigningRequest
)
(
*
certificates
.
CertificateSigningRequest
,
bool
))
error
{
var
found
int
var
found
int
r
:=
builder
.
r
:=
builder
.
Internal
()
.
Internal
(
legacyscheme
.
Scheme
)
.
ContinueOnError
()
.
ContinueOnError
()
.
FilenameParam
(
false
,
&
options
.
FilenameOptions
)
.
FilenameParam
(
false
,
&
options
.
FilenameOptions
)
.
ResourceNames
(
"certificatesigningrequest"
,
options
.
csrNames
...
)
.
ResourceNames
(
"certificatesigningrequest"
,
options
.
csrNames
...
)
.
...
@@ -227,7 +228,7 @@ func (options *CertificateOptions) modifyCertificateCondition(builder *resource.
...
@@ -227,7 +228,7 @@ func (options *CertificateOptions) modifyCertificateCondition(builder *resource.
}
}
found
++
found
++
return
options
.
PrintObj
(
info
.
AsVersioned
(),
options
.
Out
)
return
options
.
PrintObj
(
info
.
AsVersioned
(
legacyscheme
.
Scheme
),
options
.
Out
)
})
})
if
found
==
0
{
if
found
==
0
{
fmt
.
Fprintf
(
options
.
Out
,
"No resources found
\n
"
)
fmt
.
Fprintf
(
options
.
Out
,
"No resources found
\n
"
)
...
...
pkg/kubectl/cmd/clusterinfo.go
View file @
6fbcbc99
...
@@ -24,6 +24,7 @@ import (
...
@@ -24,6 +24,7 @@ import (
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
utilnet
"k8s.io/apimachinery/pkg/util/net"
utilnet
"k8s.io/apimachinery/pkg/util/net"
restclient
"k8s.io/client-go/rest"
restclient
"k8s.io/client-go/rest"
"k8s.io/kubernetes/pkg/api/legacyscheme"
api
"k8s.io/kubernetes/pkg/apis/core"
api
"k8s.io/kubernetes/pkg/apis/core"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
...
@@ -95,7 +96,7 @@ func (o *ClusterInfoOptions) Run() error {
...
@@ -95,7 +96,7 @@ func (o *ClusterInfoOptions) Run() error {
// TODO use generalized labels once they are implemented (#341)
// TODO use generalized labels once they are implemented (#341)
b
:=
o
.
Builder
.
b
:=
o
.
Builder
.
Internal
()
.
Internal
(
legacyscheme
.
Scheme
)
.
NamespaceParam
(
o
.
Namespace
)
.
DefaultNamespace
()
.
NamespaceParam
(
o
.
Namespace
)
.
DefaultNamespace
()
.
LabelSelectorParam
(
"kubernetes.io/cluster-service=true"
)
.
LabelSelectorParam
(
"kubernetes.io/cluster-service=true"
)
.
ResourceTypeOrNameArgs
(
false
,
[]
string
{
"services"
}
...
)
.
ResourceTypeOrNameArgs
(
false
,
[]
string
{
"services"
}
...
)
.
...
...
pkg/kubectl/cmd/convert.go
View file @
6fbcbc99
...
@@ -129,7 +129,7 @@ func (o *ConvertOptions) Complete(f cmdutil.Factory, cmd *cobra.Command) (err er
...
@@ -129,7 +129,7 @@ func (o *ConvertOptions) Complete(f cmdutil.Factory, cmd *cobra.Command) (err er
// build the builder
// build the builder
o
.
builder
=
f
.
NewBuilder
()
.
o
.
builder
=
f
.
NewBuilder
()
.
Internal
()
.
Internal
(
scheme
.
Scheme
)
.
LocalParam
(
o
.
local
)
LocalParam
(
o
.
local
)
if
!
o
.
local
{
if
!
o
.
local
{
schema
,
err
:=
f
.
Validator
(
cmdutil
.
GetFlagBool
(
cmd
,
"validate"
))
schema
,
err
:=
f
.
Validator
(
cmdutil
.
GetFlagBool
(
cmd
,
"validate"
))
...
...
pkg/kubectl/cmd/create/create.go
View file @
6fbcbc99
...
@@ -405,12 +405,10 @@ func RunCreateSubcommand(f cmdutil.Factory, options *CreateSubcommandOptions) er
...
@@ -405,12 +405,10 @@ func RunCreateSubcommand(f cmdutil.Factory, options *CreateSubcommandOptions) er
return
err
return
err
}
}
resourceMapper
:=
&
resource
.
Mapper
{
resourceMapper
:=
&
resource
.
Mapper
{
ObjectTyper
:
typer
,
RESTMapper
:
mapper
,
ObjectConverter
:
legacyscheme
.
Scheme
,
ClientMapper
:
resource
.
ClientMapperFunc
(
f
.
ClientForMapping
),
RESTMapper
:
mapper
,
ClientMapper
:
resource
.
ClientMapperFunc
(
f
.
ClientForMapping
),
}
}
info
,
err
:=
resourceMapper
.
InfoForObject
(
obj
,
nil
)
info
,
err
:=
resourceMapper
.
InfoForObject
(
obj
,
legacyscheme
.
Scheme
,
nil
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
...
@@ -424,7 +422,7 @@ func RunCreateSubcommand(f cmdutil.Factory, options *CreateSubcommandOptions) er
...
@@ -424,7 +422,7 @@ func RunCreateSubcommand(f cmdutil.Factory, options *CreateSubcommandOptions) er
}
}
// ensure we pass a versioned object to the printer
// ensure we pass a versioned object to the printer
obj
=
info
.
AsVersioned
()
obj
=
info
.
AsVersioned
(
legacyscheme
.
Scheme
)
}
else
{
}
else
{
if
meta
,
err
:=
meta
.
Accessor
(
obj
);
err
==
nil
&&
nsOverriden
{
if
meta
,
err
:=
meta
.
Accessor
(
obj
);
err
==
nil
&&
nsOverriden
{
meta
.
SetNamespace
(
namespace
)
meta
.
SetNamespace
(
namespace
)
...
...
pkg/kubectl/cmd/drain.go
View file @
6fbcbc99
...
@@ -283,7 +283,7 @@ func (o *DrainOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args []st
...
@@ -283,7 +283,7 @@ func (o *DrainOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args []st
}
}
builder
:=
f
.
NewBuilder
()
.
builder
:=
f
.
NewBuilder
()
.
Internal
()
.
Internal
(
legacyscheme
.
Scheme
)
.
NamespaceParam
(
o
.
Namespace
)
.
DefaultNamespace
()
.
NamespaceParam
(
o
.
Namespace
)
.
DefaultNamespace
()
.
ResourceNames
(
"nodes"
,
args
...
)
.
ResourceNames
(
"nodes"
,
args
...
)
.
SingleResourceType
()
.
SingleResourceType
()
.
...
@@ -741,7 +741,7 @@ func (o *DrainOptions) RunCordonOrUncordon(desired bool) error {
...
@@ -741,7 +741,7 @@ func (o *DrainOptions) RunCordonOrUncordon(desired bool) error {
fmt
.
Printf
(
"error: %v"
,
err
)
fmt
.
Printf
(
"error: %v"
,
err
)
continue
continue
}
}
printer
.
PrintObj
(
nodeInfo
.
AsVersioned
(),
o
.
Out
)
printer
.
PrintObj
(
nodeInfo
.
AsVersioned
(
legacyscheme
.
Scheme
),
o
.
Out
)
}
else
{
}
else
{
if
!
o
.
DryRun
{
if
!
o
.
DryRun
{
helper
:=
resource
.
NewHelper
(
o
.
restClient
,
nodeInfo
.
Mapping
)
helper
:=
resource
.
NewHelper
(
o
.
restClient
,
nodeInfo
.
Mapping
)
...
@@ -767,7 +767,7 @@ func (o *DrainOptions) RunCordonOrUncordon(desired bool) error {
...
@@ -767,7 +767,7 @@ func (o *DrainOptions) RunCordonOrUncordon(desired bool) error {
fmt
.
Fprintf
(
o
.
ErrOut
,
"%v"
,
err
)
fmt
.
Fprintf
(
o
.
ErrOut
,
"%v"
,
err
)
continue
continue
}
}
printer
.
PrintObj
(
nodeInfo
.
AsVersioned
(),
o
.
Out
)
printer
.
PrintObj
(
nodeInfo
.
AsVersioned
(
legacyscheme
.
Scheme
),
o
.
Out
)
}
}
}
else
{
}
else
{
printer
,
err
:=
o
.
ToPrinter
(
"skipped"
)
printer
,
err
:=
o
.
ToPrinter
(
"skipped"
)
...
@@ -775,7 +775,7 @@ func (o *DrainOptions) RunCordonOrUncordon(desired bool) error {
...
@@ -775,7 +775,7 @@ func (o *DrainOptions) RunCordonOrUncordon(desired bool) error {
fmt
.
Fprintf
(
o
.
ErrOut
,
"%v"
,
err
)
fmt
.
Fprintf
(
o
.
ErrOut
,
"%v"
,
err
)
continue
continue
}
}
printer
.
PrintObj
(
nodeInfo
.
AsVersioned
(),
o
.
Out
)
printer
.
PrintObj
(
nodeInfo
.
AsVersioned
(
legacyscheme
.
Scheme
),
o
.
Out
)
}
}
}
}
...
...
pkg/kubectl/cmd/expose.go
View file @
6fbcbc99
...
@@ -201,7 +201,7 @@ func (o *ExposeServiceOptions) Complete(f cmdutil.Factory, cmd *cobra.Command) e
...
@@ -201,7 +201,7 @@ func (o *ExposeServiceOptions) Complete(f cmdutil.Factory, cmd *cobra.Command) e
func
(
o
*
ExposeServiceOptions
)
RunExpose
(
cmd
*
cobra
.
Command
,
args
[]
string
)
error
{
func
(
o
*
ExposeServiceOptions
)
RunExpose
(
cmd
*
cobra
.
Command
,
args
[]
string
)
error
{
r
:=
o
.
Builder
.
r
:=
o
.
Builder
.
Internal
()
.
Internal
(
legacyscheme
.
Scheme
)
.
ContinueOnError
()
.
ContinueOnError
()
.
NamespaceParam
(
o
.
Namespace
)
.
DefaultNamespace
()
.
NamespaceParam
(
o
.
Namespace
)
.
DefaultNamespace
()
.
FilenameParam
(
o
.
EnforceNamespace
,
&
o
.
FilenameOptions
)
.
FilenameParam
(
o
.
EnforceNamespace
,
&
o
.
FilenameOptions
)
.
...
@@ -312,13 +312,11 @@ func (o *ExposeServiceOptions) RunExpose(cmd *cobra.Command, args []string) erro
...
@@ -312,13 +312,11 @@ func (o *ExposeServiceOptions) RunExpose(cmd *cobra.Command, args []string) erro
}
}
resourceMapper
:=
&
resource
.
Mapper
{
resourceMapper
:=
&
resource
.
Mapper
{
ObjectTyper
:
o
.
Typer
,
RESTMapper
:
o
.
Mapper
,
ObjectConverter
:
legacyscheme
.
Scheme
,
ClientMapper
:
resource
.
ClientMapperFunc
(
o
.
ClientForMapping
),
RESTMapper
:
o
.
Mapper
,
Decoder
:
cmdutil
.
InternalVersionDecoder
(),
ClientMapper
:
resource
.
ClientMapperFunc
(
o
.
ClientForMapping
),
Decoder
:
cmdutil
.
InternalVersionDecoder
(),
}
}
info
,
err
=
resourceMapper
.
InfoForObject
(
object
,
nil
)
info
,
err
=
resourceMapper
.
InfoForObject
(
object
,
legacyscheme
.
Scheme
,
nil
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
...
@@ -339,7 +337,7 @@ func (o *ExposeServiceOptions) RunExpose(cmd *cobra.Command, args []string) erro
...
@@ -339,7 +337,7 @@ func (o *ExposeServiceOptions) RunExpose(cmd *cobra.Command, args []string) erro
return
err
return
err
}
}
return
o
.
PrintObj
(
info
.
AsVersioned
(),
o
.
Out
)
return
o
.
PrintObj
(
info
.
AsVersioned
(
legacyscheme
.
Scheme
),
o
.
Out
)
})
})
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
...
...
pkg/kubectl/cmd/logs.go
View file @
6fbcbc99
...
@@ -30,6 +30,7 @@ import (
...
@@ -30,6 +30,7 @@ import (
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
restclient
"k8s.io/client-go/rest"
restclient
"k8s.io/client-go/rest"
"k8s.io/kubernetes/pkg/api/legacyscheme"
api
"k8s.io/kubernetes/pkg/apis/core"
api
"k8s.io/kubernetes/pkg/apis/core"
"k8s.io/kubernetes/pkg/apis/core/validation"
"k8s.io/kubernetes/pkg/apis/core/validation"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
...
@@ -201,7 +202,7 @@ func (o *LogsOptions) Complete(f cmdutil.Factory, out io.Writer, cmd *cobra.Comm
...
@@ -201,7 +202,7 @@ func (o *LogsOptions) Complete(f cmdutil.Factory, out io.Writer, cmd *cobra.Comm
if
o
.
Object
==
nil
{
if
o
.
Object
==
nil
{
builder
:=
f
.
NewBuilder
()
.
builder
:=
f
.
NewBuilder
()
.
Internal
()
.
Internal
(
legacyscheme
.
Scheme
)
.
NamespaceParam
(
o
.
Namespace
)
.
DefaultNamespace
()
.
NamespaceParam
(
o
.
Namespace
)
.
DefaultNamespace
()
.
SingleResourceType
()
SingleResourceType
()
if
o
.
ResourceArg
!=
""
{
if
o
.
ResourceArg
!=
""
{
...
...
pkg/kubectl/cmd/portforward.go
View file @
6fbcbc99
...
@@ -33,6 +33,7 @@ import (
...
@@ -33,6 +33,7 @@ import (
restclient
"k8s.io/client-go/rest"
restclient
"k8s.io/client-go/rest"
"k8s.io/client-go/tools/portforward"
"k8s.io/client-go/tools/portforward"
"k8s.io/client-go/transport/spdy"
"k8s.io/client-go/transport/spdy"
"k8s.io/kubernetes/pkg/api/legacyscheme"
api
"k8s.io/kubernetes/pkg/apis/core"
api
"k8s.io/kubernetes/pkg/apis/core"
coreclient
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion"
coreclient
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
...
@@ -179,7 +180,7 @@ func (o *PortForwardOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, arg
...
@@ -179,7 +180,7 @@ func (o *PortForwardOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, arg
}
}
builder
:=
f
.
NewBuilder
()
.
builder
:=
f
.
NewBuilder
()
.
Internal
()
.
Internal
(
legacyscheme
.
Scheme
)
.
ContinueOnError
()
.
ContinueOnError
()
.
NamespaceParam
(
o
.
Namespace
)
.
DefaultNamespace
()
NamespaceParam
(
o
.
Namespace
)
.
DefaultNamespace
()
...
...
pkg/kubectl/cmd/rollout/rollout_history.go
View file @
6fbcbc99
...
@@ -20,6 +20,7 @@ import (
...
@@ -20,6 +20,7 @@ import (
"fmt"
"fmt"
"io"
"io"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
...
@@ -81,7 +82,7 @@ func RunHistory(f cmdutil.Factory, cmd *cobra.Command, out io.Writer, args []str
...
@@ -81,7 +82,7 @@ func RunHistory(f cmdutil.Factory, cmd *cobra.Command, out io.Writer, args []str
}
}
r
:=
f
.
NewBuilder
()
.
r
:=
f
.
NewBuilder
()
.
Internal
()
.
Internal
(
legacyscheme
.
Scheme
)
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
FilenameParam
(
enforceNamespace
,
options
)
.
FilenameParam
(
enforceNamespace
,
options
)
.
ResourceTypeOrNameArgs
(
true
,
args
...
)
.
ResourceTypeOrNameArgs
(
true
,
args
...
)
.
...
...
pkg/kubectl/cmd/rollout/rollout_pause.go
View file @
6fbcbc99
...
@@ -26,6 +26,7 @@ import (
...
@@ -26,6 +26,7 @@ import (
"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"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl/cmd/set"
"k8s.io/kubernetes/pkg/kubectl/cmd/set"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
...
@@ -111,7 +112,7 @@ func (o *PauseConfig) CompletePause(f cmdutil.Factory, cmd *cobra.Command, out i
...
@@ -111,7 +112,7 @@ func (o *PauseConfig) CompletePause(f cmdutil.Factory, cmd *cobra.Command, out i
}
}
r
:=
f
.
NewBuilder
()
.
r
:=
f
.
NewBuilder
()
.
Internal
()
.
Internal
(
legacyscheme
.
Scheme
)
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
FilenameParam
(
enforceNamespace
,
&
o
.
FilenameOptions
)
.
FilenameParam
(
enforceNamespace
,
&
o
.
FilenameOptions
)
.
ResourceTypeOrNameArgs
(
true
,
args
...
)
.
ResourceTypeOrNameArgs
(
true
,
args
...
)
.
...
...
pkg/kubectl/cmd/rollout/rollout_resume.go
View file @
6fbcbc99
...
@@ -26,6 +26,7 @@ import (
...
@@ -26,6 +26,7 @@ import (
"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"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl/cmd/set"
"k8s.io/kubernetes/pkg/kubectl/cmd/set"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
...
@@ -109,7 +110,7 @@ func (o *ResumeConfig) CompleteResume(f cmdutil.Factory, cmd *cobra.Command, out
...
@@ -109,7 +110,7 @@ func (o *ResumeConfig) CompleteResume(f cmdutil.Factory, cmd *cobra.Command, out
}
}
r
:=
f
.
NewBuilder
()
.
r
:=
f
.
NewBuilder
()
.
Internal
()
.
Internal
(
legacyscheme
.
Scheme
)
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
FilenameParam
(
enforceNamespace
,
&
o
.
FilenameOptions
)
.
FilenameParam
(
enforceNamespace
,
&
o
.
FilenameOptions
)
.
ResourceTypeOrNameArgs
(
true
,
args
...
)
.
ResourceTypeOrNameArgs
(
true
,
args
...
)
.
...
...
pkg/kubectl/cmd/rollout/rollout_status.go
View file @
6fbcbc99
...
@@ -22,6 +22,7 @@ import (
...
@@ -22,6 +22,7 @@ import (
"k8s.io/apimachinery/pkg/api/meta"
"k8s.io/apimachinery/pkg/api/meta"
"k8s.io/apimachinery/pkg/watch"
"k8s.io/apimachinery/pkg/watch"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
...
@@ -85,7 +86,7 @@ func RunStatus(f cmdutil.Factory, cmd *cobra.Command, out io.Writer, args []stri
...
@@ -85,7 +86,7 @@ func RunStatus(f cmdutil.Factory, cmd *cobra.Command, out io.Writer, args []stri
}
}
r
:=
f
.
NewBuilder
()
.
r
:=
f
.
NewBuilder
()
.
Internal
()
.
Internal
(
legacyscheme
.
Scheme
)
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
FilenameParam
(
enforceNamespace
,
options
)
.
FilenameParam
(
enforceNamespace
,
options
)
.
ResourceTypeOrNameArgs
(
true
,
args
...
)
.
ResourceTypeOrNameArgs
(
true
,
args
...
)
.
...
...
pkg/kubectl/cmd/rollout/rollout_undo.go
View file @
6fbcbc99
...
@@ -22,6 +22,7 @@ import (
...
@@ -22,6 +22,7 @@ import (
"k8s.io/apimachinery/pkg/api/meta"
"k8s.io/apimachinery/pkg/api/meta"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
utilerrors
"k8s.io/apimachinery/pkg/util/errors"
utilerrors
"k8s.io/apimachinery/pkg/util/errors"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
...
@@ -112,7 +113,7 @@ func (o *UndoOptions) CompleteUndo(f cmdutil.Factory, cmd *cobra.Command, out io
...
@@ -112,7 +113,7 @@ func (o *UndoOptions) CompleteUndo(f cmdutil.Factory, cmd *cobra.Command, out io
}
}
r
:=
f
.
NewBuilder
()
.
r
:=
f
.
NewBuilder
()
.
Internal
()
.
Internal
(
legacyscheme
.
Scheme
)
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
FilenameParam
(
enforceNamespace
,
&
o
.
FilenameOptions
)
.
FilenameParam
(
enforceNamespace
,
&
o
.
FilenameOptions
)
.
ResourceTypeOrNameArgs
(
true
,
args
...
)
.
ResourceTypeOrNameArgs
(
true
,
args
...
)
.
...
...
pkg/kubectl/cmd/run.go
View file @
6fbcbc99
...
@@ -458,7 +458,7 @@ func (o *RunOptions) removeCreatedObjects(f cmdutil.Factory, createdObjects []*R
...
@@ -458,7 +458,7 @@ func (o *RunOptions) removeCreatedObjects(f cmdutil.Factory, createdObjects []*R
return
err
return
err
}
}
r
:=
f
.
NewBuilder
()
.
r
:=
f
.
NewBuilder
()
.
Internal
()
.
Internal
(
legacyscheme
.
Scheme
)
.
ContinueOnError
()
.
ContinueOnError
()
.
NamespaceParam
(
namespace
)
.
DefaultNamespace
()
.
NamespaceParam
(
namespace
)
.
DefaultNamespace
()
.
ResourceNames
(
obj
.
Mapping
.
Resource
,
name
)
.
ResourceNames
(
obj
.
Mapping
.
Resource
,
name
)
.
...
@@ -674,13 +674,11 @@ func (o *RunOptions) createGeneratedObject(f cmdutil.Factory, cmd *cobra.Command
...
@@ -674,13 +674,11 @@ func (o *RunOptions) createGeneratedObject(f cmdutil.Factory, cmd *cobra.Command
versioned
:=
obj
versioned
:=
obj
if
!
o
.
DryRun
{
if
!
o
.
DryRun
{
resourceMapper
:=
&
resource
.
Mapper
{
resourceMapper
:=
&
resource
.
Mapper
{
ObjectTyper
:
typer
,
RESTMapper
:
mapper
,
ObjectConverter
:
legacyscheme
.
Scheme
,
ClientMapper
:
resource
.
ClientMapperFunc
(
f
.
ClientForMapping
),
RESTMapper
:
mapper
,
Decoder
:
cmdutil
.
InternalVersionDecoder
(),
ClientMapper
:
resource
.
ClientMapperFunc
(
f
.
ClientForMapping
),
Decoder
:
cmdutil
.
InternalVersionDecoder
(),
}
}
info
,
err
:=
resourceMapper
.
InfoForObject
(
obj
,
nil
)
info
,
err
:=
resourceMapper
.
InfoForObject
(
obj
,
legacyscheme
.
Scheme
,
nil
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
...
@@ -694,7 +692,7 @@ func (o *RunOptions) createGeneratedObject(f cmdutil.Factory, cmd *cobra.Command
...
@@ -694,7 +692,7 @@ func (o *RunOptions) createGeneratedObject(f cmdutil.Factory, cmd *cobra.Command
return
nil
,
err
return
nil
,
err
}
}
versioned
=
info
.
AsVersioned
()
versioned
=
info
.
AsVersioned
(
legacyscheme
.
Scheme
)
}
}
return
&
RunObject
{
return
&
RunObject
{
Versioned
:
versioned
,
Versioned
:
versioned
,
...
...
pkg/kubectl/cmd/set/set_env.go
View file @
6fbcbc99
...
@@ -253,7 +253,7 @@ func (o *EnvOptions) RunEnv(f cmdutil.Factory) error {
...
@@ -253,7 +253,7 @@ func (o *EnvOptions) RunEnv(f cmdutil.Factory) error {
if
len
(
o
.
From
)
!=
0
{
if
len
(
o
.
From
)
!=
0
{
b
:=
f
.
NewBuilder
()
.
b
:=
f
.
NewBuilder
()
.
Internal
()
.
Internal
(
legacyscheme
.
Scheme
)
.
LocalParam
(
o
.
Local
)
.
LocalParam
(
o
.
Local
)
.
ContinueOnError
()
.
ContinueOnError
()
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
...
@@ -321,7 +321,7 @@ func (o *EnvOptions) RunEnv(f cmdutil.Factory) error {
...
@@ -321,7 +321,7 @@ func (o *EnvOptions) RunEnv(f cmdutil.Factory) error {
}
}
b
:=
f
.
NewBuilder
()
.
b
:=
f
.
NewBuilder
()
.
Internal
()
.
Internal
(
legacyscheme
.
Scheme
)
.
LocalParam
(
o
.
Local
)
.
LocalParam
(
o
.
Local
)
.
ContinueOnError
()
.
ContinueOnError
()
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
...
@@ -339,7 +339,7 @@ func (o *EnvOptions) RunEnv(f cmdutil.Factory) error {
...
@@ -339,7 +339,7 @@ func (o *EnvOptions) RunEnv(f cmdutil.Factory) error {
return
err
return
err
}
}
patches
:=
CalculatePatches
(
o
.
Infos
,
cmdutil
.
InternalVersionJSONEncoder
(),
func
(
info
*
resource
.
Info
)
([]
byte
,
error
)
{
patches
:=
CalculatePatches
(
o
.
Infos
,
cmdutil
.
InternalVersionJSONEncoder
(),
func
(
info
*
resource
.
Info
)
([]
byte
,
error
)
{
info
.
Object
=
info
.
AsVersioned
()
info
.
Object
=
info
.
AsVersioned
(
legacyscheme
.
Scheme
)
_
,
err
:=
o
.
UpdatePodSpecForObject
(
info
.
Object
,
func
(
spec
*
v1
.
PodSpec
)
error
{
_
,
err
:=
o
.
UpdatePodSpecForObject
(
info
.
Object
,
func
(
spec
*
v1
.
PodSpec
)
error
{
resolutionErrorsEncountered
:=
false
resolutionErrorsEncountered
:=
false
containers
,
_
:=
selectContainers
(
spec
.
Containers
,
o
.
ContainerSelector
)
containers
,
_
:=
selectContainers
(
spec
.
Containers
,
o
.
ContainerSelector
)
...
@@ -430,7 +430,7 @@ func (o *EnvOptions) RunEnv(f cmdutil.Factory) error {
...
@@ -430,7 +430,7 @@ func (o *EnvOptions) RunEnv(f cmdutil.Factory) error {
}
}
if
o
.
Local
||
o
.
DryRun
{
if
o
.
Local
||
o
.
DryRun
{
if
err
:=
o
.
PrintObj
(
patch
.
Info
.
AsVersioned
(),
o
.
Out
);
err
!=
nil
{
if
err
:=
o
.
PrintObj
(
patch
.
Info
.
AsVersioned
(
legacyscheme
.
Scheme
),
o
.
Out
);
err
!=
nil
{
return
err
return
err
}
}
continue
continue
...
@@ -449,7 +449,7 @@ func (o *EnvOptions) RunEnv(f cmdutil.Factory) error {
...
@@ -449,7 +449,7 @@ func (o *EnvOptions) RunEnv(f cmdutil.Factory) error {
return
fmt
.
Errorf
(
"at least one environment variable must be provided"
)
return
fmt
.
Errorf
(
"at least one environment variable must be provided"
)
}
}
if
err
:=
o
.
PrintObj
(
info
.
AsVersioned
(),
o
.
Out
);
err
!=
nil
{
if
err
:=
o
.
PrintObj
(
info
.
AsVersioned
(
legacyscheme
.
Scheme
),
o
.
Out
);
err
!=
nil
{
return
err
return
err
}
}
}
}
...
...
pkg/kubectl/cmd/set/set_image.go
View file @
6fbcbc99
...
@@ -19,6 +19,7 @@ package set
...
@@ -19,6 +19,7 @@ package set
import
(
import
(
"fmt"
"fmt"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/printers"
"k8s.io/kubernetes/pkg/printers"
"github.com/golang/glog"
"github.com/golang/glog"
...
@@ -160,7 +161,7 @@ func (o *SetImageOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args [
...
@@ -160,7 +161,7 @@ func (o *SetImageOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args [
includeUninitialized
:=
cmdutil
.
ShouldIncludeUninitialized
(
cmd
,
false
)
includeUninitialized
:=
cmdutil
.
ShouldIncludeUninitialized
(
cmd
,
false
)
builder
:=
f
.
NewBuilder
()
.
builder
:=
f
.
NewBuilder
()
.
Internal
()
.
Internal
(
legacyscheme
.
Scheme
)
.
LocalParam
(
o
.
Local
)
.
LocalParam
(
o
.
Local
)
.
ContinueOnError
()
.
ContinueOnError
()
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
...
@@ -210,7 +211,7 @@ func (o *SetImageOptions) Run() error {
...
@@ -210,7 +211,7 @@ func (o *SetImageOptions) Run() error {
patches
:=
CalculatePatches
(
o
.
Infos
,
cmdutil
.
InternalVersionJSONEncoder
(),
func
(
info
*
resource
.
Info
)
([]
byte
,
error
)
{
patches
:=
CalculatePatches
(
o
.
Infos
,
cmdutil
.
InternalVersionJSONEncoder
(),
func
(
info
*
resource
.
Info
)
([]
byte
,
error
)
{
transformed
:=
false
transformed
:=
false
info
.
Object
=
info
.
AsVersioned
()
info
.
Object
=
info
.
AsVersioned
(
legacyscheme
.
Scheme
)
_
,
err
:=
o
.
UpdatePodSpecForObject
(
info
.
Object
,
func
(
spec
*
v1
.
PodSpec
)
error
{
_
,
err
:=
o
.
UpdatePodSpecForObject
(
info
.
Object
,
func
(
spec
*
v1
.
PodSpec
)
error
{
for
name
,
image
:=
range
o
.
ContainerImages
{
for
name
,
image
:=
range
o
.
ContainerImages
{
var
(
var
(
...
@@ -274,7 +275,7 @@ func (o *SetImageOptions) Run() error {
...
@@ -274,7 +275,7 @@ func (o *SetImageOptions) Run() error {
}
}
if
o
.
Local
||
o
.
DryRun
{
if
o
.
Local
||
o
.
DryRun
{
if
err
:=
o
.
PrintObj
(
patch
.
Info
.
AsVersioned
(),
o
.
Out
);
err
!=
nil
{
if
err
:=
o
.
PrintObj
(
patch
.
Info
.
AsVersioned
(
legacyscheme
.
Scheme
),
o
.
Out
);
err
!=
nil
{
return
err
return
err
}
}
continue
continue
...
@@ -288,7 +289,7 @@ func (o *SetImageOptions) Run() error {
...
@@ -288,7 +289,7 @@ func (o *SetImageOptions) Run() error {
}
}
info
.
Refresh
(
obj
,
true
)
info
.
Refresh
(
obj
,
true
)
if
err
:=
o
.
PrintObj
(
info
.
AsVersioned
(),
o
.
Out
);
err
!=
nil
{
if
err
:=
o
.
PrintObj
(
info
.
AsVersioned
(
legacyscheme
.
Scheme
),
o
.
Out
);
err
!=
nil
{
return
err
return
err
}
}
}
}
...
...
pkg/kubectl/cmd/set/set_resources.go
View file @
6fbcbc99
...
@@ -29,6 +29,7 @@ import (
...
@@ -29,6 +29,7 @@ import (
"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"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
...
@@ -172,7 +173,7 @@ func (o *SetResourcesOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, ar
...
@@ -172,7 +173,7 @@ func (o *SetResourcesOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, ar
includeUninitialized
:=
cmdutil
.
ShouldIncludeUninitialized
(
cmd
,
false
)
includeUninitialized
:=
cmdutil
.
ShouldIncludeUninitialized
(
cmd
,
false
)
builder
:=
f
.
NewBuilder
()
.
builder
:=
f
.
NewBuilder
()
.
Internal
()
.
Internal
(
legacyscheme
.
Scheme
)
.
LocalParam
(
o
.
Local
)
.
LocalParam
(
o
.
Local
)
.
ContinueOnError
()
.
ContinueOnError
()
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
...
@@ -223,7 +224,7 @@ func (o *SetResourcesOptions) Run() error {
...
@@ -223,7 +224,7 @@ func (o *SetResourcesOptions) Run() error {
allErrs
:=
[]
error
{}
allErrs
:=
[]
error
{}
patches
:=
CalculatePatches
(
o
.
Infos
,
cmdutil
.
InternalVersionJSONEncoder
(),
func
(
info
*
resource
.
Info
)
([]
byte
,
error
)
{
patches
:=
CalculatePatches
(
o
.
Infos
,
cmdutil
.
InternalVersionJSONEncoder
(),
func
(
info
*
resource
.
Info
)
([]
byte
,
error
)
{
transformed
:=
false
transformed
:=
false
info
.
Object
=
info
.
AsVersioned
()
info
.
Object
=
info
.
AsVersioned
(
legacyscheme
.
Scheme
)
_
,
err
:=
o
.
UpdatePodSpecForObject
(
info
.
Object
,
func
(
spec
*
v1
.
PodSpec
)
error
{
_
,
err
:=
o
.
UpdatePodSpecForObject
(
info
.
Object
,
func
(
spec
*
v1
.
PodSpec
)
error
{
containers
,
_
:=
selectContainers
(
spec
.
Containers
,
o
.
ContainerSelector
)
containers
,
_
:=
selectContainers
(
spec
.
Containers
,
o
.
ContainerSelector
)
if
len
(
containers
)
!=
0
{
if
len
(
containers
)
!=
0
{
...
@@ -276,7 +277,7 @@ func (o *SetResourcesOptions) Run() error {
...
@@ -276,7 +277,7 @@ func (o *SetResourcesOptions) Run() error {
}
}
if
o
.
Local
||
o
.
DryRun
{
if
o
.
Local
||
o
.
DryRun
{
if
err
:=
o
.
PrintObj
(
patch
.
Info
.
AsVersioned
(),
o
.
Out
);
err
!=
nil
{
if
err
:=
o
.
PrintObj
(
patch
.
Info
.
AsVersioned
(
legacyscheme
.
Scheme
),
o
.
Out
);
err
!=
nil
{
return
err
return
err
}
}
continue
continue
...
@@ -289,7 +290,7 @@ func (o *SetResourcesOptions) Run() error {
...
@@ -289,7 +290,7 @@ func (o *SetResourcesOptions) Run() error {
}
}
info
.
Refresh
(
obj
,
true
)
info
.
Refresh
(
obj
,
true
)
if
err
:=
o
.
PrintObj
(
info
.
AsVersioned
(),
o
.
Out
);
err
!=
nil
{
if
err
:=
o
.
PrintObj
(
info
.
AsVersioned
(
legacyscheme
.
Scheme
),
o
.
Out
);
err
!=
nil
{
return
err
return
err
}
}
}
}
...
...
pkg/kubectl/cmd/set/set_selector.go
View file @
6fbcbc99
...
@@ -29,6 +29,7 @@ import (
...
@@ -29,6 +29,7 @@ import (
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/util/validation"
"k8s.io/apimachinery/pkg/util/validation"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
"k8s.io/kubernetes/pkg/kubectl/genericclioptions"
"k8s.io/kubernetes/pkg/kubectl/genericclioptions"
...
@@ -149,7 +150,7 @@ func (o *SetSelectorOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, arg
...
@@ -149,7 +150,7 @@ func (o *SetSelectorOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, arg
includeUninitialized
:=
cmdutil
.
ShouldIncludeUninitialized
(
cmd
,
false
)
includeUninitialized
:=
cmdutil
.
ShouldIncludeUninitialized
(
cmd
,
false
)
o
.
builder
=
f
.
NewBuilder
()
.
o
.
builder
=
f
.
NewBuilder
()
.
Internal
()
.
Internal
(
legacyscheme
.
Scheme
)
.
LocalParam
(
o
.
local
)
.
LocalParam
(
o
.
local
)
.
ContinueOnError
()
.
ContinueOnError
()
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
...
@@ -207,7 +208,7 @@ func (o *SetSelectorOptions) RunSelector() error {
...
@@ -207,7 +208,7 @@ func (o *SetSelectorOptions) RunSelector() error {
return
r
.
Visit
(
func
(
info
*
resource
.
Info
,
err
error
)
error
{
return
r
.
Visit
(
func
(
info
*
resource
.
Info
,
err
error
)
error
{
patch
:=
&
Patch
{
Info
:
info
}
patch
:=
&
Patch
{
Info
:
info
}
CalculatePatch
(
patch
,
cmdutil
.
InternalVersionJSONEncoder
(),
func
(
info
*
resource
.
Info
)
([]
byte
,
error
)
{
CalculatePatch
(
patch
,
cmdutil
.
InternalVersionJSONEncoder
(),
func
(
info
*
resource
.
Info
)
([]
byte
,
error
)
{
versioned
:=
info
.
AsVersioned
()
versioned
:=
info
.
AsVersioned
(
legacyscheme
.
Scheme
)
patch
.
Info
.
Object
=
versioned
patch
.
Info
.
Object
=
versioned
selectErr
:=
updateSelectorForObject
(
info
.
Object
,
*
o
.
selector
)
selectErr
:=
updateSelectorForObject
(
info
.
Object
,
*
o
.
selector
)
if
selectErr
!=
nil
{
if
selectErr
!=
nil
{
...
@@ -235,7 +236,7 @@ func (o *SetSelectorOptions) RunSelector() error {
...
@@ -235,7 +236,7 @@ func (o *SetSelectorOptions) RunSelector() error {
}
}
info
.
Refresh
(
patched
,
true
)
info
.
Refresh
(
patched
,
true
)
return
o
.
PrintObj
(
patch
.
Info
.
AsVersioned
(),
o
.
Out
)
return
o
.
PrintObj
(
patch
.
Info
.
AsVersioned
(
legacyscheme
.
Scheme
),
o
.
Out
)
})
})
}
}
...
...
pkg/kubectl/cmd/set/set_serviceaccount.go
View file @
6fbcbc99
...
@@ -29,6 +29,7 @@ import (
...
@@ -29,6 +29,7 @@ import (
"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"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
"k8s.io/kubernetes/pkg/kubectl/genericclioptions"
"k8s.io/kubernetes/pkg/kubectl/genericclioptions"
...
@@ -151,7 +152,7 @@ func (o *SetServiceAccountOptions) Complete(f cmdutil.Factory, cmd *cobra.Comman
...
@@ -151,7 +152,7 @@ func (o *SetServiceAccountOptions) Complete(f cmdutil.Factory, cmd *cobra.Comman
resources
:=
args
[
:
len
(
args
)
-
1
]
resources
:=
args
[
:
len
(
args
)
-
1
]
includeUninitialized
:=
cmdutil
.
ShouldIncludeUninitialized
(
cmd
,
false
)
includeUninitialized
:=
cmdutil
.
ShouldIncludeUninitialized
(
cmd
,
false
)
builder
:=
f
.
NewBuilder
()
.
builder
:=
f
.
NewBuilder
()
.
Internal
()
.
Internal
(
legacyscheme
.
Scheme
)
.
LocalParam
(
o
.
local
)
.
LocalParam
(
o
.
local
)
.
ContinueOnError
()
.
ContinueOnError
()
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
...
@@ -173,7 +174,7 @@ func (o *SetServiceAccountOptions) Complete(f cmdutil.Factory, cmd *cobra.Comman
...
@@ -173,7 +174,7 @@ func (o *SetServiceAccountOptions) Complete(f cmdutil.Factory, cmd *cobra.Comman
func
(
o
*
SetServiceAccountOptions
)
Run
()
error
{
func
(
o
*
SetServiceAccountOptions
)
Run
()
error
{
patchErrs
:=
[]
error
{}
patchErrs
:=
[]
error
{}
patchFn
:=
func
(
info
*
resource
.
Info
)
([]
byte
,
error
)
{
patchFn
:=
func
(
info
*
resource
.
Info
)
([]
byte
,
error
)
{
info
.
Object
=
info
.
AsVersioned
()
info
.
Object
=
info
.
AsVersioned
(
legacyscheme
.
Scheme
)
_
,
err
:=
o
.
updatePodSpecForObject
(
info
.
Object
,
func
(
podSpec
*
v1
.
PodSpec
)
error
{
_
,
err
:=
o
.
updatePodSpecForObject
(
info
.
Object
,
func
(
podSpec
*
v1
.
PodSpec
)
error
{
podSpec
.
ServiceAccountName
=
o
.
serviceAccountName
podSpec
.
ServiceAccountName
=
o
.
serviceAccountName
return
nil
return
nil
...
@@ -197,7 +198,7 @@ func (o *SetServiceAccountOptions) Run() error {
...
@@ -197,7 +198,7 @@ func (o *SetServiceAccountOptions) Run() error {
continue
continue
}
}
if
o
.
local
||
o
.
dryRun
{
if
o
.
local
||
o
.
dryRun
{
if
err
:=
o
.
PrintObj
(
patch
.
Info
.
AsVersioned
(),
o
.
Out
);
err
!=
nil
{
if
err
:=
o
.
PrintObj
(
patch
.
Info
.
AsVersioned
(
legacyscheme
.
Scheme
),
o
.
Out
);
err
!=
nil
{
return
err
return
err
}
}
continue
continue
...
@@ -209,7 +210,7 @@ func (o *SetServiceAccountOptions) Run() error {
...
@@ -209,7 +210,7 @@ func (o *SetServiceAccountOptions) Run() error {
}
}
info
.
Refresh
(
patched
,
true
)
info
.
Refresh
(
patched
,
true
)
if
err
:=
o
.
PrintObj
(
info
.
AsVersioned
(),
o
.
Out
);
err
!=
nil
{
if
err
:=
o
.
PrintObj
(
info
.
AsVersioned
(
legacyscheme
.
Scheme
),
o
.
Out
);
err
!=
nil
{
return
err
return
err
}
}
}
}
...
...
pkg/kubectl/cmd/set/set_subject.go
View file @
6fbcbc99
...
@@ -28,6 +28,7 @@ import (
...
@@ -28,6 +28,7 @@ import (
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/types"
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/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/apis/rbac"
"k8s.io/kubernetes/pkg/apis/rbac"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
...
@@ -136,7 +137,7 @@ func (o *SubjectOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args []
...
@@ -136,7 +137,7 @@ func (o *SubjectOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args []
includeUninitialized
:=
cmdutil
.
ShouldIncludeUninitialized
(
cmd
,
false
)
includeUninitialized
:=
cmdutil
.
ShouldIncludeUninitialized
(
cmd
,
false
)
builder
:=
f
.
NewBuilder
()
.
builder
:=
f
.
NewBuilder
()
.
Internal
()
.
Internal
(
legacyscheme
.
Scheme
)
.
LocalParam
(
o
.
Local
)
.
LocalParam
(
o
.
Local
)
.
ContinueOnError
()
.
ContinueOnError
()
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
...
@@ -232,7 +233,7 @@ func (o *SubjectOptions) Run(f cmdutil.Factory, fn updateSubjects) error {
...
@@ -232,7 +233,7 @@ func (o *SubjectOptions) Run(f cmdutil.Factory, fn updateSubjects) error {
transformed
,
err
:=
updateSubjectForObject
(
info
.
Object
,
subjects
,
fn
)
transformed
,
err
:=
updateSubjectForObject
(
info
.
Object
,
subjects
,
fn
)
if
transformed
&&
err
==
nil
{
if
transformed
&&
err
==
nil
{
// TODO: switch UpdatePodSpecForObject to work on v1.PodSpec
// TODO: switch UpdatePodSpecForObject to work on v1.PodSpec
return
runtime
.
Encode
(
cmdutil
.
InternalVersionJSONEncoder
(),
info
.
AsVersioned
())
return
runtime
.
Encode
(
cmdutil
.
InternalVersionJSONEncoder
(),
info
.
AsVersioned
(
legacyscheme
.
Scheme
))
}
}
return
nil
,
err
return
nil
,
err
})
})
...
@@ -265,7 +266,7 @@ func (o *SubjectOptions) Run(f cmdutil.Factory, fn updateSubjects) error {
...
@@ -265,7 +266,7 @@ func (o *SubjectOptions) Run(f cmdutil.Factory, fn updateSubjects) error {
}
}
info
.
Refresh
(
obj
,
true
)
info
.
Refresh
(
obj
,
true
)
return
o
.
PrintObj
(
info
.
AsVersioned
(),
o
.
Out
)
return
o
.
PrintObj
(
info
.
AsVersioned
(
legacyscheme
.
Scheme
),
o
.
Out
)
}
}
return
utilerrors
.
NewAggregate
(
allErrs
)
return
utilerrors
.
NewAggregate
(
allErrs
)
}
}
...
...
pkg/kubectl/cmd/taint.go
View file @
6fbcbc99
...
@@ -151,7 +151,7 @@ func (o *TaintOptions) Complete(f cmdutil.Factory, out io.Writer, cmd *cobra.Com
...
@@ -151,7 +151,7 @@ func (o *TaintOptions) Complete(f cmdutil.Factory, out io.Writer, cmd *cobra.Com
return
cmdutil
.
UsageErrorf
(
cmd
,
err
.
Error
())
return
cmdutil
.
UsageErrorf
(
cmd
,
err
.
Error
())
}
}
o
.
builder
=
f
.
NewBuilder
()
.
o
.
builder
=
f
.
NewBuilder
()
.
Internal
()
.
Internal
(
legacyscheme
.
Scheme
)
.
ContinueOnError
()
.
ContinueOnError
()
.
NamespaceParam
(
namespace
)
.
DefaultNamespace
()
NamespaceParam
(
namespace
)
.
DefaultNamespace
()
if
o
.
selector
!=
""
{
if
o
.
selector
!=
""
{
...
...
pkg/kubectl/cmd/testing/fake.go
View file @
6fbcbc99
...
@@ -342,19 +342,16 @@ func (f *TestFactory) Command(*cobra.Command, bool) string {
...
@@ -342,19 +342,16 @@ func (f *TestFactory) Command(*cobra.Command, bool) string {
}
}
func
(
f
*
TestFactory
)
NewBuilder
()
*
resource
.
Builder
{
func
(
f
*
TestFactory
)
NewBuilder
()
*
resource
.
Builder
{
mapper
,
typer
:=
f
.
Object
()
mapper
,
_
:=
f
.
Object
()
return
resource
.
NewBuilder
(
return
resource
.
NewBuilder
(
&
resource
.
Mapper
{
&
resource
.
Mapper
{
RESTMapper
:
mapper
,
RESTMapper
:
mapper
,
ObjectTyper
:
typer
,
ClientMapper
:
resource
.
ClientMapperFunc
(
f
.
ClientForMapping
),
ClientMapper
:
resource
.
ClientMapperFunc
(
f
.
ClientForMapping
),
Decoder
:
cmdutil
.
InternalVersionDecoder
(),
ObjectConverter
:
legacyscheme
.
Scheme
,
Decoder
:
cmdutil
.
InternalVersionDecoder
(),
},
},
&
resource
.
Mapper
{
&
resource
.
Mapper
{
RESTMapper
:
mapper
,
RESTMapper
:
mapper
,
ObjectTyper
:
typer
,
ClientMapper
:
resource
.
ClientMapperFunc
(
f
.
UnstructuredClientForMapping
),
ClientMapper
:
resource
.
ClientMapperFunc
(
f
.
UnstructuredClientForMapping
),
Decoder
:
unstructured
.
UnstructuredJSONScheme
,
Decoder
:
unstructured
.
UnstructuredJSONScheme
,
},
},
...
...
pkg/kubectl/cmd/util/factory_builder.go
View file @
6fbcbc99
...
@@ -25,7 +25,6 @@ import (
...
@@ -25,7 +25,6 @@ import (
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/client-go/dynamic"
"k8s.io/client-go/dynamic"
scaleclient
"k8s.io/client-go/scale"
scaleclient
"k8s.io/client-go/scale"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl/plugins"
"k8s.io/kubernetes/pkg/kubectl/plugins"
"k8s.io/kubernetes/pkg/kubectl/resource"
"k8s.io/kubernetes/pkg/kubectl/resource"
...
@@ -48,7 +47,7 @@ func NewBuilderFactory(clientAccessFactory ClientAccessFactory, objectMappingFac
...
@@ -48,7 +47,7 @@ func NewBuilderFactory(clientAccessFactory ClientAccessFactory, objectMappingFac
// NewBuilder returns a new resource builder for structured api objects.
// NewBuilder returns a new resource builder for structured api objects.
func
(
f
*
ring2Factory
)
NewBuilder
()
*
resource
.
Builder
{
func
(
f
*
ring2Factory
)
NewBuilder
()
*
resource
.
Builder
{
clientMapperFunc
:=
resource
.
ClientMapperFunc
(
f
.
objectMappingFactory
.
ClientForMapping
)
clientMapperFunc
:=
resource
.
ClientMapperFunc
(
f
.
objectMappingFactory
.
ClientForMapping
)
mapper
,
typer
:=
f
.
objectMappingFactory
.
Object
()
mapper
,
_
:=
f
.
objectMappingFactory
.
Object
()
unstructuredClientMapperFunc
:=
resource
.
ClientMapperFunc
(
f
.
objectMappingFactory
.
UnstructuredClientForMapping
)
unstructuredClientMapperFunc
:=
resource
.
ClientMapperFunc
(
f
.
objectMappingFactory
.
UnstructuredClientForMapping
)
...
@@ -56,15 +55,12 @@ func (f *ring2Factory) NewBuilder() *resource.Builder {
...
@@ -56,15 +55,12 @@ func (f *ring2Factory) NewBuilder() *resource.Builder {
return
resource
.
NewBuilder
(
return
resource
.
NewBuilder
(
&
resource
.
Mapper
{
&
resource
.
Mapper
{
RESTMapper
:
mapper
,
RESTMapper
:
mapper
,
ObjectTyper
:
typer
,
ClientMapper
:
clientMapperFunc
,
ObjectConverter
:
legacyscheme
.
Scheme
,
Decoder
:
InternalVersionDecoder
(),
ClientMapper
:
clientMapperFunc
,
Decoder
:
InternalVersionDecoder
(),
},
},
&
resource
.
Mapper
{
&
resource
.
Mapper
{
RESTMapper
:
mapper
,
RESTMapper
:
mapper
,
ObjectTyper
:
typer
,
ClientMapper
:
unstructuredClientMapperFunc
,
ClientMapper
:
unstructuredClientMapperFunc
,
Decoder
:
unstructured
.
UnstructuredJSONScheme
,
Decoder
:
unstructured
.
UnstructuredJSONScheme
,
},
},
...
...
pkg/kubectl/cmd/util/factory_test.go
View file @
6fbcbc99
...
@@ -34,7 +34,6 @@ import (
...
@@ -34,7 +34,6 @@ import (
"k8s.io/apimachinery/pkg/watch"
"k8s.io/apimachinery/pkg/watch"
manualfake
"k8s.io/client-go/rest/fake"
manualfake
"k8s.io/client-go/rest/fake"
testcore
"k8s.io/client-go/testing"
testcore
"k8s.io/client-go/testing"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/api/testapi"
"k8s.io/kubernetes/pkg/api/testapi"
api
"k8s.io/kubernetes/pkg/apis/core"
api
"k8s.io/kubernetes/pkg/apis/core"
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/fake"
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/fake"
...
@@ -474,11 +473,9 @@ func TestDiscoveryReplaceAliases(t *testing.T) {
...
@@ -474,11 +473,9 @@ func TestDiscoveryReplaceAliases(t *testing.T) {
mapper
:=
NewShortcutExpander
(
testapi
.
Default
.
RESTMapper
(),
ds
)
mapper
:=
NewShortcutExpander
(
testapi
.
Default
.
RESTMapper
(),
ds
)
b
:=
resource
.
NewBuilder
(
b
:=
resource
.
NewBuilder
(
&
resource
.
Mapper
{
&
resource
.
Mapper
{
RESTMapper
:
mapper
,
RESTMapper
:
mapper
,
ObjectTyper
:
legacyscheme
.
Scheme
,
ClientMapper
:
fakeClient
(),
ObjectConverter
:
legacyscheme
.
Scheme
,
Decoder
:
testapi
.
Default
.
Codec
(),
ClientMapper
:
fakeClient
(),
Decoder
:
testapi
.
Default
.
Codec
(),
},
},
nil
,
nil
,
categories
.
LegacyCategoryExpander
,
categories
.
LegacyCategoryExpander
,
...
...
pkg/kubectl/resource/builder.go
View file @
6fbcbc99
...
@@ -26,7 +26,9 @@ import (
...
@@ -26,7 +26,9 @@ import (
"k8s.io/apimachinery/pkg/api/meta"
"k8s.io/apimachinery/pkg/api/meta"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured/unstructuredscheme"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"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"
...
@@ -50,6 +52,10 @@ type Builder struct {
...
@@ -50,6 +52,10 @@ type Builder struct {
internal
*
Mapper
internal
*
Mapper
unstructured
*
Mapper
unstructured
*
Mapper
// objectTyper is statically determinant per-command invocation based on your internal or unstructured choice
// it does not ever need to rely upon discovery.
objectTyper
runtime
.
ObjectTyper
errs
[]
error
errs
[]
error
paths
[]
Visitor
paths
[]
Visitor
...
@@ -186,8 +192,8 @@ func (b *Builder) Unstructured() *Builder {
...
@@ -186,8 +192,8 @@ func (b *Builder) Unstructured() *Builder {
return
b
return
b
}
}
b
.
mapper
=
b
.
unstructured
b
.
mapper
=
b
.
unstructured
// the unstructured mapper doesn't do any conversion
b
.
mapper
.
ObjectConverter
=
nil
b
.
objectTyper
=
unstructuredscheme
.
NewUnstructuredObjectTyper
()
return
b
return
b
}
}
...
@@ -196,7 +202,7 @@ func (b *Builder) Unstructured() *Builder {
...
@@ -196,7 +202,7 @@ func (b *Builder) Unstructured() *Builder {
// to the server will not be seen by the client code and may result in failure. Only
// to the server will not be seen by the client code and may result in failure. Only
// use this mode when working offline, or when generating patches to send to the server.
// use this mode when working offline, or when generating patches to send to the server.
// Use Unstructured if you are reading an object and performing a POST or PUT.
// Use Unstructured if you are reading an object and performing a POST or PUT.
func
(
b
*
Builder
)
Internal
()
*
Builder
{
func
(
b
*
Builder
)
Internal
(
typer
runtime
.
ObjectTyper
)
*
Builder
{
if
b
.
internal
==
nil
{
if
b
.
internal
==
nil
{
b
.
errs
=
append
(
b
.
errs
,
fmt
.
Errorf
(
"no internal mapper provided"
))
b
.
errs
=
append
(
b
.
errs
,
fmt
.
Errorf
(
"no internal mapper provided"
))
return
b
return
b
...
@@ -206,6 +212,8 @@ func (b *Builder) Internal() *Builder {
...
@@ -206,6 +212,8 @@ func (b *Builder) Internal() *Builder {
return
b
return
b
}
}
b
.
mapper
=
b
.
internal
b
.
mapper
=
b
.
internal
b
.
objectTyper
=
typer
return
b
return
b
}
}
...
@@ -762,7 +770,7 @@ func (b *Builder) visitBySelector() *Result {
...
@@ -762,7 +770,7 @@ func (b *Builder) visitBySelector() *Result {
if
mapping
.
Scope
.
Name
()
!=
meta
.
RESTScopeNameNamespace
{
if
mapping
.
Scope
.
Name
()
!=
meta
.
RESTScopeNameNamespace
{
selectorNamespace
=
""
selectorNamespace
=
""
}
}
visitors
=
append
(
visitors
,
NewSelector
(
client
,
mapping
,
b
.
mapper
.
ObjectConverter
,
selectorNamespace
,
labelSelector
,
fieldSelector
,
b
.
export
,
b
.
includeUninitialized
,
b
.
limitChunks
))
visitors
=
append
(
visitors
,
NewSelector
(
client
,
mapping
,
selectorNamespace
,
labelSelector
,
fieldSelector
,
b
.
export
,
b
.
includeUninitialized
,
b
.
limitChunks
))
}
}
if
b
.
continueOnError
{
if
b
.
continueOnError
{
result
.
visitor
=
EagerVisitorList
(
visitors
)
result
.
visitor
=
EagerVisitorList
(
visitors
)
...
@@ -837,12 +845,11 @@ func (b *Builder) visitByResource() *Result {
...
@@ -837,12 +845,11 @@ func (b *Builder) visitByResource() *Result {
}
}
info
:=
&
Info
{
info
:=
&
Info
{
Client
:
client
,
Client
:
client
,
Mapping
:
mapping
,
Mapping
:
mapping
,
toVersionedObjectConverter
:
b
.
mapper
.
ObjectConverter
,
Namespace
:
selectorNamespace
,
Namespace
:
selectorNamespace
,
Name
:
tuple
.
Name
,
Name
:
tuple
.
Name
,
Export
:
b
.
export
,
Export
:
b
.
export
,
}
}
items
=
append
(
items
,
info
)
items
=
append
(
items
,
info
)
}
}
...
@@ -903,12 +910,11 @@ func (b *Builder) visitByName() *Result {
...
@@ -903,12 +910,11 @@ func (b *Builder) visitByName() *Result {
visitors
:=
[]
Visitor
{}
visitors
:=
[]
Visitor
{}
for
_
,
name
:=
range
b
.
names
{
for
_
,
name
:=
range
b
.
names
{
info
:=
&
Info
{
info
:=
&
Info
{
Client
:
client
,
Client
:
client
,
Mapping
:
mapping
,
Mapping
:
mapping
,
toVersionedObjectConverter
:
b
.
mapper
.
ObjectConverter
,
Namespace
:
selectorNamespace
,
Namespace
:
selectorNamespace
,
Name
:
name
,
Name
:
name
,
Export
:
b
.
export
,
Export
:
b
.
export
,
}
}
visitors
=
append
(
visitors
,
info
)
visitors
=
append
(
visitors
,
info
)
}
}
...
@@ -944,7 +950,7 @@ func (b *Builder) visitByPaths() *Result {
...
@@ -944,7 +950,7 @@ func (b *Builder) visitByPaths() *Result {
if
b
.
latest
{
if
b
.
latest
{
// must flatten lists prior to fetching
// must flatten lists prior to fetching
if
b
.
flatten
{
if
b
.
flatten
{
visitors
=
NewFlattenListVisitor
(
visitors
,
b
.
mapper
)
visitors
=
NewFlattenListVisitor
(
visitors
,
b
.
objectTyper
,
b
.
mapper
)
}
}
// must set namespace prior to fetching
// must set namespace prior to fetching
if
b
.
defaultNamespace
{
if
b
.
defaultNamespace
{
...
@@ -975,7 +981,7 @@ func (b *Builder) Do() *Result {
...
@@ -975,7 +981,7 @@ func (b *Builder) Do() *Result {
return
r
return
r
}
}
if
b
.
flatten
{
if
b
.
flatten
{
r
.
visitor
=
NewFlattenListVisitor
(
r
.
visitor
,
b
.
mapper
)
r
.
visitor
=
NewFlattenListVisitor
(
r
.
visitor
,
b
.
objectTyper
,
b
.
mapper
)
}
}
helpers
:=
[]
VisitorFunc
{}
helpers
:=
[]
VisitorFunc
{}
if
b
.
defaultNamespace
{
if
b
.
defaultNamespace
{
...
...
pkg/kubectl/resource/builder_test.go
View file @
6fbcbc99
...
@@ -46,8 +46,12 @@ import (
...
@@ -46,8 +46,12 @@ import (
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
restclientwatch
"k8s.io/client-go/rest/watch"
restclientwatch
"k8s.io/client-go/rest/watch"
utiltesting
"k8s.io/client-go/util/testing"
utiltesting
"k8s.io/client-go/util/testing"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/kubectl/categories"
"k8s.io/kubernetes/pkg/kubectl/categories"
"k8s.io/kubernetes/pkg/kubectl/scheme"
"k8s.io/kubernetes/pkg/kubectl/scheme"
// install the pod scheme into the legacy scheme for test typer resolution
_
"k8s.io/kubernetes/pkg/apis/core/install"
)
)
var
(
var
(
...
@@ -270,15 +274,13 @@ func newDefaultBuilder() *Builder {
...
@@ -270,15 +274,13 @@ func newDefaultBuilder() *Builder {
func
newDefaultBuilderWith
(
client
ClientMapper
)
*
Builder
{
func
newDefaultBuilderWith
(
client
ClientMapper
)
*
Builder
{
return
NewBuilder
(
return
NewBuilder
(
&
Mapper
{
&
Mapper
{
RESTMapper
:
restmapper
,
RESTMapper
:
restmapper
,
ObjectTyper
:
scheme
.
Scheme
,
ClientMapper
:
client
,
ObjectConverter
:
scheme
.
Scheme
,
Decoder
:
corev1Codec
,
ClientMapper
:
client
,
Decoder
:
corev1Codec
,
},
},
nil
,
nil
,
categories
.
LegacyCategoryExpander
,
categories
.
LegacyCategoryExpander
,
)
.
Internal
()
)
.
Internal
(
legacyscheme
.
Scheme
)
}
}
func
TestPathBuilderAndVersionedObjectNotDefaulted
(
t
*
testing
.
T
)
{
func
TestPathBuilderAndVersionedObjectNotDefaulted
(
t
*
testing
.
T
)
{
...
@@ -297,7 +299,7 @@ func TestPathBuilderAndVersionedObjectNotDefaulted(t *testing.T) {
...
@@ -297,7 +299,7 @@ func TestPathBuilderAndVersionedObjectNotDefaulted(t *testing.T) {
if
info
.
Name
!=
"update-demo-kitten"
||
info
.
Namespace
!=
""
||
info
.
Object
==
nil
{
if
info
.
Name
!=
"update-demo-kitten"
||
info
.
Namespace
!=
""
||
info
.
Object
==
nil
{
t
.
Errorf
(
"unexpected info: %#v"
,
info
)
t
.
Errorf
(
"unexpected info: %#v"
,
info
)
}
}
obj
:=
info
.
AsVersioned
()
obj
:=
info
.
AsVersioned
(
legacyscheme
.
Scheme
)
version
,
ok
:=
obj
.
(
*
v1
.
ReplicationController
)
version
,
ok
:=
obj
.
(
*
v1
.
ReplicationController
)
// versioned object does not have defaulting applied
// versioned object does not have defaulting applied
if
obj
==
nil
||
!
ok
||
version
.
Spec
.
Replicas
!=
nil
{
if
obj
==
nil
||
!
ok
||
version
.
Spec
.
Replicas
!=
nil
{
...
...
pkg/kubectl/resource/mapper.go
View file @
6fbcbc99
...
@@ -28,9 +28,6 @@ import (
...
@@ -28,9 +28,6 @@ import (
// Mapper is a convenience struct for holding references to the interfaces
// Mapper is a convenience struct for holding references to the interfaces
// needed to create Info for arbitrary objects.
// needed to create Info for arbitrary objects.
type
Mapper
struct
{
type
Mapper
struct
{
ObjectTyper
runtime
.
ObjectTyper
ObjectConverter
runtime
.
ObjectConvertor
RESTMapper
meta
.
RESTMapper
RESTMapper
meta
.
RESTMapper
ClientMapper
ClientMapper
ClientMapper
ClientMapper
Decoder
runtime
.
Decoder
Decoder
runtime
.
Decoder
...
@@ -60,9 +57,8 @@ func (m *Mapper) InfoForData(data []byte, source string) (*Info, error) {
...
@@ -60,9 +57,8 @@ func (m *Mapper) InfoForData(data []byte, source string) (*Info, error) {
resourceVersion
,
_
:=
metadataAccessor
.
ResourceVersion
(
obj
)
resourceVersion
,
_
:=
metadataAccessor
.
ResourceVersion
(
obj
)
return
&
Info
{
return
&
Info
{
Client
:
client
,
Client
:
client
,
Mapping
:
mapping
,
Mapping
:
mapping
,
toVersionedObjectConverter
:
m
.
ObjectConverter
,
Source
:
source
,
Source
:
source
,
Namespace
:
namespace
,
Namespace
:
namespace
,
...
@@ -76,8 +72,8 @@ func (m *Mapper) InfoForData(data []byte, source string) (*Info, error) {
...
@@ -76,8 +72,8 @@ func (m *Mapper) InfoForData(data []byte, source string) (*Info, error) {
// InfoForObject creates an Info object for the given Object. An error is returned
// InfoForObject creates an Info object for the given Object. An error is returned
// if the object cannot be introspected. Name and namespace will be set into Info
// if the object cannot be introspected. Name and namespace will be set into Info
// if the mapping's MetadataAccessor can retrieve them.
// if the mapping's MetadataAccessor can retrieve them.
func
(
m
*
Mapper
)
InfoForObject
(
obj
runtime
.
Object
,
preferredGVKs
[]
schema
.
GroupVersionKind
)
(
*
Info
,
error
)
{
func
(
m
*
Mapper
)
InfoForObject
(
obj
runtime
.
Object
,
typer
runtime
.
ObjectTyper
,
preferredGVKs
[]
schema
.
GroupVersionKind
)
(
*
Info
,
error
)
{
groupVersionKinds
,
_
,
err
:=
m
.
ObjectT
yper
.
ObjectKinds
(
obj
)
groupVersionKinds
,
_
,
err
:=
t
yper
.
ObjectKinds
(
obj
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"unable to get type info from the object %q: %v"
,
reflect
.
TypeOf
(
obj
),
err
)
return
nil
,
fmt
.
Errorf
(
"unable to get type info from the object %q: %v"
,
reflect
.
TypeOf
(
obj
),
err
)
}
}
...
@@ -100,9 +96,8 @@ func (m *Mapper) InfoForObject(obj runtime.Object, preferredGVKs []schema.GroupV
...
@@ -100,9 +96,8 @@ func (m *Mapper) InfoForObject(obj runtime.Object, preferredGVKs []schema.GroupV
namespace
,
_
:=
metadataAccessor
.
Namespace
(
obj
)
namespace
,
_
:=
metadataAccessor
.
Namespace
(
obj
)
resourceVersion
,
_
:=
metadataAccessor
.
ResourceVersion
(
obj
)
resourceVersion
,
_
:=
metadataAccessor
.
ResourceVersion
(
obj
)
return
&
Info
{
return
&
Info
{
Client
:
client
,
Client
:
client
,
Mapping
:
mapping
,
Mapping
:
mapping
,
toVersionedObjectConverter
:
m
.
ObjectConverter
,
Namespace
:
namespace
,
Namespace
:
namespace
,
Name
:
name
,
Name
:
name
,
...
...
pkg/kubectl/resource/selector.go
View file @
6fbcbc99
...
@@ -22,7 +22,6 @@ import (
...
@@ -22,7 +22,6 @@ import (
"k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/api/meta"
"k8s.io/apimachinery/pkg/api/meta"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/watch"
"k8s.io/apimachinery/pkg/watch"
)
)
...
@@ -30,7 +29,6 @@ import (
...
@@ -30,7 +29,6 @@ import (
type
Selector
struct
{
type
Selector
struct
{
Client
RESTClient
Client
RESTClient
Mapping
*
meta
.
RESTMapping
Mapping
*
meta
.
RESTMapping
ObjectConverter
runtime
.
ObjectConvertor
Namespace
string
Namespace
string
LabelSelector
string
LabelSelector
string
FieldSelector
string
FieldSelector
string
...
@@ -40,11 +38,10 @@ type Selector struct {
...
@@ -40,11 +38,10 @@ type Selector struct {
}
}
// NewSelector creates a resource selector which hides details of getting items by their label selector.
// NewSelector creates a resource selector which hides details of getting items by their label selector.
func
NewSelector
(
client
RESTClient
,
mapping
*
meta
.
RESTMapping
,
objectConverter
runtime
.
ObjectConvertor
,
namespace
,
labelSelector
,
fieldSelector
string
,
export
,
includeUninitialized
bool
,
limitChunks
int64
)
*
Selector
{
func
NewSelector
(
client
RESTClient
,
mapping
*
meta
.
RESTMapping
,
namespace
,
labelSelector
,
fieldSelector
string
,
export
,
includeUninitialized
bool
,
limitChunks
int64
)
*
Selector
{
return
&
Selector
{
return
&
Selector
{
Client
:
client
,
Client
:
client
,
Mapping
:
mapping
,
Mapping
:
mapping
,
ObjectConverter
:
objectConverter
,
Namespace
:
namespace
,
Namespace
:
namespace
,
LabelSelector
:
labelSelector
,
LabelSelector
:
labelSelector
,
FieldSelector
:
fieldSelector
,
FieldSelector
:
fieldSelector
,
...
@@ -94,9 +91,8 @@ func (r *Selector) Visit(fn VisitorFunc) error {
...
@@ -94,9 +91,8 @@ func (r *Selector) Visit(fn VisitorFunc) error {
resourceVersion
,
_
:=
metadataAccessor
.
ResourceVersion
(
list
)
resourceVersion
,
_
:=
metadataAccessor
.
ResourceVersion
(
list
)
nextContinueToken
,
_
:=
metadataAccessor
.
Continue
(
list
)
nextContinueToken
,
_
:=
metadataAccessor
.
Continue
(
list
)
info
:=
&
Info
{
info
:=
&
Info
{
Client
:
r
.
Client
,
Client
:
r
.
Client
,
Mapping
:
r
.
Mapping
,
Mapping
:
r
.
Mapping
,
toVersionedObjectConverter
:
r
.
ObjectConverter
,
Namespace
:
r
.
Namespace
,
Namespace
:
r
.
Namespace
,
ResourceVersion
:
resourceVersion
,
ResourceVersion
:
resourceVersion
,
...
...
pkg/kubectl/resource/visitor.go
View file @
6fbcbc99
...
@@ -77,8 +77,6 @@ type Info struct {
...
@@ -77,8 +77,6 @@ type Info struct {
// Mapping may be nil if the object has no available metadata, but is still parseable
// Mapping may be nil if the object has no available metadata, but is still parseable
// from disk.
// from disk.
Mapping
*
meta
.
RESTMapping
Mapping
*
meta
.
RESTMapping
// ObjectConverter allows conversion
toVersionedObjectConverter
runtime
.
ObjectConvertor
// Namespace will be set if the object is namespaced and has a specified value.
// Namespace will be set if the object is namespaced and has a specified value.
Namespace
string
Namespace
string
...
@@ -183,17 +181,16 @@ func (i *Info) ResourceMapping() *meta.RESTMapping {
...
@@ -183,17 +181,16 @@ func (i *Info) ResourceMapping() *meta.RESTMapping {
}
}
// Versioned returns the object as a Go type in the mapping's version or returns an error.
// Versioned returns the object as a Go type in the mapping's version or returns an error.
func
(
i
*
Info
)
Versioned
(
)
(
runtime
.
Object
,
error
)
{
func
(
i
*
Info
)
versioned
(
convertor
runtime
.
ObjectConvertor
)
(
runtime
.
Object
,
error
)
{
return
i
.
toVersionedObjectConverte
r
.
ConvertToVersion
(
i
.
Object
,
i
.
Mapping
.
GroupVersionKind
.
GroupVersion
())
return
converto
r
.
ConvertToVersion
(
i
.
Object
,
i
.
Mapping
.
GroupVersionKind
.
GroupVersion
())
}
}
// AsVersioned returns the object as a Go object in the external form if possible (matching the
// AsVersioned returns the object as a Go object in the external form if possible (matching the
// group version kind of the mapping, or i.Object if it cannot be converted.
// group version kind of the mapping, or i.Object if it cannot be converted.
func
(
i
*
Info
)
AsVersioned
()
runtime
.
Object
{
// Deprecated this function will be removed once calling code is updated to indicate the correct
if
i
.
toVersionedObjectConverter
==
nil
{
// negoticatedserializers during contruction of the builder
panic
(
"attempt to call AsVersioned object using .Unstructured builder"
)
func
(
i
*
Info
)
AsVersioned
(
convertor
runtime
.
ObjectConvertor
)
runtime
.
Object
{
}
if
obj
,
err
:=
i
.
versioned
(
convertor
);
err
==
nil
{
if
obj
,
err
:=
i
.
Versioned
();
err
==
nil
{
return
obj
return
obj
}
}
return
i
.
Object
return
i
.
Object
...
@@ -389,18 +386,19 @@ func (v ContinueOnErrorVisitor) Visit(fn VisitorFunc) error {
...
@@ -389,18 +386,19 @@ func (v ContinueOnErrorVisitor) Visit(fn VisitorFunc) error {
// the visit.
// the visit.
// TODO: allow errors to be aggregated?
// TODO: allow errors to be aggregated?
type
FlattenListVisitor
struct
{
type
FlattenListVisitor
struct
{
Visitor
visitor
Visitor
*
Mapper
typer
runtime
.
ObjectTyper
mapper
*
Mapper
}
}
// NewFlattenListVisitor creates a visitor that will expand list style runtime.Objects
// NewFlattenListVisitor creates a visitor that will expand list style runtime.Objects
// into individual items and then visit them individually.
// into individual items and then visit them individually.
func
NewFlattenListVisitor
(
v
Visitor
,
mapper
*
Mapper
)
Visitor
{
func
NewFlattenListVisitor
(
v
Visitor
,
typer
runtime
.
ObjectTyper
,
mapper
*
Mapper
)
Visitor
{
return
FlattenListVisitor
{
v
,
mapper
}
return
FlattenListVisitor
{
v
,
typer
,
mapper
}
}
}
func
(
v
FlattenListVisitor
)
Visit
(
fn
VisitorFunc
)
error
{
func
(
v
FlattenListVisitor
)
Visit
(
fn
VisitorFunc
)
error
{
return
v
.
V
isitor
.
Visit
(
func
(
info
*
Info
,
err
error
)
error
{
return
v
.
v
isitor
.
Visit
(
func
(
info
*
Info
,
err
error
)
error
{
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
...
@@ -411,7 +409,7 @@ func (v FlattenListVisitor) Visit(fn VisitorFunc) error {
...
@@ -411,7 +409,7 @@ func (v FlattenListVisitor) Visit(fn VisitorFunc) error {
if
err
!=
nil
{
if
err
!=
nil
{
return
fn
(
info
,
nil
)
return
fn
(
info
,
nil
)
}
}
if
errs
:=
runtime
.
DecodeList
(
items
,
v
.
M
apper
.
Decoder
);
len
(
errs
)
>
0
{
if
errs
:=
runtime
.
DecodeList
(
items
,
v
.
m
apper
.
Decoder
);
len
(
errs
)
>
0
{
return
utilerrors
.
NewAggregate
(
errs
)
return
utilerrors
.
NewAggregate
(
errs
)
}
}
...
@@ -422,7 +420,7 @@ func (v FlattenListVisitor) Visit(fn VisitorFunc) error {
...
@@ -422,7 +420,7 @@ func (v FlattenListVisitor) Visit(fn VisitorFunc) error {
}
}
for
i
:=
range
items
{
for
i
:=
range
items
{
item
,
err
:=
v
.
InfoForObject
(
items
[
i
]
,
preferredGVKs
)
item
,
err
:=
v
.
mapper
.
InfoForObject
(
items
[
i
],
v
.
typer
,
preferredGVKs
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
...
...
staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured/unstructuredscheme/scheme.go
View file @
6fbcbc99
...
@@ -89,6 +89,14 @@ func (t unstructuredObjectTyper) ObjectKinds(obj runtime.Object) ([]schema.Group
...
@@ -89,6 +89,14 @@ func (t unstructuredObjectTyper) ObjectKinds(obj runtime.Object) ([]schema.Group
if
_
,
ok
:=
obj
.
(
runtime
.
Unstructured
);
!
ok
{
if
_
,
ok
:=
obj
.
(
runtime
.
Unstructured
);
!
ok
{
return
nil
,
false
,
fmt
.
Errorf
(
"cannot type %T"
,
obj
)
return
nil
,
false
,
fmt
.
Errorf
(
"cannot type %T"
,
obj
)
}
}
gvk
:=
obj
.
GetObjectKind
()
.
GroupVersionKind
()
if
len
(
gvk
.
Kind
)
==
0
{
return
nil
,
false
,
runtime
.
NewMissingKindErr
(
"object has no kind field "
)
}
if
len
(
gvk
.
Version
)
==
0
{
return
nil
,
false
,
runtime
.
NewMissingVersionErr
(
"object has no apiVersion field"
)
}
return
[]
schema
.
GroupVersionKind
{
obj
.
GetObjectKind
()
.
GroupVersionKind
()},
false
,
nil
return
[]
schema
.
GroupVersionKind
{
obj
.
GetObjectKind
()
.
GroupVersionKind
()},
false
,
nil
}
}
...
...
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