Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Chu Peng 楚鹏
minikube
提交
a6372b35
M
minikube
项目概览
Chu Peng 楚鹏
/
minikube
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
minikube
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
a6372b35
编写于
2月 08, 2021
作者:
P
Priya Wadhwa
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add 5 minute timeout to deleting leftover cvolumes and containers
上级
9b147f78
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
16 addition
and
13 deletion
+16
-13
cmd/minikube/cmd/delete.go
cmd/minikube/cmd/delete.go
+6
-4
pkg/drivers/kic/kic.go
pkg/drivers/kic/kic.go
+3
-2
pkg/drivers/kic/oci/oci.go
pkg/drivers/kic/oci/oci.go
+7
-7
未找到文件。
cmd/minikube/cmd/delete.go
浏览文件 @
a6372b35
...
...
@@ -17,6 +17,7 @@ limitations under the License.
package
cmd
import
(
"context"
"fmt"
"io/ioutil"
"os"
...
...
@@ -241,14 +242,15 @@ func deletePossibleKicLeftOver(cname string, driverName string) {
return
}
klog
.
Infof
(
"deleting possible KIC leftovers for %s (driver=%s) ..."
,
cname
,
driverName
)
klog
.
Infof
(
"deleting possible KIC leftovers for %s (driver=%s) with timeout of 5m..."
,
cname
,
driverName
)
ctx
,
cancel
:=
context
.
WithTimeout
(
context
.
Background
(),
5
*
time
.
Minute
)
defer
cancel
()
delLabel
:=
fmt
.
Sprintf
(
"%s=%s"
,
oci
.
ProfileLabelKey
,
cname
)
cs
,
err
:=
oci
.
ListContainersByLabel
(
bin
,
delLabel
)
cs
,
err
:=
oci
.
ListContainersByLabel
(
ctx
,
bin
,
delLabel
)
if
err
==
nil
&&
len
(
cs
)
>
0
{
for
_
,
c
:=
range
cs
{
out
.
Step
(
style
.
DeletingHost
,
`Deleting container "{{.name}}" ...`
,
out
.
V
{
"name"
:
cname
})
err
:=
oci
.
DeleteContainer
(
bin
,
c
)
err
:=
oci
.
DeleteContainer
(
ctx
,
bin
,
c
)
if
err
!=
nil
{
// it will error if there is no container to delete
klog
.
Errorf
(
"error deleting container %q. You may want to delete it manually :
\n
%v"
,
cname
,
err
)
}
...
...
pkg/drivers/kic/kic.go
浏览文件 @
a6372b35
...
...
@@ -72,6 +72,7 @@ func NewDriver(c Config) *Driver {
// Create a host using the driver's config
func
(
d
*
Driver
)
Create
()
error
{
ctx
:=
context
.
Background
()
params
:=
oci
.
CreateParams
{
Mounts
:
d
.
NodeConfig
.
Mounts
,
Name
:
d
.
NodeConfig
.
MachineName
,
...
...
@@ -136,7 +137,7 @@ func (d *Driver) Create() error {
// if container was created by minikube it is safe to delete and recreate it.
if
oci
.
IsCreatedByMinikube
(
d
.
OCIBinary
,
params
.
Name
)
{
klog
.
Info
(
"Found already existing abandoned minikube container, will try to delete."
)
if
err
:=
oci
.
DeleteContainer
(
d
.
OCIBinary
,
params
.
Name
);
err
!=
nil
{
if
err
:=
oci
.
DeleteContainer
(
ctx
,
d
.
OCIBinary
,
params
.
Name
);
err
!=
nil
{
klog
.
Errorf
(
"Failed to delete a conflicting minikube container %s. You might need to restart your %s daemon and delete it manually and try again: %v"
,
params
.
Name
,
params
.
OCIBinary
,
err
)
}
}
else
{
...
...
@@ -338,7 +339,7 @@ func (d *Driver) Remove() error {
klog
.
Infof
(
"could not find the container %s to remove it. will try anyways"
,
d
.
MachineName
)
}
if
err
:=
oci
.
DeleteContainer
(
d
.
NodeConfig
.
OCIBinary
,
d
.
MachineName
);
err
!=
nil
{
if
err
:=
oci
.
DeleteContainer
(
context
.
Background
(),
d
.
NodeConfig
.
OCIBinary
,
d
.
MachineName
);
err
!=
nil
{
if
strings
.
Contains
(
err
.
Error
(),
"is already in progress"
)
{
return
errors
.
Wrap
(
err
,
"stuck delete"
)
}
...
...
pkg/drivers/kic/oci/oci.go
浏览文件 @
a6372b35
...
...
@@ -43,8 +43,8 @@ import (
// if there no containers found with the given label, it will return nil
func
DeleteContainersByLabel
(
ociBin
string
,
label
string
)
[]
error
{
var
deleteErrs
[]
error
cs
,
err
:=
ListContainersByLabel
(
ociBin
,
label
)
ctx
:=
context
.
Background
()
cs
,
err
:=
ListContainersByLabel
(
ctx
,
ociBin
,
label
)
if
err
!=
nil
{
return
[]
error
{
fmt
.
Errorf
(
"listing containers by label %q"
,
label
)}
}
...
...
@@ -75,7 +75,7 @@ func DeleteContainersByLabel(ociBin string, label string) []error {
}
// DeleteContainer deletes a container by ID or Name
func
DeleteContainer
(
ociBin
string
,
name
string
)
error
{
func
DeleteContainer
(
ctx
context
.
Context
,
ociBin
string
,
name
string
)
error
{
_
,
err
:=
ContainerStatus
(
ociBin
,
name
)
if
err
==
context
.
DeadlineExceeded
{
out
.
WarningT
(
"{{.ocibin}} is taking an unsually long time to respond, consider restarting {{.ocibin}}"
,
out
.
V
{
"ociBin"
:
ociBin
})
...
...
@@ -87,7 +87,7 @@ func DeleteContainer(ociBin string, name string) error {
klog
.
Infof
(
"couldn't shut down %s (might be okay): %v "
,
name
,
err
)
}
if
_
,
err
:=
runCmd
(
exec
.
Command
(
ociBin
,
"rm"
,
"-f"
,
"-v"
,
name
));
err
!=
nil
{
if
_
,
err
:=
runCmd
(
exec
.
Command
Context
(
ctx
,
ociBin
,
"rm"
,
"-f"
,
"-v"
,
name
));
err
!=
nil
{
return
errors
.
Wrapf
(
err
,
"delete %s"
,
name
)
}
return
nil
...
...
@@ -373,7 +373,7 @@ func IsCreatedByMinikube(ociBin string, nameOrID string) bool {
// ListOwnedContainers lists all the containres that kic driver created on user's machine using a label
func
ListOwnedContainers
(
ociBin
string
)
([]
string
,
error
)
{
return
ListContainersByLabel
(
ociBin
,
ProfileLabelKey
)
return
ListContainersByLabel
(
context
.
Background
(),
ociBin
,
ProfileLabelKey
)
}
// inspect return low-level information on containers
...
...
@@ -503,8 +503,8 @@ func withPortMappings(portMappings []PortMapping) createOpt {
}
// ListContainersByLabel returns all the container names with a specified label
func
ListContainersByLabel
(
ociBin
string
,
label
string
,
warnSlow
...
bool
)
([]
string
,
error
)
{
rr
,
err
:=
runCmd
(
exec
.
Command
(
ociBin
,
"ps"
,
"-a"
,
"--filter"
,
fmt
.
Sprintf
(
"label=%s"
,
label
),
"--format"
,
"{{.Names}}"
),
warnSlow
...
)
func
ListContainersByLabel
(
ctx
context
.
Context
,
ociBin
string
,
label
string
,
warnSlow
...
bool
)
([]
string
,
error
)
{
rr
,
err
:=
runCmd
(
exec
.
Command
Context
(
ctx
,
ociBin
,
"ps"
,
"-a"
,
"--filter"
,
fmt
.
Sprintf
(
"label=%s"
,
label
),
"--format"
,
"{{.Names}}"
),
warnSlow
...
)
if
err
!=
nil
{
return
nil
,
err
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录