Document nonparallel type flag.

This commit is contained in:
Darko Poljak 2017-07-20 18:45:44 +02:00
parent a20b7167cd
commit 4a72592ae5
1 changed files with 26 additions and 5 deletions

View File

@ -64,15 +64,23 @@ If a type is flagged with 'install' flag then it is used only with install comma
With other commands, i.e. config, these types are skipped if used. With other commands, i.e. config, these types are skipped if used.
Nonparallel types
-----------------
If a type is flagged with 'nonparallel' flag then its objects cannot be run in parallel
when using -j option. Example of such a type is __package_dpkg type where dpkg itself
prevents to be run in more than one instance.
How to write a new type How to write a new type
----------------------- -----------------------
A type consists of A type consists of
- parameter (optional) - parameter (optional)
- manifest (optional) - manifest (optional)
- singleton (optional) - singleton (optional)
- explorer (optional) - explorer (optional)
- gencode (optional) - gencode (optional)
- nonparallel (optional)
Types are stored below cdist/conf/type/. Their name should always be prefixed with Types are stored below cdist/conf/type/. Their name should always be prefixed with
two underscores (__) to prevent collisions with other executables in $PATH. two underscores (__) to prevent collisions with other executables in $PATH.
@ -240,6 +248,19 @@ install: create the (empty) file "install" in your type directory:
With other commands, i.e. config, it will be skipped if used. With other commands, i.e. config, it will be skipped if used.
Nonparallel - only one instance can be run at a time
----------------------------------------------------
If objects of a type must not or cannot be run in parallel when using -j
option, you must mark it as nonparallel: create the (empty) file "nonparallel"
in your type directory:
.. code-block:: sh
touch cdist/conf/type/__NAME/nonparallel
For example, package types are nonparallel types.
The type explorers The type explorers
------------------ ------------------
If a type needs to explore specific details, it can provide type specific If a type needs to explore specific details, it can provide type specific