[lxc-devel] [PATCH] Try to be more helpful on container startup failure

Stéphane Graber stgraber at ubuntu.com
Wed Jun 4 20:40:54 UTC 2014


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 at ubuntu.com>
---
 src/lxc/commands.c  |  4 ++--
 src/lxc/lxc_start.c | 10 +++++++++-
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/src/lxc/commands.c b/src/lxc/commands.c
index b71274c..458d41e 100644
--- a/src/lxc/commands.c
+++ b/src/lxc/commands.c
@@ -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;
 	}
 
diff --git a/src/lxc/lxc_start.c b/src/lxc/lxc_start.c
index 9b47e8c..1d8145f 100644
--- a/src/lxc/lxc_start.c
+++ b/src/lxc/lxc_start.c
@@ -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;
 }
-
-- 
1.9.1



More information about the lxc-devel mailing list