mirror of https://github.com/docker/docs.git
Only record connection failure error in error message.
Signed-off-by: Dong Chen <dongluo.chen@docker.com>
This commit is contained in:
parent
3a99c4ca85
commit
388b8fd50f
|
|
@ -342,16 +342,6 @@ func (e *Engine) CheckConnectionErr(err error) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// Docker engine may return 404 when it doesn't recognize a command.
|
|
||||||
// It's not an error from the engine itself. Version validation should be done separately.
|
|
||||||
// This error message is not recorded here to avoid user confusion.
|
|
||||||
if strings.HasPrefix(err.Error(), "404 ") {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// update engine error message
|
|
||||||
e.setErrMsg(err.Error())
|
|
||||||
|
|
||||||
// dockerclient defines ErrConnectionRefused error. but if http client is from swarm, it's not using
|
// dockerclient defines ErrConnectionRefused error. but if http client is from swarm, it's not using
|
||||||
// dockerclient. We need string matching for these cases. Remove the first character to deal with
|
// dockerclient. We need string matching for these cases. Remove the first character to deal with
|
||||||
// case sensitive issue
|
// case sensitive issue
|
||||||
|
|
@ -364,6 +354,8 @@ func (e *Engine) CheckConnectionErr(err error) {
|
||||||
// can track last error time. Only increase failure count if last error is
|
// can track last error time. Only increase failure count if last error is
|
||||||
// not too recent, e.g., last error is at least 1 seconds ago.
|
// not too recent, e.g., last error is at least 1 seconds ago.
|
||||||
e.incFailureCount()
|
e.incFailureCount()
|
||||||
|
// update engine error message
|
||||||
|
e.setErrMsg(err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
// other errors may be ambiguous.
|
// other errors may be ambiguous.
|
||||||
|
|
|
||||||
|
|
@ -69,6 +69,11 @@ func TestCheckConnectionErr(t *testing.T) {
|
||||||
engine.CheckConnectionErr(err)
|
engine.CheckConnectionErr(err)
|
||||||
assert.True(t, engine.failureCount == 0)
|
assert.True(t, engine.failureCount == 0)
|
||||||
assert.True(t, len(engine.ErrMsg()) == 0)
|
assert.True(t, len(engine.ErrMsg()) == 0)
|
||||||
|
// Do not accept random error
|
||||||
|
err = fmt.Errorf("random error")
|
||||||
|
engine.CheckConnectionErr(err)
|
||||||
|
assert.True(t, engine.failureCount == 0)
|
||||||
|
assert.True(t, len(engine.ErrMsg()) == 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestEngineFailureCount(t *testing.T) {
|
func TestEngineFailureCount(t *testing.T) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue