kubectl exec: return descriptive error message when multi resource passed
`kubectl exec` command supports getting files as inputs. However, if the file contains multiple resources, it returns unclear error message; `cannot attach to *v1.List: selector for *v1.List not implemented`. Since `exec` command does not support multi resources, this PR handles that and returns descriptive error message earlier.
This commit is contained in:
@@ -33,6 +33,7 @@ import (
|
||||
restclient "k8s.io/client-go/rest"
|
||||
"k8s.io/client-go/tools/remotecommand"
|
||||
|
||||
"k8s.io/apimachinery/pkg/api/meta"
|
||||
cmdutil "k8s.io/kubectl/pkg/cmd/util"
|
||||
"k8s.io/kubectl/pkg/cmd/util/podcmd"
|
||||
"k8s.io/kubectl/pkg/polymorphichelpers"
|
||||
@@ -310,6 +311,10 @@ func (p *ExecOptions) Run() error {
|
||||
return err
|
||||
}
|
||||
|
||||
if meta.IsListType(obj) {
|
||||
return fmt.Errorf("cannot exec into multiple objects at a time")
|
||||
}
|
||||
|
||||
p.Pod, err = p.ExecutablePodFn(p.restClientGetter, obj, p.GetPodTimeout)
|
||||
if err != nil {
|
||||
return err
|
||||
|
Reference in New Issue
Block a user