On 07/23/2014 08:34 AM, Ivana Varekova wrote:
>
> ----- Original Message -----
>> From: "Jan Chaloupka" <jchal...@redhat.com>
>> To: libcg-devel@lists.sourceforge.net
>> Cc: jchal...@redhat.com, varek...@redhat.com
>> Sent: Monday, July 14, 2014 8:24:04 AM
>> Subject: [PATCH 2/2] cgrules.d: new man page
>>
>> This patch contains new man page for cgrules.d directory and corresponding
>> update of existing man pages. It describes the way additional configuration
>> files should be created and potential conflicts resulting from an arbitrary
>> order or reading files in the directory.
>>
>> Changelog:
>> * line wrapping (max to 80 characters)
>> * hiearchy typo corrected
>> * diffrent typo corrected
>> * succesfully typo corrected
>> * /etc/cgconfig.conf added into FILES section
>> * formulation of advice for creating rules updated. Is it enough or
>>    still confusing? If so, can you be more specific?
>>
>> Signed-off-by: Jan Chaloupka <jchal...@redhat.com>
>> ---
>>   doc/man/cgrules.conf.5 |   14 ++++++++++---
>>   doc/man/cgrules.d.5    |   50
>>   ++++++++++++++++++++++++++++++++++++++++++++++++
>>   doc/man/cgrulesengd.8  |   20 ++++++++++++++-----
>>   3 files changed, 75 insertions(+), 9 deletions(-)
>>   create mode 100644 doc/man/cgrules.d.5
>>
>> diff --git a/doc/man/cgrules.conf.5 b/doc/man/cgrules.conf.5
>> index 7a89fb5..2d434e7 100644
>> --- a/doc/man/cgrules.conf.5
>> +++ b/doc/man/cgrules.conf.5
>> @@ -85,7 +85,7 @@ configuration file. See (\fBcgconfig.conf\fR (5)).
>>   If the template definition is not found there created group have default
>>   kernel setting.
>>   
>> -
>> +To create a hierarchy of configuration files, use \fB/etc/cgrules.d\fR
>> directory.
>>   
>>   .SH EXAMPLES
>>   .nf
>> @@ -136,13 +136,19 @@ process.
>>   .PD .1v
>>   .TP 20
>>   .B /etc/cgrules.conf
>> -.TP
>> +.RS 6
>>   default libcgroup configuration file
>> -.PD .
>> +.RE
>> +.TP 20
>> +.B /etc/cgrules.d
>> +.RS 6
>> +default libcgroup configuration files directory
>> +.RE
>> +.PD
>>   
>>   
>>   .SH SEE ALSO
>> -cgconfig.conf (5), cgclassify (1), cgred.conf (5)
>> +cgconfig.conf (5), cgclassify (1), cgred.conf (5), cgrules.d (5)
>>   
>>   .SH BUGS
>>   
>> diff --git a/doc/man/cgrules.d.5 b/doc/man/cgrules.d.5
>> new file mode 100644
>> index 0000000..76f2255
>> --- /dev/null
>> +++ b/doc/man/cgrules.d.5
>> @@ -0,0 +1,50 @@
>> +.\" Copyright (C) 2014 Red Hat, Inc. All Rights Reserved.
>> +.\" Written by Jan Chaloupka <jchal...@redhat.com>
>> +
>> +.TH CGRULES.D  5 2014-07-14 "Linux" "libcgroup Manual"
>> +.SH NAME
>> +cgrules.d \- libcgroup configuration files directory
>> +.SH DESCRIPTION
>> +.B "cgrules.d"
>> +configuration files directory is used by
>> +.B libcgroups
>> +and contains additional configuration files with the same syntax as
>> +\fBcgconfig.conf\fR (5).
>> +
>> +Because the order of parsing of configuration files is not determined,
>> +files can be parsed in an arbitrary order.
>> +A searching algorithm of \fBcgrulesengd\fR (8) with cache disabled
>> +tries to find the first match. Having two files with one rule each with
>> +the same <user>[:<process name>] prefix but different <controllers> or
>> +<destination> parts, it is not determined, which rule is going to be matched
>> +first. Thus create such configuration files that don't have rules
>> +with the same <user>[:<process name>] prefix among multiple files.
>> +Unless all those rules are in the same file.
>> +
>> +\fB/etc/cgconfig.conf\fR is parsed as the first file. After success,
>> +all files from /etc/cgconfig.d are parsed as well (in arbitrary order).
>> +If some file from the directory ends up with a parsing error,
>> +the process is stopped. With cache enabled, all successfully processed rules
>> +are kept in the cache. With cache disabled,
>> +matching is stopped and ends with not found result.
>> +
>> +If \fB/etc/cgrules.d\fR is empty, \fBcgrulesengd\fR (8) acts as being
>> +in a back compatibility mode.
> Add ^. What about something like:
> .SH NAME
> cgrules.d \- libcgroup configuration files directory
> .SH DESCRIPTION
> .B "cgrules.d"
> configuration files directory is used by
> .B libcgroups
> and contains additional configuration files with the same syntax as
> \fBcgconfig.conf\fR (5).
>
> Files are parsed in an arbitrary order.
> If the cache is disabled, the searching algorithm of  \fBcgrulesengd\fR (8)
> tries the first match.
> If there are two rules which match the criteria for a given process,
> and each rule is in a separate file, then there is no guarantee which one
> is chosen. If you want to control the given order of the rules, put them
> in one configuration file.
>
>
> \fB/etc/cgconfig.conf\fR is parsed as the first file. After success,
> all files from /etc/cgconfig.d are parsed as well (in an arbitrary order).
> If some file from the directory ends up with a parsing error,
> the process is stopped. With cache enabled, all successfully processed rules
> are kept in the cache. With cache disabled,
> matching is stopped and ends with a 'not found' result.
>
> If \fB/etc/cgrules.d\fR is empty, \fBcgrulesengd\fR (8) acts
> in a backwards compatibility mode.

Yes, this sounds better. Agree with the change.

>> +
>> +.SH FILES
>> +.LP
>> +.PD .1v
>> +.TP 20
>> +.B /etc/cgrules.d
>> +.RS 4
>> +default libcgroup configuration files directory
>> +.RE
>> +.B /etc/cgconfig.conf
>> +.RS 4
>> +default libcgroup configuration file
>> +.RE
>> +.PD .
>> +
>> +
>> +.SH SEE ALSO
>> +cgconfig.conf (5), cgrulesengd (8)
>> diff --git a/doc/man/cgrulesengd.8 b/doc/man/cgrulesengd.8
>> index 749b6fc..ba654b9 100644
>> --- a/doc/man/cgrulesengd.8
>> +++ b/doc/man/cgrulesengd.8
>> @@ -10,10 +10,11 @@ cgrulesengd \- control group rules daemon
>>   .SH DESCRIPTION
>>   \fBcgrulesengd\fR is a daemon, which distributes processes to control
>>   groups. When
>>   any process changes its effective UID or GID, \fBcgrulesengd\fR inspects 
>> the
>>   list
>> -of rules loaded from the \fIcgrules.conf\fR file and moves the process to
>> -the appropriate control group.
>> +of rules loaded from the \fIcgrules.conf\fR file and files in
>> \fIcgrules.d\fR
>> +(see \fBcgrules.d\fR (5) for potential conflicts) directory
>> +and moves the process to the appropriate control group.
>>   
>> -The list of rules is read during the daemon startup is are cached in the
>> daemon's memory.
>> +The list of rules is read during the daemon startup and 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.
>>   
>> @@ -67,14 +68,23 @@ controls verbosity of the tool. Allowed values are
>> \fBDEBUG\fR,
>>   .PD .1v
>>   .TP
>>   .B /etc/cgrules.conf
>> -.TP
>> +.RS 6
>>   the default libcgroup configuration file
>> +.RE
>> +.B /etc/cgrules.d
>> +.RS 6
>> +the default libcgroup configuration files directory
>> +.RE
>>   .TP
>>   .B /etc/cgconfig.conf
>> +.RS 6
>>   the default templates file
>> +.RE
>>   .TP
>>   .B /etc/cgconfig.d/
>> +.RS 6
>>   the default templates directory
>> +.RE
>>   
>>   .SH SEE ALSO
>> -cgrules.conf (5)
>> +cgrules.conf (5), cgrules.d (5)
>>
>>

-- 
Jan Chaloupka
------------------------------
* Software Engineer          *
* ENG Base Operating Systems *
* Red Hat Czech, s. r. o.    *
* UTC+1 (CET), jchaloup      *


------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
_______________________________________________
Libcg-devel mailing list
Libcg-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libcg-devel

Reply via email to