Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
| ... | ... |
@@ -103,7 +103,7 @@ func (cli *DaemonCli) start(opts *daemonOptions) (err error) {
|
| 103 | 103 |
system.InitLCOW(cli.Config.Experimental) |
| 104 | 104 |
|
| 105 | 105 |
if err := setDefaultUmask(); err != nil {
|
| 106 |
- return fmt.Errorf("Failed to set umask: %v", err)
|
|
| 106 |
+ return err |
|
| 107 | 107 |
} |
| 108 | 108 |
|
| 109 | 109 |
// Create the daemon root before we create ANY other files (PID, or migrate keys) |
| ... | ... |
@@ -119,7 +119,7 @@ func (cli *DaemonCli) start(opts *daemonOptions) (err error) {
|
| 119 | 119 |
if cli.Pidfile != "" {
|
| 120 | 120 |
pf, err := pidfile.New(cli.Pidfile) |
| 121 | 121 |
if err != nil {
|
| 122 |
- return fmt.Errorf("Error starting daemon: %v", err)
|
|
| 122 |
+ return errors.Wrap(err, "failed to start daemon") |
|
| 123 | 123 |
} |
| 124 | 124 |
defer func() {
|
| 125 | 125 |
if err := pf.Remove(); err != nil {
|
| ... | ... |
@@ -130,13 +130,13 @@ func (cli *DaemonCli) start(opts *daemonOptions) (err error) {
|
| 130 | 130 |
|
| 131 | 131 |
serverConfig, err := newAPIServerConfig(cli) |
| 132 | 132 |
if err != nil {
|
| 133 |
- return fmt.Errorf("Failed to create API server: %v", err)
|
|
| 133 |
+ return errors.Wrap(err, "failed to create API server") |
|
| 134 | 134 |
} |
| 135 | 135 |
cli.api = apiserver.New(serverConfig) |
| 136 | 136 |
|
| 137 | 137 |
hosts, err := loadListeners(cli, serverConfig) |
| 138 | 138 |
if err != nil {
|
| 139 |
- return fmt.Errorf("Failed to load listeners: %v", err)
|
|
| 139 |
+ return errors.Wrap(err, "failed to load listeners") |
|
| 140 | 140 |
} |
| 141 | 141 |
|
| 142 | 142 |
ctx, cancel := context.WithCancel(context.Background()) |
| ... | ... |
@@ -144,13 +144,13 @@ func (cli *DaemonCli) start(opts *daemonOptions) (err error) {
|
| 144 | 144 |
opts, err := cli.getContainerdDaemonOpts() |
| 145 | 145 |
if err != nil {
|
| 146 | 146 |
cancel() |
| 147 |
- return fmt.Errorf("Failed to generate containerd options: %v", err)
|
|
| 147 |
+ return errors.Wrap(err, "failed to generate containerd options") |
|
| 148 | 148 |
} |
| 149 | 149 |
|
| 150 | 150 |
r, err := supervisor.Start(ctx, filepath.Join(cli.Config.Root, "containerd"), filepath.Join(cli.Config.ExecRoot, "containerd"), opts...) |
| 151 | 151 |
if err != nil {
|
| 152 | 152 |
cancel() |
| 153 |
- return fmt.Errorf("Failed to start containerd: %v", err)
|
|
| 153 |
+ return errors.Wrap(err, "failed to start containerd") |
|
| 154 | 154 |
} |
| 155 | 155 |
|
| 156 | 156 |
cli.Config.ContainerdAddr = r.Address() |
| ... | ... |
@@ -176,20 +176,20 @@ func (cli *DaemonCli) start(opts *daemonOptions) (err error) {
|
| 176 | 176 |
|
| 177 | 177 |
d, err := daemon.NewDaemon(ctx, cli.Config, pluginStore) |
| 178 | 178 |
if err != nil {
|
| 179 |
- return fmt.Errorf("Error starting daemon: %v", err)
|
|
| 179 |
+ return errors.Wrap(err, "failed to start daemon") |
|
| 180 | 180 |
} |
| 181 | 181 |
|
| 182 | 182 |
d.StoreHosts(hosts) |
| 183 | 183 |
|
| 184 | 184 |
// validate after NewDaemon has restored enabled plugins. Dont change order. |
| 185 | 185 |
if err := validateAuthzPlugins(cli.Config.AuthorizationPlugins, pluginStore); err != nil {
|
| 186 |
- return fmt.Errorf("Error validating authorization plugin: %v", err)
|
|
| 186 |
+ return errors.Wrap(err, "failed to validate authorization plugin") |
|
| 187 | 187 |
} |
| 188 | 188 |
|
| 189 | 189 |
// TODO: move into startMetricsServer() |
| 190 | 190 |
if cli.Config.MetricsAddress != "" {
|
| 191 | 191 |
if !d.HasExperimental() {
|
| 192 |
- return fmt.Errorf("metrics-addr is only supported when experimental is enabled")
|
|
| 192 |
+ return errors.Wrap(err, "metrics-addr is only supported when experimental is enabled") |
|
| 193 | 193 |
} |
| 194 | 194 |
if err := startMetricsServer(cli.Config.MetricsAddress); err != nil {
|
| 195 | 195 |
return err |
| ... | ... |
@@ -243,7 +243,7 @@ func (cli *DaemonCli) start(opts *daemonOptions) (err error) {
|
| 243 | 243 |
cancel() |
| 244 | 244 |
|
| 245 | 245 |
if errAPI != nil {
|
| 246 |
- return fmt.Errorf("Shutting down due to ServeAPI error: %v", errAPI)
|
|
| 246 |
+ return errors.Wrap(errAPI, "shutting down due to ServeAPI error") |
|
| 247 | 247 |
} |
| 248 | 248 |
|
| 249 | 249 |
return nil |
| ... | ... |
@@ -412,14 +412,14 @@ func loadDaemonCliConfig(opts *daemonOptions) (*config.Config, error) {
|
| 412 | 412 |
} |
| 413 | 413 |
|
| 414 | 414 |
if flags.Changed("graph") && flags.Changed("data-root") {
|
| 415 |
- return nil, fmt.Errorf(`cannot specify both "--graph" and "--data-root" option`) |
|
| 415 |
+ return nil, errors.New(`cannot specify both "--graph" and "--data-root" option`) |
|
| 416 | 416 |
} |
| 417 | 417 |
|
| 418 | 418 |
if opts.configFile != "" {
|
| 419 | 419 |
c, err := config.MergeDaemonConfigurations(conf, flags, opts.configFile) |
| 420 | 420 |
if err != nil {
|
| 421 | 421 |
if flags.Changed("config-file") || !os.IsNotExist(err) {
|
| 422 |
- return nil, fmt.Errorf("unable to configure the Docker daemon with file %s: %v", opts.configFile, err)
|
|
| 422 |
+ return nil, errors.Wrapf(err, "unable to configure the Docker daemon with file %s", opts.configFile) |
|
| 423 | 423 |
} |
| 424 | 424 |
} |
| 425 | 425 |
// the merged configuration can be nil if the config file didn't exist. |
| ... | ... |
@@ -592,7 +592,7 @@ func loadListeners(cli *DaemonCli, serverConfig *apiserver.Config) ([]string, er |
| 592 | 592 |
for i := 0; i < len(cli.Config.Hosts); i++ {
|
| 593 | 593 |
var err error |
| 594 | 594 |
if cli.Config.Hosts[i], err = dopts.ParseHost(cli.Config.TLS, cli.Config.Hosts[i]); err != nil {
|
| 595 |
- return nil, fmt.Errorf("error parsing -H %s : %v", cli.Config.Hosts[i], err)
|
|
| 595 |
+ return nil, errors.Wrapf(err, "error parsing -H %s", cli.Config.Hosts[i]) |
|
| 596 | 596 |
} |
| 597 | 597 |
|
| 598 | 598 |
protoAddr := cli.Config.Hosts[i] |
| ... | ... |
@@ -570,7 +570,7 @@ func (s *DockerDaemonSuite) TestDaemonExitOnFailure(c *check.C) {
|
| 570 | 570 |
c.Fatalf("Expected daemon not to start, got %v", err)
|
| 571 | 571 |
} |
| 572 | 572 |
// look in the log and make sure we got the message that daemon is shutting down |
| 573 |
- icmd.RunCommand("grep", "Error starting daemon", s.d.LogFileName()).Assert(c, icmd.Success)
|
|
| 573 |
+ icmd.RunCommand("grep", "failed to start daemon", s.d.LogFileName()).Assert(c, icmd.Success)
|
|
| 574 | 574 |
} else {
|
| 575 | 575 |
//if we didn't get an error and the daemon is running, this is a failure |
| 576 | 576 |
c.Fatal("Conflicting options should cause the daemon to error out with a failure")
|
| ... | ... |
@@ -201,7 +201,7 @@ func (d *Daemon) Start(t testingT, args ...string) {
|
| 201 | 201 |
ht.Helper() |
| 202 | 202 |
} |
| 203 | 203 |
if err := d.StartWithError(args...); err != nil {
|
| 204 |
- t.Fatalf("Error starting daemon with arguments %v : %v", args, err)
|
|
| 204 |
+ t.Fatalf("failed to start daemon with arguments %v : %v", args, err)
|
|
| 205 | 205 |
} |
| 206 | 206 |
} |
| 207 | 207 |
|