Update configuration.rst
This commit is contained in:
parent
41635aee6c
commit
c21f807630
@ -25,16 +25,17 @@ Configuring actions
|
||||
Actions can be configured in a separate yaml file (by default ``rq.yaml`` is used) and / or defind in the main config file or passed via command line options ``-P``, ``-C``, ``-S``, ``-G``.
|
||||
|
||||
The following actions are available for definition:
|
||||
|
||||
* **put** - a list of tuples / 2-element lists: [source, destination]. Passed to ``scp`` like so ``scp source <node-ip>:destination``. Wildcards supported for source.
|
||||
* **cmds** - a list of dicts: {'command-name':'command-string'}. Example: {'command-1': 'uptime'}. Command string is a bash string. Commands are executed in a sorted order of their names.
|
||||
* **scripts** - a list of script filenames located on a local system. If filename does not contain path separator, the script is expected ot be located inside ``rqdir/scripts``. Otherwise the provided path is used to read the script.
|
||||
* **files** - a list of filenames to collect. passed to ``scp``. Supports wildcards.
|
||||
* **filelists** - a list of filelist filenames located on a local system. Filelist is a text file containing files and directories to collect, passed to rsync. Does not support wildcards. If filename does not contain path separator, the filelist is expected to be located inside ``rqdir/filelists``. Otherwise the provided path is used to read the filelist.
|
||||
* **log_files**
|
||||
** **path** - base path to scan for logs
|
||||
** **include** - regexp string to match log files against for inclusion (if not set = include all)
|
||||
** **exclude** - regexp string to match log files against. Excludes matched files from collection.
|
||||
** **start** - date or datetime string to collect only files modified on or after the specified time. Format - ``YYYY-MM-DD`` or ``YYYY-MM-DD HH:MM:SS``
|
||||
* **path** - base path to scan for logs
|
||||
* **include** - regexp string to match log files against for inclusion (if not set = include all)
|
||||
* **exclude** - regexp string to match log files against. Excludes matched files from collection.
|
||||
* **start** - date or datetime string to collect only files modified on or after the specified time. Format - ``YYYY-MM-DD`` or ``YYYY-MM-DD HH:MM:SS``
|
||||
|
||||
===============
|
||||
Filtering nodes
|
||||
@ -77,7 +78,7 @@ It is possible to define special **by_<parameter-name>** dicts in config to (re)
|
||||
|
||||
In this example for any controller node, cmds setting will be reset to the value above. For nodes without controller role, default (none) values will be used.
|
||||
|
||||
It is also possible to define a special **once_by_<parameter-name>** which work similarly to the above, but will only assign attributes to single matching node. Example:
|
||||
It is also possible to define a special **once_by_<parameter-name>** which works similarly, but will only result in attributes being assigned to single (first in the list) matching node. Example:
|
||||
|
||||
::
|
||||
|
||||
@ -85,7 +86,7 @@ It is also possible to define a special **once_by_<parameter-name>** which work
|
||||
controller:
|
||||
cmds: {'check-uptime': 'uptime'}
|
||||
|
||||
Such configuration will result in `uptime` being executed on only one node with controller role, not on every such node.
|
||||
Such configuration will result in `uptime` being executed on only one node with controller role, not on every controller.
|
||||
|
||||
=============
|
||||
rqfile format
|
||||
@ -118,13 +119,14 @@ Configuration application order
|
||||
===============================
|
||||
|
||||
Configuration is assembled and applied in a specific order:
|
||||
|
||||
1. default configuration is initialized. See ``timmy/conf.py`` for details.
|
||||
2. command line parameters, if defined, are used to modify the configuration.
|
||||
3. **rqfile**, if defined (default - ``rq.yaml``), is converted and injected into the configuration. At this stage the configuration is in its final form.
|
||||
4. for every node, configuration is applied, except ``once_by_`` directives:
|
||||
4.1 first the top-level attributes are set
|
||||
4.2 then ``by_<attribute-name>`` parameters except ``by_id`` are iterated to override or append(accumulate) the attributes
|
||||
4.3 then ``by_id`` is iterated to override any matching attributes, redefining what was set before
|
||||
1. first the top-level attributes are set
|
||||
2. then ``by_<attribute-name>`` parameters except ``by_id`` are iterated to override or append(accumulate) the attributes
|
||||
3. then ``by_id`` is iterated to override any matching attributes, redefining what was set before
|
||||
5. finally ``once_by_`<attribute-name>`` parameters are applied - only for one matching node for any set of matching values. This is useful for example if you want a specific file or command from only a single node matching a specific role, like running ``nova list`` only on one controller.
|
||||
|
||||
Once you are done with the configuration, you might want to familiarize yourself with :doc:`Usage </usage>`.
|
||||
|
Loading…
x
Reference in New Issue
Block a user