- Use `%v` verb to format errors.
- Give `param` constant in portallocator some better name.
Signed-off-by: Michal Minar <miminar@redhat.com>
| ... | ... |
@@ -912,7 +912,7 @@ func (cli *DockerCli) CmdInspect(args ...string) error {
|
| 912 | 912 |
obj, _, err := readBody(cli.call("GET", "/containers/"+name+"/json", nil, false))
|
| 913 | 913 |
if err != nil {
|
| 914 | 914 |
if strings.Contains(err.Error(), "Too many") {
|
| 915 |
- fmt.Fprintf(cli.err, "Error: %s", err.Error()) |
|
| 915 |
+ fmt.Fprintf(cli.err, "Error: %v", err) |
|
| 916 | 916 |
status = 1 |
| 917 | 917 |
continue |
| 918 | 918 |
} |
| ... | ... |
@@ -2787,7 +2787,7 @@ func (cli *DockerCli) CmdStats(args ...string) error {
|
| 2787 | 2787 |
for _, c := range cStats {
|
| 2788 | 2788 |
c.mu.Lock() |
| 2789 | 2789 |
if c.err != nil {
|
| 2790 |
- errs = append(errs, fmt.Sprintf("%s: %s", c.Name, c.err.Error()))
|
|
| 2790 |
+ errs = append(errs, fmt.Sprintf("%s: %v", c.Name, c.err))
|
|
| 2791 | 2791 |
} |
| 2792 | 2792 |
c.mu.Unlock() |
| 2793 | 2793 |
} |
| ... | ... |
@@ -104,7 +104,7 @@ func FormGroup(key string, start, last int) string {
|
| 104 | 104 |
func MatchesContentType(contentType, expectedType string) bool {
|
| 105 | 105 |
mimetype, _, err := mime.ParseMediaType(contentType) |
| 106 | 106 |
if err != nil {
|
| 107 |
- log.Errorf("Error parsing media type: %s error: %s", contentType, err.Error())
|
|
| 107 |
+ log.Errorf("Error parsing media type: %s error: %v", contentType, err)
|
|
| 108 | 108 |
} |
| 109 | 109 |
return err == nil && mimetype == expectedType |
| 110 | 110 |
} |
| ... | ... |
@@ -135,7 +135,7 @@ func httpError(w http.ResponseWriter, err error) {
|
| 135 | 135 |
} |
| 136 | 136 |
|
| 137 | 137 |
if err != nil {
|
| 138 |
- log.Errorf("HTTP Error: statusCode=%d %s", statusCode, err.Error())
|
|
| 138 |
+ log.Errorf("HTTP Error: statusCode=%d %v", statusCode, err)
|
|
| 139 | 139 |
http.Error(w, err.Error(), statusCode) |
| 140 | 140 |
} |
| 141 | 141 |
} |
| ... | ... |
@@ -1123,7 +1123,7 @@ func postContainersCopy(eng *engine.Engine, version version.Version, w http.Resp |
| 1123 | 1123 |
job.Stdout.Add(w) |
| 1124 | 1124 |
w.Header().Set("Content-Type", "application/x-tar")
|
| 1125 | 1125 |
if err := job.Run(); err != nil {
|
| 1126 |
- log.Errorf("%s", err.Error())
|
|
| 1126 |
+ log.Errorf("%v", err)
|
|
| 1127 | 1127 |
if strings.Contains(strings.ToLower(err.Error()), "no such id") {
|
| 1128 | 1128 |
w.WriteHeader(http.StatusNotFound) |
| 1129 | 1129 |
} else if strings.Contains(err.Error(), "no such file or directory") {
|
| ... | ... |
@@ -725,7 +725,7 @@ func (b *Builder) clearTmp() {
|
| 725 | 725 |
} |
| 726 | 726 |
|
| 727 | 727 |
if err := b.Daemon.Rm(tmp); err != nil {
|
| 728 |
- fmt.Fprintf(b.OutStream, "Error removing intermediate container %s: %s\n", common.TruncateID(c), err.Error()) |
|
| 728 |
+ fmt.Fprintf(b.OutStream, "Error removing intermediate container %s: %v\n", common.TruncateID(c), err) |
|
| 729 | 729 |
return |
| 730 | 730 |
} |
| 731 | 731 |
b.Daemon.DeleteVolumes(tmp.VolumePaths()) |
| ... | ... |
@@ -33,7 +33,7 @@ func TestTestNegative(t *testing.T) {
|
| 33 | 33 |
|
| 34 | 34 |
df, err := os.Open(dockerfile) |
| 35 | 35 |
if err != nil {
|
| 36 |
- t.Fatalf("Dockerfile missing for %s: %s", dir, err.Error())
|
|
| 36 |
+ t.Fatalf("Dockerfile missing for %s: %v", dir, err)
|
|
| 37 | 37 |
} |
| 38 | 38 |
|
| 39 | 39 |
_, err = Parse(df) |
| ... | ... |
@@ -52,18 +52,18 @@ func TestTestData(t *testing.T) {
|
| 52 | 52 |
|
| 53 | 53 |
df, err := os.Open(dockerfile) |
| 54 | 54 |
if err != nil {
|
| 55 |
- t.Fatalf("Dockerfile missing for %s: %s", dir, err.Error())
|
|
| 55 |
+ t.Fatalf("Dockerfile missing for %s: %v", dir, err)
|
|
| 56 | 56 |
} |
| 57 | 57 |
defer df.Close() |
| 58 | 58 |
|
| 59 | 59 |
ast, err := Parse(df) |
| 60 | 60 |
if err != nil {
|
| 61 |
- t.Fatalf("Error parsing %s's dockerfile: %s", dir, err.Error())
|
|
| 61 |
+ t.Fatalf("Error parsing %s's dockerfile: %v", dir, err)
|
|
| 62 | 62 |
} |
| 63 | 63 |
|
| 64 | 64 |
content, err := ioutil.ReadFile(resultfile) |
| 65 | 65 |
if err != nil {
|
| 66 |
- t.Fatalf("Error reading %s's result file: %s", dir, err.Error())
|
|
| 66 |
+ t.Fatalf("Error reading %s's result file: %v", dir, err)
|
|
| 67 | 67 |
} |
| 68 | 68 |
|
| 69 | 69 |
if ast.Dump()+"\n" != string(content) {
|
| ... | ... |
@@ -1015,10 +1015,10 @@ func NewDaemonFromDirectory(config *Config, eng *engine.Engine) (*Daemon, error) |
| 1015 | 1015 |
log.Errorf("portallocator.ReleaseAll(): %s", err)
|
| 1016 | 1016 |
} |
| 1017 | 1017 |
if err := daemon.driver.Cleanup(); err != nil {
|
| 1018 |
- log.Errorf("daemon.driver.Cleanup(): %s", err.Error())
|
|
| 1018 |
+ log.Errorf("daemon.driver.Cleanup(): %v", err)
|
|
| 1019 | 1019 |
} |
| 1020 | 1020 |
if err := daemon.containerGraph.Close(); err != nil {
|
| 1021 |
- log.Errorf("daemon.containerGraph.Close(): %s", err.Error())
|
|
| 1021 |
+ log.Errorf("daemon.containerGraph.Close(): %v", err)
|
|
| 1022 | 1022 |
} |
| 1023 | 1023 |
}) |
| 1024 | 1024 |
|
| ... | ... |
@@ -73,7 +73,7 @@ func newDriver(t *testing.T, name string) *Driver {
|
| 73 | 73 |
|
| 74 | 74 |
d, err := graphdriver.GetDriver(name, root, nil) |
| 75 | 75 |
if err != nil {
|
| 76 |
- t.Logf("graphdriver: %s\n", err.Error())
|
|
| 76 |
+ t.Logf("graphdriver: %v\n", err)
|
|
| 77 | 77 |
if err == graphdriver.ErrNotSupported || err == graphdriver.ErrPrerequisites || err == graphdriver.ErrIncompatibleFS {
|
| 78 | 78 |
t.Skipf("Driver %s not supported", name)
|
| 79 | 79 |
} |
| ... | ... |
@@ -530,7 +530,7 @@ func Allocate(job *engine.Job) engine.Status {
|
| 530 | 530 |
|
| 531 | 531 |
globalIPv6, err = ipallocator.RequestIP(globalIPv6Network, requestedIPv6) |
| 532 | 532 |
if err != nil {
|
| 533 |
- log.Errorf("Allocator: RequestIP v6: %s", err.Error())
|
|
| 533 |
+ log.Errorf("Allocator: RequestIP v6: %v", err)
|
|
| 534 | 534 |
return job.Error(err) |
| 535 | 535 |
} |
| 536 | 536 |
log.Infof("Allocated IPv6 %s", globalIPv6)
|
| ... | ... |
@@ -69,11 +69,11 @@ func NewErrPortAlreadyAllocated(ip string, port int) ErrPortAlreadyAllocated {
|
| 69 | 69 |
} |
| 70 | 70 |
|
| 71 | 71 |
func init() {
|
| 72 |
- const param = "/proc/sys/net/ipv4/ip_local_port_range" |
|
| 72 |
+ const portRangeKernelParam = "/proc/sys/net/ipv4/ip_local_port_range" |
|
| 73 | 73 |
|
| 74 |
- file, err := os.Open(param) |
|
| 74 |
+ file, err := os.Open(portRangeKernelParam) |
|
| 75 | 75 |
if err != nil {
|
| 76 |
- log.Errorf("Failed to read %s kernel parameter: %s", param, err.Error())
|
|
| 76 |
+ log.Errorf("Failed to read %s kernel parameter: %v", portRangeKernelParam, err)
|
|
| 77 | 77 |
return |
| 78 | 78 |
} |
| 79 | 79 |
var start, end int |
| ... | ... |
@@ -82,7 +82,7 @@ func init() {
|
| 82 | 82 |
if err == nil {
|
| 83 | 83 |
err = fmt.Errorf("unexpected count of parsed numbers (%d)", n)
|
| 84 | 84 |
} |
| 85 |
- log.Errorf("Failed to parse port range from %s: %v", param, err)
|
|
| 85 |
+ log.Errorf("Failed to parse port range from %s: %v", portRangeKernelParam, err)
|
|
| 86 | 86 |
return |
| 87 | 87 |
} |
| 88 | 88 |
beginPortRange = start |
| ... | ... |
@@ -66,7 +66,7 @@ func (daemon *Daemon) setHostConfig(container *Container, hostConfig *runconfig. |
| 66 | 66 |
if err != nil && os.IsNotExist(err) {
|
| 67 | 67 |
err = os.MkdirAll(source, 0755) |
| 68 | 68 |
if err != nil {
|
| 69 |
- return fmt.Errorf("Could not create local directory '%s' for bind mount: %s!", source, err.Error())
|
|
| 69 |
+ return fmt.Errorf("Could not create local directory '%s' for bind mount: %v!", source, err)
|
|
| 70 | 70 |
} |
| 71 | 71 |
} |
| 72 | 72 |
} |
| ... | ... |
@@ -13,7 +13,7 @@ func (daemon *Daemon) ContainerWait(job *engine.Job) engine.Status {
|
| 13 | 13 |
name := job.Args[0] |
| 14 | 14 |
container, err := daemon.Get(name) |
| 15 | 15 |
if err != nil {
|
| 16 |
- return job.Errorf("%s: %s", job.Name, err.Error())
|
|
| 16 |
+ return job.Errorf("%s: %v", job.Name, err)
|
|
| 17 | 17 |
} |
| 18 | 18 |
status, _ := container.WaitStop(-1 * time.Second) |
| 19 | 19 |
job.Printf("%d\n", status)
|
| ... | ... |
@@ -307,7 +307,7 @@ func TestDaemonCreate(t *testing.T) {
|
| 307 | 307 |
"conflictname", |
| 308 | 308 |
) |
| 309 | 309 |
if _, _, err := daemon.Create(&runconfig.Config{Image: GetTestImage(daemon).ID, Cmd: []string{"ls", "-al"}}, &runconfig.HostConfig{}, testContainer.Name); err == nil || !strings.Contains(err.Error(), common.TruncateID(testContainer.ID)) {
|
| 310 |
- t.Fatalf("Name conflict error doesn't include the correct short id. Message was: %s", err.Error())
|
|
| 310 |
+ t.Fatalf("Name conflict error doesn't include the correct short id. Message was: %v", err)
|
|
| 311 | 311 |
} |
| 312 | 312 |
|
| 313 | 313 |
// Make sure create with bad parameters returns an error |
| ... | ... |
@@ -30,7 +30,7 @@ func Listeners(unsetEnv bool) ([]net.Listener, error) {
|
| 30 | 30 |
var err error |
| 31 | 31 |
listeners[i], err = net.FileListener(f) |
| 32 | 32 |
if err != nil {
|
| 33 |
- return nil, fmt.Errorf("Error setting up FileListener for fd %d: %s", f.Fd(), err.Error())
|
|
| 33 |
+ return nil, fmt.Errorf("Error setting up FileListener for fd %d: %v", f.Fd(), err)
|
|
| 34 | 34 |
} |
| 35 | 35 |
} |
| 36 | 36 |
|
| ... | ... |
@@ -198,7 +198,7 @@ this is just some garbage data |
| 198 | 198 |
|
| 199 | 199 |
execUser, err := GetExecUser(test.ref, &defaultExecUser, passwd, group) |
| 200 | 200 |
if err != nil {
|
| 201 |
- t.Logf("got unexpected error when parsing '%s': %s", test.ref, err.Error())
|
|
| 201 |
+ t.Logf("got unexpected error when parsing '%s': %v", test.ref, err)
|
|
| 202 | 202 |
t.Fail() |
| 203 | 203 |
continue |
| 204 | 204 |
} |
| ... | ... |
@@ -337,7 +337,7 @@ this is just some garbage data |
| 337 | 337 |
|
| 338 | 338 |
execUser, err := GetExecUser(test.ref, &defaultExecUser, passwd, group) |
| 339 | 339 |
if err != nil {
|
| 340 |
- t.Logf("got unexpected error when parsing '%s': %s", test.ref, err.Error())
|
|
| 340 |
+ t.Logf("got unexpected error when parsing '%s': %v", test.ref, err)
|
|
| 341 | 341 |
t.Fail() |
| 342 | 342 |
continue |
| 343 | 343 |
} |