cumin - Automation and orchestration framework written in
Python
Cumin CLI - Automation and orchestration framework written in
Python
usage: cumin [-h] [-c CONFIG] [--global-timeout GLOBAL_TIMEOUT] [-t TIMEOUT]
[-m {sync,async}] [-p PCT] [-b BATCH_SIZE] [-s BATCH_SLEEP] [-x]
[-o {txt,json}] [-i] [-n] [--force] [--backend BACKEND]
[--transport {clustershell}] [--dry-run] [--no-progress]
[--version] [-d] [--trace]
HOSTS_QUERY [COMMAND ...]
- HOSTS_QUERY
- Hosts selection query
- COMMAND
- Command to be executed. If no commands are specified, --dry-run is
set.
- -c, --config
- configuration file. [default: /etc/cumin/config.yaml]
- --global-timeout
- Global timeout in seconds (int) for the whole execution. [default: None
(unlimited)]
- -t, --timeout
- Timeout in seconds (int) for the the execution of every command in each
host. [default: None (unlimited)]
- -m, --mode
- Possible choices: sync, async
Execution mode, required when there are multiple COMMANDS to
be executed. In sync mode, execute the first command on all hosts, then
proceed with the next one only if -p/--success-percentage is reached. In
async mode, execute on each host independently from each other, the list
of commands, aborting the execution on any given host at the first
command that fails.
- -p,
--success-percentage
- Possible choices: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100
Percentage threshold to consider an execution unit successful.
Required in sync mode, optional in async mode when -b/--batch-size is
used. Accepted values are integers in the range 0-100. [default:
100]
- -b, --batch-size
- The commands will be executed with a sliding batch of this size. The batch
mode depends on the -m/--mode option when multiple commands are specified.
In sync mode the first command is executed in batch to all hosts before
proceeding with the next one. In async mode all commands are executed on
the first batch of hosts, proceeding with the next hosts as soon as one
host completes all the commands. The -p/--success-percentage is checked
before starting the execution in each host. It accept an absolute integer
(i.e. 10) or a percentage (i.e. 50%). [default: None (# of hosts)]
- -s, --batch-sleep
- Sleep in seconds (float) to wait before starting the execution on the next
host when -b/--batch-size is used. [default: None]
- -x,
--ignore-exit-codes
- USE WITH CAUTION! Treat any executed command as successful, ignoring the
exit codes. [default: False]
- -o, --output
- Possible choices: txt, json
Specify a different output format. [default: None]
- -i, --interactive
- Drop into a Python shell with the results. [default: False]
- -n, --no-colors
- Disable colored output. [default: False]
- --force
- USE WITH CAUTION! Force the execution without confirmation of the affected
hosts. [default: False]
- --backend
- Override the default backend selected in the configuration file for this
execution. The backend-specific configuration must be already present in
the configuration file. One of [direct, knownhosts, openstack, puppetdb]
or any external backend listed in the configuration file [default:
None]
- --transport
- Possible choices: clustershell
Override the default transport selected in the configuration
file for this execution. The transport-specific configuration must
already be present in the configuration file. [default: None]
- --dry-run
- Do not execute any command, just return the list of matching hosts and
exit. [default: False]
- --no-progress
- Do not show the progress bars during execution.
- --version
- show program's version number and exit
- -d, --debug
- Set log level to DEBUG. See also log_file in the configuration. [default:
False]
- --trace
- Set log level to TRACE, a custom logging level intended for development
debugging. See also log_file in the configuration. [default: False]
More details at
https://wikitech.wikimedia.org/wiki/Cumin
2017-2023, Riccardo Coccioli <rcoccioli@wikimedia.org>,
Wikimedia Foundation, Inc.