Some time ago, lxc.console was changed to require a device. lxc-start gained an lxc console logfile argument, but this was not supported through the container config.
This patch adds the option through container config as 'lxc.console.logfile'. This allows for instance cloud providers to configure all containers to log the consoles. Signed-off-by: Serge Hallyn <serge.hal...@ubuntu.com> --- doc/lxc.container.conf.sgml.in | 17 ++++++++++++++--- src/lxc/confile.c | 8 ++++++++ 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/doc/lxc.container.conf.sgml.in b/doc/lxc.container.conf.sgml.in index a4485bc..121f882 100644 --- a/doc/lxc.container.conf.sgml.in +++ b/doc/lxc.container.conf.sgml.in @@ -536,13 +536,24 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA <variablelist> <varlistentry> <term> - <option>lxc.console</option> + <option>lxc.console.logfile</option> </term> <listitem> <para> Specify a path to a file where the console output will - be written. The keyword 'none' will simply disable the - console. This is dangerous once if have a rootfs with a + be written. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term> + <option>lxc.console</option> + </term> + <listitem> + <para> + Specify a path to a device to which the console will be + attached. The keyword 'none' will simply disable the + console. This is dangerous once if have a rootfs with a console device file where the application can write, the messages will fall in the host. </para> diff --git a/src/lxc/confile.c b/src/lxc/confile.c index 26ac682..a1be76f 100644 --- a/src/lxc/confile.c +++ b/src/lxc/confile.c @@ -89,6 +89,7 @@ static int config_network_ipv6_gateway(const char *, const char *, struct lxc_co static int config_cap_drop(const char *, const char *, struct lxc_conf *); static int config_cap_keep(const char *, const char *, struct lxc_conf *); static int config_console(const char *, const char *, struct lxc_conf *); +static int config_console_logfile(const char *, const char *, struct lxc_conf *); static int config_seccomp(const char *, const char *, struct lxc_conf *); static int config_includefile(const char *, const char *, struct lxc_conf *); static int config_network_nic(const char *, const char *, struct lxc_conf *); @@ -146,6 +147,7 @@ static struct lxc_config_t config[] = { { "lxc.network", config_network }, { "lxc.cap.drop", config_cap_drop }, { "lxc.cap.keep", config_cap_keep }, + { "lxc.console.logfile", config_console_logfile }, { "lxc.console", config_console }, { "lxc.seccomp", config_seccomp }, { "lxc.include", config_includefile }, @@ -1604,6 +1606,12 @@ static int config_console(const char *key, const char *value, return config_path_item(&lxc_conf->console.path, value); } +static int config_console_logfile(const char *key, const char *value, + struct lxc_conf *lxc_conf) +{ + return config_path_item(&lxc_conf->console.log_path, value); +} + int append_unexp_config_line(const char *line, struct lxc_conf *conf) { size_t len = conf->unexpanded_len, linelen = strlen(line); -- 2.1.0.rc1 _______________________________________________ lxc-devel mailing list lxc-devel@lists.linuxcontainers.org http://lists.linuxcontainers.org/listinfo/lxc-devel