[lxc-devel] [PATCH 1/1] add lxc.console.logpath
Stéphane Graber
stgraber at ubuntu.com
Wed Aug 6 22:00:00 UTC 2014
On Wed, Aug 06, 2014 at 05:30:58PM +0000, Serge Hallyn wrote:
> 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.
>
The patch seems incomplete to me, you're missing clear_config_item,
get_config_item and save_config support at least.
> Signed-off-by: Serge Hallyn <serge.hallyn at 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 at lists.linuxcontainers.org
> http://lists.linuxcontainers.org/listinfo/lxc-devel
--
Stéphane Graber
Ubuntu developer
http://www.ubuntu.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20140806/0a6bbadc/attachment.sig>
More information about the lxc-devel
mailing list