mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-05 02:09:56 +00:00
Merge pull request #51339 from zjj2wry/kubectl-run
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. add more error logs in kubectl run **What this PR does / why we need it**: closes issue #29307 now will get log with different cases: ```bash kubectl run hello-node --image=aronchick/hello-node:2.0 --port=8080 --expose=true service "hello-node" created deployment "hello-node" created kubectl run hello-node --image=aronchick/hello-node:2.0 --port=8080 --expose=true Error from server (AlreadyExists): deployments.extensions "hello-node" already exists Error from server (AlreadyExists): services "hello-node" already exists kubectl delete deploy hello-node deployment "hello-node" deleted kubectl run hello-node --image=aronchick/hello-node:2.0 --port=8080 --expose=true deployment "hello-node" created Error from server (AlreadyExists): services "hello-node" already exists kubectl delete svc hello-node service "hello-node" deleted kubectl run hello-node --image=aronchick/hello-node:2.0 --port=8080 --expose=true service "hello-node" created Error from server (AlreadyExists): deployments.extensions "hello-node" already exists ``` **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes # **Special notes for your reviewer**: **Release note**: ```release-note NONE ```
This commit is contained in:
commit
dd71bf035f
@ -30,6 +30,7 @@ import (
|
||||
"k8s.io/apimachinery/pkg/api/meta"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
utilerrors "k8s.io/apimachinery/pkg/util/errors"
|
||||
"k8s.io/apimachinery/pkg/watch"
|
||||
api "k8s.io/kubernetes/pkg/apis/core"
|
||||
coreclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion"
|
||||
@ -277,13 +278,14 @@ func RunRun(f cmdutil.Factory, cmdIn io.Reader, cmdOut, cmdErr io.Writer, cmd *c
|
||||
|
||||
params["env"] = cmdutil.GetFlagStringArray(cmd, "env")
|
||||
|
||||
allErrs := []error{}
|
||||
var runObjectMap = map[string]*RunObject{}
|
||||
runObject, err := createGeneratedObject(f, cmd, generator, names, params, cmdutil.GetFlagString(cmd, "overrides"), namespace)
|
||||
if err != nil {
|
||||
return err
|
||||
allErrs = append(allErrs, err)
|
||||
} else {
|
||||
runObjectMap[generatorName] = runObject
|
||||
}
|
||||
runObjectMap[generatorName] = runObject
|
||||
|
||||
if cmdutil.GetFlagBool(cmd, "expose") {
|
||||
serviceGenerator := cmdutil.GetFlagString(cmd, "service-generator")
|
||||
if len(serviceGenerator) == 0 {
|
||||
@ -291,9 +293,10 @@ func RunRun(f cmdutil.Factory, cmdIn io.Reader, cmdOut, cmdErr io.Writer, cmd *c
|
||||
}
|
||||
serviceRunObject, err := generateService(f, cmd, args, serviceGenerator, params, namespace, cmdOut)
|
||||
if err != nil {
|
||||
return err
|
||||
allErrs = append(allErrs, err)
|
||||
} else {
|
||||
runObjectMap[generatorName] = serviceRunObject
|
||||
}
|
||||
runObjectMap[generatorName] = serviceRunObject
|
||||
}
|
||||
|
||||
if attach {
|
||||
@ -401,13 +404,15 @@ func RunRun(f cmdutil.Factory, cmdIn io.Reader, cmdOut, cmdErr io.Writer, cmd *c
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
outputFormat := cmdutil.GetFlagString(cmd, "output")
|
||||
if outputFormat != "" || cmdutil.GetDryRunFlag(cmd) {
|
||||
return f.PrintObject(cmd, false, runObject.Mapper, runObject.Object, cmdOut)
|
||||
if runObject != nil {
|
||||
outputFormat := cmdutil.GetFlagString(cmd, "output")
|
||||
if outputFormat != "" || cmdutil.GetDryRunFlag(cmd) {
|
||||
return f.PrintObject(cmd, false, runObject.Mapper, 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")
|
||||
return nil
|
||||
|
||||
return utilerrors.NewAggregate(allErrs)
|
||||
}
|
||||
|
||||
// waitForPod watches the given pod until the exitCondition is true
|
||||
|
Loading…
Reference in New Issue
Block a user