CLI¶
Parallel remote command execution and file manipulation tool
usage: timmy [-V] [-c CONFIG] [-o DEST_FILE] [--log-file LOG_FILE] [-e ENV]
[-r ROLE] [-i ID] [-d NUMBER] [-G PATH] [-C COMMAND] [-S SCRIPT]
[--one-way] [--max-pairs NUMBER] [-P SOURCE DESTINATION]
[-L PATH INCLUDE EXCLUDE] [--rqfile PATH] [-l]
[--logs-no-default] [--logs-speed MBIT/S] [--logs-speed-auto]
[--logs-coeff RATIO] [--only-logs] [--fake] [--fake-logs]
[--no-archive] [--no-clean] [-q] [--maxthreads NUMBER]
[--logs-maxthreads NUMBER] [-t] [-T] [-m INVENTORY MODULE] [-a]
[--offline] [-v]
Named Arguments¶
-V, –version | Print Timmy version and exit. Default: False |
-c, –config | Path to a YAML configuration file. |
-o, –dest-file | |
Output filename for the archive in tar.gz format for command outputs and collected files. Overrides “archive_” config options. If logs are collected they will be placed in the same folder (but separate archives). | |
–log-file | Redirect Timmy log to a file. |
-e, –env | Env ID. Run only on specific environment. |
-r, –role | Can be specified multiple times. Run only on the specified role. |
-i, –id | Can be specified multiple times. Run only on the node(s) with given IDs. |
-d, –days | Define log collection period in days. Timmy will collect only logs updated on or more recently then today minus the given number of days. Default - 30. |
-G, –get | Enables shell mode. Can be specified multiple times. Filemask to collect via “scp -r”. Result is placed into a folder specified by “outdir” config option. For help on shell mode, read timmy/conf.py. |
-C, –command | Enables shell mode. Can be specified multiple times. Shell command to execute. For help on shell mode, read timmy/conf.py. |
-S, –script | Enables shell mode. Can be specified multiple times. Bash script name to execute. Script must be placed in “scripts” folder inside a path specified by “rqdir” configuration parameter. For help on shell mode, read timmy/conf.py. |
–one-way | When executing scripts_all_pairs (if defined), for each pair of nodes [A, B] run client script only on A (A->B connection). Default is to run both A->B and B->A. Default: False |
–max-pairs | When executing scripts_all_pairs (if defined), limit the amount of pairs processed simultaneously. Default is to run max number of pairs possible, which is num. nodes / 2. |
-P, –put | Enables shell mode. Can be specified multiple times. Upload filemask via”scp -r” to node(s). Each argument must contain two strings - source file/path/mask and dest. file/path. For help on shell mode, read timmy/conf.py. |
-L, –get-logs | Define specific logs to collect. Implies “-l”. Each -L option requires 3 values in the following order: path, include, exclude. See configuration doc for details on each of these parameters. Values except path can be skipped by passing empty strings. Example: -L “/var/mylogs/” “” “exclude-string” |
–rqfile | Can be specified multiple times. Path to rqfile(s) in yaml format, overrides default. |
-l, –logs | Collect logs from nodes. Logs are not collected by default due to their size. Default: False |
–logs-no-default | |
Do not use default log collection parameters, only use what has been provided either via -L or in rqfile(s). Implies “-l”. Default: False | |
–logs-speed | Limit log collection bandwidth to 90% of the specified speed in Mbit/s. |
–logs-speed-auto | |
Limit log collection bandwidth to 90% of local admin interface speed. If speed detection fails, a default value will be used. See “logs_speed_default” in conf.py. Default: False | |
–logs-coeff | Estimated logs compression ratio - this value is used during free space check. Set to a lower value (default - 1.05) to collect logs of a total size larger than locally available. Values lower than 0.3 are not recommended and may result in filling up local disk. |
–only-logs | Only collect logs, do not run commands or collect files. Default: False |
–fake | Do not run commands and scripts Default: False |
–fake-logs | Do not collect logs, only calculate size. Default: False |
–no-archive | Do not create results archive. By default, an archive with all outputs and files is created every time you run Timmy. Default: False |
–no-clean | Do not clean previous results. Allows accumulating results across runs. Default: False |
-q, –quiet | Print only command execution results and log messages. Good for quick runs / “watch” wrap. This option disables any -v parameters. Default: False |
–maxthreads | Maximum simultaneous nodes for commandexecution. |
–logs-maxthreads | |
Maximum simultaneous nodes for log collection. | |
-t, –outputs-timestamp | |
Add timestamp to outputs - allows accumulating outputs of identical commands/scripts across runs. Only makes sense with –no-clean for subsequent runs. Default: False | |
-T, –dir-timestamp | |
Add timestamp to output folders (defined by “outdir” and “archive_dir” config options). Makes each run store results in new folders. This way Timmy will always preserve previous results. Do not forget to clean up the results manually when using this option. Default: False | |
-m, –module | Use module to get node data Default: “fuel” |
-a, –analyze | Analyze collected outputs to determine node orservice health and print results Default: False |
–offline | Mark all nodes as offline, do not perform anyoperations on the nodes Default: False |
-v, –verbose | This works for -vvvv, -vvv, -vv, -v, -v -v,etc, If no -v then logging.WARNING is selected if more -v are provided it will step to INFO and DEBUG unless the option -q(–quiet) is specified Default: 0 |
Fuel module parameters
usage: timmy [-h] [--fuel-ip FUEL_IP] [--fuel-user FUEL_USER]
[--fuel-pass FUEL_PASS] [--fuel-token FUEL_TOKEN]
[--fuel-logs-no-remote] [--fuel-proxy] [-j NODES_JSON]
Named Arguments¶
–fuel-ip | fuel ip address |
–fuel-user | fuel username |
–fuel-pass | fuel password |
–fuel-token | fuel auth token |
–fuel-logs-no-remote | |
Do not collect remote logs from Fuel. Default: False | |
–fuel-proxy | use os system proxy variables for fuelclient Default: False |
-j, –nodes-json | |
Path to a json file retrieved via “fuel node –json”. Useful to speed up initialization, skips “fuel node” call. |
Local module parameters
usage: timmy [-h] -j NODES_JSON
Named Arguments¶
-j, –nodes-json | |
Path to a json file containing host info: ip, roles, etc. |