[lxc-devel] [PATCH] Use lxcpath for basename of log when --enable-configpath-log

Serge Hallyn serge.hallyn at ubuntu.com
Fri Apr 26 14:37:49 UTC 2013


Quoting Dwight Engen (dwight.engen at oracle.com):
> Using lxc configured with --enable-configpath-log, and specifying a
> path to the lxc commands with -P, the log file path is generated with a
> basename of LOGPATH instead of the lxcpath. This means for example if you do
> 
> lxc-start -P /tmp/containers -n test01 -l INFO
> 
> your log file will be
> 
> /var/lib/lxc/test01/test01.log
> 
> I was expecting the log to be /tmp/containers/test01/test01.log.
> This is particularly confusing if you also have test01 on the regular
> lxcpath. The patch below changes the log file path to be based on
> lxcpath rather than LOGPATH when lxc is configured with
> --enable-configpath-log.
> 
> I think that even in the normal non --enable-configpath-log case
> we should consider using lxcpath as the base and not having LOGPATH at
> all, as attempting to create the log files in /var/log is not going to
> work for regular users on their own lxcpath. If we want that, I'll
> update the patch to do that as well.


Perhaps we should do:

	1. If lxcpath == default_lxc_path(), then first choice is
	   LOGPATH, second is lxcpath/container.log
	2. when opening, if first choice fails, use second choice
	   if there is any.

That way 'system' containers will go to /var/log/lxc, as I think they
should.  Custom-lxcpath containers should never go to /var/log/lxc,
since their names could be dups of containers in default_lxc_path().
And if the system is a weird one where default_lxc_path is set up
so that an unprivileged user can use it, then we should log into
$lxcpath.

(Note this patch will trivially conflict with my new lxc_clone.c
causing it to fail to build - unfortunate result of timing)




More information about the lxc-devel mailing list