mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-24 12:15:52 +00:00
avoid resource leak when both --rm
and --expose
are specified
Before this patch, the deployment `leak-test` won't be removed after the following command exits. kubectl run --image=nginx:alpine --stdin --attach \ --rm --expose --port 80 leak-test -- sh This patch ensures both the deployment and the service are all removed. Signed-off-by: Shijiang Wei <mountkin@gmail.com>
This commit is contained in:
parent
2f485ec84b
commit
c0e0dafa4b
@ -276,12 +276,12 @@ func RunRun(f cmdutil.Factory, cmdIn io.Reader, cmdOut, cmdErr io.Writer, cmd *c
|
||||
|
||||
params["env"] = cmdutil.GetFlagStringArray(cmd, "env")
|
||||
|
||||
var runObjectMap = map[string]*RunObject{}
|
||||
var createdObjects = []*RunObject{}
|
||||
runObject, err := createGeneratedObject(f, cmd, generator, names, params, cmdutil.GetFlagString(cmd, "overrides"), namespace)
|
||||
if err != nil {
|
||||
return err
|
||||
} else {
|
||||
runObjectMap[generatorName] = runObject
|
||||
createdObjects = append(createdObjects, runObject)
|
||||
}
|
||||
allErrs := []error{}
|
||||
if cmdutil.GetFlagBool(cmd, "expose") {
|
||||
@ -293,7 +293,7 @@ func RunRun(f cmdutil.Factory, cmdIn io.Reader, cmdOut, cmdErr io.Writer, cmd *c
|
||||
if err != nil {
|
||||
allErrs = append(allErrs, err)
|
||||
} else {
|
||||
runObjectMap[generatorName] = serviceRunObject
|
||||
createdObjects = append(createdObjects, serviceRunObject)
|
||||
}
|
||||
}
|
||||
|
||||
@ -345,7 +345,7 @@ func RunRun(f cmdutil.Factory, cmdIn io.Reader, cmdOut, cmdErr io.Writer, cmd *c
|
||||
}
|
||||
|
||||
if remove {
|
||||
for _, obj := range runObjectMap {
|
||||
for _, obj := range createdObjects {
|
||||
namespace, err = obj.Mapping.MetadataAccessor.Namespace(obj.Object)
|
||||
if err != nil {
|
||||
return err
|
||||
|
Loading…
Reference in New Issue
Block a user