Try to be more helpful on container startup failure

This hides some of the confusing "command X failed to receive response"
why are usually caused by another more understandable error.

On failure to start() from lxc-start, a new error message is displayed,
suggesting the user sets logfile and loglevel and if using -d, restarts
the container in the foreground instead.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
This commit is contained in:
Stéphane Graber 2014-06-04 14:05:25 -04:00
parent 809a1539a3
commit 307ab05d0f
2 changed files with 11 additions and 3 deletions

View File

@ -136,8 +136,8 @@ static int lxc_cmd_rsp_recv(int sock, struct lxc_cmd_rr *cmd)
ret = lxc_abstract_unix_recv_fd(sock, &rspfd, rsp, sizeof(*rsp));
if (ret < 0) {
ERROR("command %s failed to receive response",
lxc_cmd_str(cmd->req.cmd));
WARN("command %s failed to receive response",
lxc_cmd_str(cmd->req.cmd));
return -1;
}

View File

@ -329,8 +329,16 @@ int main(int argc, char *argv[])
c->want_close_all_fds(c, true);
err = c->start(c, 0, args) ? 0 : 1;
if (err) {
ERROR("The container failed to start.");
if (my_args.daemonize)
ERROR("To get more details, run the container in foreground mode.");
ERROR("Additional information can be obtained by setting the "
"--logfile and --log-priority options.");
}
out:
lxc_container_put(c);
return err;
}