Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Chu Peng 楚鹏
minikube
提交
e0913389
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,发现更多精彩内容 >>
提交
e0913389
编写于
2月 27, 2019
作者:
T
Thomas Stromberg
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix docker/containerd caching, improve msgs, add tests
上级
8d6a45ec
变更
6
显示空白变更内容
内联
并排
Showing
6 changed file
with
30 addition
and
40 deletion
+30
-40
cmd/minikube/cmd/start.go
cmd/minikube/cmd/start.go
+2
-2
pkg/minikube/bootstrapper/kubeadm/kubeadm.go
pkg/minikube/bootstrapper/kubeadm/kubeadm.go
+2
-3
pkg/minikube/cruntime/containerd.go
pkg/minikube/cruntime/containerd.go
+1
-1
pkg/minikube/cruntime/docker.go
pkg/minikube/cruntime/docker.go
+1
-1
test/integration/start_stop_delete_test.go
test/integration/start_stop_delete_test.go
+21
-22
test/integration/util/util.go
test/integration/util/util.go
+3
-11
未找到文件。
cmd/minikube/cmd/start.go
浏览文件 @
e0913389
...
@@ -237,7 +237,7 @@ func beginCacheImages(g *errgroup.Group, kVersion string) {
...
@@ -237,7 +237,7 @@ func beginCacheImages(g *errgroup.Group, kVersion string) {
if
!
viper
.
GetBool
(
cacheImages
)
{
if
!
viper
.
GetBool
(
cacheImages
)
{
return
return
}
}
console
.
OutStyle
(
"caching"
,
"
Caching images in the background ..."
)
console
.
OutStyle
(
"caching"
,
"
Downloading Kubernetes %s images in the background ..."
,
kVersion
)
g
.
Go
(
func
()
error
{
g
.
Go
(
func
()
error
{
return
machine
.
CacheImagesForBootstrapper
(
kVersion
,
viper
.
GetString
(
cmdcfg
.
Bootstrapper
))
return
machine
.
CacheImagesForBootstrapper
(
kVersion
,
viper
.
GetString
(
cmdcfg
.
Bootstrapper
))
})
})
...
@@ -487,7 +487,7 @@ func waitCacheImages(g *errgroup.Group) {
...
@@ -487,7 +487,7 @@ func waitCacheImages(g *errgroup.Group) {
if
!
viper
.
GetBool
(
cacheImages
)
{
if
!
viper
.
GetBool
(
cacheImages
)
{
return
return
}
}
console
.
OutStyle
(
"waiting"
,
"Waiting for image
caching
to complete ..."
)
console
.
OutStyle
(
"waiting"
,
"Waiting for image
downloads
to complete ..."
)
if
err
:=
g
.
Wait
();
err
!=
nil
{
if
err
:=
g
.
Wait
();
err
!=
nil
{
glog
.
Errorln
(
"Error caching images: "
,
err
)
glog
.
Errorln
(
"Error caching images: "
,
err
)
}
}
...
...
pkg/minikube/bootstrapper/kubeadm/kubeadm.go
浏览文件 @
e0913389
...
@@ -313,9 +313,8 @@ func NewKubeletConfig(k8s config.KubernetesConfig, r cruntime.Manager) (string,
...
@@ -313,9 +313,8 @@ func NewKubeletConfig(k8s config.KubernetesConfig, r cruntime.Manager) (string,
func
(
k
*
KubeadmBootstrapper
)
UpdateCluster
(
cfg
config
.
KubernetesConfig
)
error
{
func
(
k
*
KubeadmBootstrapper
)
UpdateCluster
(
cfg
config
.
KubernetesConfig
)
error
{
if
cfg
.
ShouldLoadCachedImages
{
if
cfg
.
ShouldLoadCachedImages
{
err
:=
machine
.
LoadImages
(
k
.
c
,
constants
.
GetKubeadmCachedImages
(
cfg
.
KubernetesVersion
),
constants
.
ImageCacheDir
)
if
err
:=
machine
.
LoadImages
(
k
.
c
,
constants
.
GetKubeadmCachedImages
(
cfg
.
KubernetesVersion
),
constants
.
ImageCacheDir
);
err
!=
nil
{
if
err
!=
nil
{
console
.
Failure
(
"Unable to load cached images: %v"
,
err
)
return
errors
.
Wrap
(
err
,
"loading cached images"
)
}
}
}
}
r
,
err
:=
cruntime
.
New
(
cruntime
.
Config
{
Type
:
cfg
.
ContainerRuntime
,
Socket
:
cfg
.
CRISocket
})
r
,
err
:=
cruntime
.
New
(
cruntime
.
Config
{
Type
:
cfg
.
ContainerRuntime
,
Socket
:
cfg
.
CRISocket
})
...
...
pkg/minikube/cruntime/containerd.go
浏览文件 @
e0913389
...
@@ -80,7 +80,7 @@ func (r *Containerd) Disable() error {
...
@@ -80,7 +80,7 @@ func (r *Containerd) Disable() error {
// LoadImage loads an image into this runtime
// LoadImage loads an image into this runtime
func
(
r
*
Containerd
)
LoadImage
(
path
string
)
error
{
func
(
r
*
Containerd
)
LoadImage
(
path
string
)
error
{
glog
.
Infof
(
"Loading image: %s"
,
path
)
glog
.
Infof
(
"Loading image: %s"
,
path
)
return
r
.
Runner
.
Run
(
fmt
.
Sprintf
(
"sudo ctr
cri load
%s"
,
path
))
return
r
.
Runner
.
Run
(
fmt
.
Sprintf
(
"sudo ctr
images import
%s"
,
path
))
}
}
// KubeletOptions returns kubelet options for a containerd
// KubeletOptions returns kubelet options for a containerd
...
...
pkg/minikube/cruntime/docker.go
浏览文件 @
e0913389
...
@@ -73,7 +73,7 @@ func (r *Docker) Disable() error {
...
@@ -73,7 +73,7 @@ func (r *Docker) Disable() error {
// LoadImage loads an image into this runtime
// LoadImage loads an image into this runtime
func
(
r
*
Docker
)
LoadImage
(
path
string
)
error
{
func
(
r
*
Docker
)
LoadImage
(
path
string
)
error
{
glog
.
Infof
(
"Loading image: %s"
,
path
)
glog
.
Infof
(
"Loading image: %s"
,
path
)
return
r
.
Runner
.
Run
(
fmt
.
Sprintf
(
"docker load -i %s"
,
path
))
return
r
.
Runner
.
Run
(
fmt
.
Sprintf
(
"
sudo
docker load -i %s"
,
path
))
}
}
// KubeletOptions returns kubelet options for a runtime.
// KubeletOptions returns kubelet options for a runtime.
...
...
test/integration/start_stop_delete_test.go
浏览文件 @
e0913389
...
@@ -30,48 +30,47 @@ import (
...
@@ -30,48 +30,47 @@ import (
func
TestStartStop
(
t
*
testing
.
T
)
{
func
TestStartStop
(
t
*
testing
.
T
)
{
tests
:=
[]
struct
{
tests
:=
[]
struct
{
runtime
string
name
string
args
[]
string
}{
}{
{
runtime
:
"docker"
},
{
"docker+cache"
,
[]
string
{
"--container-runtime=docker"
,
"--cache-images"
}
},
{
runtime
:
"containerd"
},
{
"containerd+cache"
,
[]
string
{
"--container-runtime=containerd"
,
"--docker-opt containerd=/var/run/containerd/containerd.sock"
,
"--cache-images"
}
},
{
runtime
:
"crio"
},
{
"crio+cache"
,
[]
string
{
"--container-runtime=crio"
,
"--cache-images"
}
},
}
}
for
_
,
test
:=
range
tests
{
for
_
,
test
:=
range
tests
{
t
.
Run
(
test
.
runti
me
,
func
(
t
*
testing
.
T
)
{
t
.
Run
(
test
.
na
me
,
func
(
t
*
testing
.
T
)
{
r
unner
:=
NewMinikubeRunner
(
t
)
r
:=
NewMinikubeRunner
(
t
)
if
test
.
runtime
!=
"docker"
&&
usingNoneDriver
(
runne
r
)
{
if
!
strings
.
Contains
(
test
.
name
,
"docker"
)
&&
usingNoneDriver
(
r
)
{
t
.
Skipf
(
"skipping
, can't use %s with none driver"
,
test
.
runti
me
)
t
.
Skipf
(
"skipping
%s - incompatible with none driver"
,
test
.
na
me
)
}
}
runner
.
RunCommand
(
"config set WantReportErrorPrompt false"
,
true
)
r
.
RunCommand
(
"config set WantReportErrorPrompt false"
,
true
)
runner
.
RunCommand
(
"delete"
,
false
)
r
.
RunCommand
(
"delete"
,
false
)
runner
.
CheckStatus
(
state
.
None
.
String
())
r
.
CheckStatus
(
state
.
None
.
String
())
r
.
Start
(
test
.
args
...
)
r
.
CheckStatus
(
state
.
Running
.
String
())
runner
.
SetRuntime
(
test
.
runtime
)
ip
:=
r
.
RunCommand
(
"ip"
,
true
)
runner
.
Start
()
runner
.
CheckStatus
(
state
.
Running
.
String
())
ip
:=
runner
.
RunCommand
(
"ip"
,
true
)
ip
=
strings
.
TrimRight
(
ip
,
"
\n
"
)
ip
=
strings
.
TrimRight
(
ip
,
"
\n
"
)
if
net
.
ParseIP
(
ip
)
==
nil
{
if
net
.
ParseIP
(
ip
)
==
nil
{
t
.
Fatalf
(
"IP command returned an invalid address: %s"
,
ip
)
t
.
Fatalf
(
"IP command returned an invalid address: %s"
,
ip
)
}
}
checkStop
:=
func
()
error
{
checkStop
:=
func
()
error
{
r
unner
.
RunCommand
(
"stop"
,
true
)
r
.
RunCommand
(
"stop"
,
true
)
return
r
unner
.
CheckStatusNoFail
(
state
.
Stopped
.
String
())
return
r
.
CheckStatusNoFail
(
state
.
Stopped
.
String
())
}
}
if
err
:=
util
.
Retry
(
t
,
checkStop
,
5
*
time
.
Second
,
6
);
err
!=
nil
{
if
err
:=
util
.
Retry
(
t
,
checkStop
,
5
*
time
.
Second
,
6
);
err
!=
nil
{
t
.
Fatalf
(
"timed out while checking stopped status: %v"
,
err
)
t
.
Fatalf
(
"timed out while checking stopped status: %v"
,
err
)
}
}
r
unner
.
Start
()
r
.
Start
()
r
unner
.
CheckStatus
(
state
.
Running
.
String
())
r
.
CheckStatus
(
state
.
Running
.
String
())
r
unner
.
RunCommand
(
"delete"
,
true
)
r
.
RunCommand
(
"delete"
,
true
)
r
unner
.
CheckStatus
(
state
.
None
.
String
())
r
.
CheckStatus
(
state
.
None
.
String
())
})
})
}
}
}
}
test/integration/util/util.go
浏览文件 @
e0913389
...
@@ -202,17 +202,9 @@ func (m *MinikubeRunner) SSH(command string) (string, error) {
...
@@ -202,17 +202,9 @@ func (m *MinikubeRunner) SSH(command string) (string, error) {
return
string
(
stdout
),
nil
return
string
(
stdout
),
nil
}
}
func
(
m
*
MinikubeRunner
)
Start
()
{
func
(
m
*
MinikubeRunner
)
Start
(
opts
...
string
)
{
opts
:=
""
cmd
:=
fmt
.
Sprintf
(
"start %s %s %s --alsologtostderr --v=2"
,
m
.
StartArgs
,
m
.
Args
,
strings
.
Join
(
opts
,
" "
))
// TODO(tstromberg): Deprecate this in favor of making it possible for tests to define explicit flags.
m
.
RunCommand
(
cmd
,
true
)
switch
r
:=
m
.
Runtime
;
r
{
case
"containerd"
:
opts
=
"--container-runtime=containerd --docker-opt containerd=/var/run/containerd/containerd.sock"
case
"crio"
:
opts
=
"--container-runtime=cri-o"
}
m
.
RunCommand
(
fmt
.
Sprintf
(
"start %s %s %s --alsologtostderr --v=5"
,
m
.
StartArgs
,
m
.
Args
,
opts
),
true
)
}
}
func
(
m
*
MinikubeRunner
)
EnsureRunning
()
{
func
(
m
*
MinikubeRunner
)
EnsureRunning
()
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录