Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Chu Peng 楚鹏
minikube
提交
3cf2a212
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,发现更多精彩内容 >>
提交
3cf2a212
编写于
8月 08, 2016
作者:
J
Jimmi Dyson
提交者:
GitHub
8月 08, 2016
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #454 from dlorenc/log
Don't drop errors during creation retries.
上级
029e4312
b85a9070
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
49 addition
and
45 deletion
+49
-45
cmd/minikube/cmd/start.go
cmd/minikube/cmd/start.go
+4
-1
pkg/minikube/cluster/cluster.go
pkg/minikube/cluster/cluster.go
+1
-23
pkg/minikube/cluster/cluster_test.go
pkg/minikube/cluster/cluster_test.go
+0
-20
pkg/util/utils.go
pkg/util/utils.go
+25
-1
pkg/util/utils_test.go
pkg/util/utils_test.go
+19
-0
未找到文件。
cmd/minikube/cmd/start.go
浏览文件 @
3cf2a212
...
...
@@ -22,7 +22,7 @@ import (
"strconv"
"strings"
"github.com/docker/go-units"
units
"github.com/docker/go-units"
"github.com/docker/machine/libmachine"
"github.com/docker/machine/libmachine/host"
"github.com/golang/glog"
...
...
@@ -75,6 +75,9 @@ func runStart(cmd *cobra.Command, args []string) {
var
host
*
host
.
Host
start
:=
func
()
(
err
error
)
{
host
,
err
=
cluster
.
StartHost
(
api
,
config
)
if
err
!=
nil
{
glog
.
Errorf
(
"Error starting host: %s. Retrying.
\n
"
,
err
)
}
return
err
}
err
:=
util
.
Retry
(
3
,
start
)
...
...
pkg/minikube/cluster/cluster.go
浏览文件 @
3cf2a212
...
...
@@ -111,35 +111,13 @@ func StopHost(api libmachine.API) error {
return
nil
}
type
multiError
struct
{
Errors
[]
error
}
func
(
m
*
multiError
)
Collect
(
err
error
)
{
if
err
!=
nil
{
m
.
Errors
=
append
(
m
.
Errors
,
err
)
}
}
func
(
m
multiError
)
ToError
()
error
{
if
len
(
m
.
Errors
)
==
0
{
return
nil
}
errStrings
:=
[]
string
{}
for
_
,
err
:=
range
m
.
Errors
{
errStrings
=
append
(
errStrings
,
err
.
Error
())
}
return
fmt
.
Errorf
(
strings
.
Join
(
errStrings
,
"
\n
"
))
}
// DeleteHost deletes the host VM.
func
DeleteHost
(
api
libmachine
.
API
)
error
{
host
,
err
:=
api
.
Load
(
constants
.
MachineName
)
if
err
!=
nil
{
return
err
}
m
:=
m
ultiError
{}
m
:=
util
.
M
ultiError
{}
m
.
Collect
(
host
.
Driver
.
Remove
())
m
.
Collect
(
api
.
Remove
(
constants
.
MachineName
))
return
m
.
ToError
()
...
...
pkg/minikube/cluster/cluster_test.go
浏览文件 @
3cf2a212
...
...
@@ -234,26 +234,6 @@ func TestStopHost(t *testing.T) {
if
s
,
_
:=
h
.
Driver
.
GetState
();
s
!=
state
.
Stopped
{
t
.
Fatalf
(
"Machine not stopped. Currently in state: %s"
,
s
)
}
}
func
TestMultiError
(
t
*
testing
.
T
)
{
m
:=
multiError
{}
m
.
Collect
(
fmt
.
Errorf
(
"Error 1"
))
m
.
Collect
(
fmt
.
Errorf
(
"Error 2"
))
err
:=
m
.
ToError
()
expected
:=
`Error 1
Error 2`
if
err
.
Error
()
!=
expected
{
t
.
Fatalf
(
"%s != %s"
,
err
,
expected
)
}
m
=
multiError
{}
if
err
:=
m
.
ToError
();
err
!=
nil
{
t
.
Fatalf
(
"Unexpected error: %s"
,
err
)
}
}
func
TestDeleteHost
(
t
*
testing
.
T
)
{
...
...
pkg/util/utils.go
浏览文件 @
3cf2a212
...
...
@@ -73,14 +73,16 @@ func Retry(attempts int, callback func() error) (err error) {
}
func
RetryAfter
(
attempts
int
,
callback
func
()
error
,
d
time
.
Duration
)
(
err
error
)
{
m
:=
MultiError
{}
for
i
:=
0
;
i
<
attempts
;
i
++
{
err
=
callback
()
if
err
==
nil
{
return
nil
}
m
.
Collect
(
err
)
time
.
Sleep
(
d
)
}
return
err
return
m
.
ToError
()
}
func
GetLocalkubeDownloadURL
(
versionOrURL
string
,
filename
string
)
(
string
,
error
)
{
...
...
@@ -102,3 +104,25 @@ func GetLocalkubeDownloadURL(versionOrURL string, filename string) (string, erro
}
return
fmt
.
Sprintf
(
"%s%s/%s"
,
constants
.
LocalkubeDownloadURLPrefix
,
versionOrURL
,
filename
),
nil
}
type
MultiError
struct
{
Errors
[]
error
}
func
(
m
*
MultiError
)
Collect
(
err
error
)
{
if
err
!=
nil
{
m
.
Errors
=
append
(
m
.
Errors
,
err
)
}
}
func
(
m
MultiError
)
ToError
()
error
{
if
len
(
m
.
Errors
)
==
0
{
return
nil
}
errStrings
:=
[]
string
{}
for
_
,
err
:=
range
m
.
Errors
{
errStrings
=
append
(
errStrings
,
err
.
Error
())
}
return
fmt
.
Errorf
(
strings
.
Join
(
errStrings
,
"
\n
"
))
}
pkg/util/utils_test.go
浏览文件 @
3cf2a212
...
...
@@ -89,3 +89,22 @@ func TestGetLocalkubeDownloadURL(t *testing.T) {
}
}
}
func
TestMultiError
(
t
*
testing
.
T
)
{
m
:=
MultiError
{}
m
.
Collect
(
fmt
.
Errorf
(
"Error 1"
))
m
.
Collect
(
fmt
.
Errorf
(
"Error 2"
))
err
:=
m
.
ToError
()
expected
:=
`Error 1
Error 2`
if
err
.
Error
()
!=
expected
{
t
.
Fatalf
(
"%s != %s"
,
err
,
expected
)
}
m
=
MultiError
{}
if
err
:=
m
.
ToError
();
err
!=
nil
{
t
.
Fatalf
(
"Unexpected error: %s"
,
err
)
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录