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.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 -- Stéphane Graber Ubuntu developer http://www.ubuntu.com
signature.asc
Description: Digital signature
_______________________________________________ lxc-devel mailing list lxc-devel@lists.linuxcontainers.org http://lists.linuxcontainers.org/listinfo/lxc-devel