On 12/15/2012 07:01 PM, Ivana Hutarova Varekova wrote:
> cgrules.conf(5): add information about templates setting in rules
> cgconfig.conf(5): add information about templates setting + example
> cgrulesengd(8): add information about SIGUSR1 signal which call reloads the
> templates configuration
> README_daemon: the same change as in cgrulesengd(8)
>
> CHANGELOG:
> * cgrules.conf - incorporate Jan's feedback
>
>
> Signed-off-by: Ivana Hutarova Varekova <[email protected]>
Acked-by: Jan Safranek<[email protected]>
> ---
>
> README_daemon | 8 +++++--
> doc/man/cgconfig.conf.5 | 54
> +++++++++++++++++++++++++++++++++++++++++++++++
> doc/man/cgexec.1 | 8 +++++++
> doc/man/cgrules.conf.5 | 25 +++++++++++++++++++---
> doc/man/cgrulesengd.8 | 1 +
> 5 files changed, 91 insertions(+), 5 deletions(-)
>
> diff --git a/README_daemon b/README_daemon
> index 17e4ea8..25f0d55 100644
> --- a/README_daemon
> +++ b/README_daemon
> @@ -64,10 +64,14 @@ currently supported:
> --config [FILE] Read rules configuration from FILE instead of
> /etc/cgrules.conf
>
> -You can ask the daemon to reload the configuration by sending it SIGUSR2.
> The
> -easiest way to do this is with the 'kill' command:
> +You can ask the daemon to reload the rules configuration by sending it
> SIGUSR2.
> +The easiest way to do this is with the 'kill' command:
> kill -s SIGUSR2 [PID]
>
> +You can ask the daemon to reload the templates configuration by sending it
> +SIGUSR1. The easiest way to do this is with the 'kill' command:
> + kill -s SIGUSR1 [PID]
> +
> TESTING
> =======
> The program setuid (found in tests/setuid.c) can help you test the daemon.
> By
> diff --git a/doc/man/cgconfig.conf.5 b/doc/man/cgconfig.conf.5
> index fbcc978..be80e4e 100644
> --- a/doc/man/cgconfig.conf.5
> +++ b/doc/man/cgconfig.conf.5
> @@ -239,6 +239,18 @@ their permissions in their
> .I group
> section.
>
> +.I template
> +section has the same structure as
> +.B group
> +section. Template name uses the same templates string as
> +.B cgrules.conf
> +destination tag (see (\fBcgrules.conf\fR (5)).
> +Template definition is used as a control group definition for rules in
> +\fBcgrules.conf\fR (5) with the same destination name.
> +Templates does not use
> +.B default
> +section settings.
> +
> .\"********************************************"
> .SH EXAMPLES
> .LP
> @@ -710,6 +722,48 @@ control group, but they can not move the process out of
> the group. Only the
> .I operator
> or root can do that.
>
> +.SS Example 7
> +.LP
> +The configuration file:
> +
> +.LP
> +.RS
> +.nf
> +mount {
> +.RS
> +cpu = /mnt/cgroups/cpu;
> +cpuacct = /mnt/cgroups/cpuacct;
> +.RE
> +}
> +
> +group students {
> +.RS
> +cpuacct{
> +}
> +cpu {
> +}
> +.RE
> +}
> +
> +template students/%u {
> +.RS
> +cpuacct{
> +}
> +cpu {
> +}
> +.RE
> +}
> +
> +mkdir /mnt/cgroups/cpu/daemons
> +mkdir /mnt/cgroups/cpuacct/daemons
> +.fi
> +.RE
> +
> +The situation is the similar as in Example 4. The only difference is
> template,
> +which is used if some rule uses "/students/%u" as a destination.
> +
> +
> +
> .SH RECOMMENDATIONS
> .SS Keep hierarchies separated
> Having multiple hierarchies is perfectly valid and can be useful
> diff --git a/doc/man/cgexec.1 b/doc/man/cgexec.1
> index fa131ce..3834a02 100644
> --- a/doc/man/cgexec.1
> +++ b/doc/man/cgexec.1
> @@ -31,6 +31,14 @@ If this option is not used,
> \fBcgexec\fR will automatically place the task in the right
> cgroup based on \fB/etc/cgrules.conf\fR.
>
> +If \fB/etc/cgrules.conf\fR configuration file is used, there can be used
> +template names. Then the control group name contains
> +a template in destination tag (see \fBcgrules.conf\fR (5))
> +and if the cgroup does not exist in execution time,
> +it is created, based on \fB/etc/cgconfig.conf\fR specification.
> +If the specifications are not present the group is created with the default
> +kernel values.
> +
> .TP
> .B -h, --help
> Display this help and exit.
> diff --git a/doc/man/cgrules.conf.5 b/doc/man/cgrules.conf.5
> index 676f0cc..7a89fb5 100644
> --- a/doc/man/cgrules.conf.5
> +++ b/doc/man/cgrules.conf.5
> @@ -56,7 +56,7 @@ can be:
> can be:
> .nf
> - path relative to the controller hierarchy (ex. pgrp1/gid1/uid1)
> - - following strings will get expanded
> + - following strings called "\fBtemplates\fR" and will get expanded
>
> %u username, uid if name resolving fails
> %U uid
> @@ -67,13 +67,25 @@ can be:
>
> '\\' can be used to escape '%'
> .fi
> -
> First rule which matches the criteria will be executed.
>
> -
> Any text starting with '#' is considered as a start of comment line and is
> ignored.
>
> +If the
> +.I destination
> +contains
> +.B template
> +string, the control group can be created on-fly. In time when some process
> wants
> +to use the template rule which leads to control group (see
> +\fBcgexec\fR (1)) and the control group does not exist, the group is
> created. The
> +template control group parameters can be specified in
> +.B cgconfig.conf
> +configuration file. See (\fBcgconfig.conf\fR (5)).
> +If the template definition is not found there created group have default
> +kernel setting.
> +
> +
>
> .SH EXAMPLES
> .nf
> @@ -110,6 +122,13 @@ the earliest matched rule is applied, it makes sense to
> have this line
> at the end of the list. It will put a task which was not mentioned in the
> previous rules to default/ control group.
>
> +.nf
> +@students cpu,cpuacct students/%u
> +.fi
> +Processes in cpu and cpuacct subsystems started by anybody from students
> group
> +belong to group students/name. Where "name" is user name of owner of the
> +process.
> +
>
>
> .SH FILES
> diff --git a/doc/man/cgrulesengd.8 b/doc/man/cgrulesengd.8
> index 9093ea7..69be57f 100644
> --- a/doc/man/cgrulesengd.8
> +++ b/doc/man/cgrulesengd.8
> @@ -15,6 +15,7 @@ the appropriate control group.
>
> The list of rules is read during the daemon startup is are cached in the
> daemon's memory.
> The daemon reloads the list of rules when it receives SIGUSR2 signal.
> +The daemon reloads the list of templates when it receives SIGUSR1 signal.
>
> The daemon opens a standard unix socket to receive 'sticky' requests from
> \fBcgexec\fR.
>
>
>
> ------------------------------------------------------------------------------
> LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
> Remotely access PCs and mobile devices and provide instant support
> Improve your efficiency, and focus on delivering more value-add services
> Discover what IT Professionals Know. Rescue delivers
> http://p.sf.net/sfu/logmein_12329d2d
> _______________________________________________
> Libcg-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/libcg-devel
>
------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
Libcg-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libcg-devel