
1. Optional arguement "--set-name" was renamed into "--set" for consistency. See `rally verify start`. 2. The @envutils.with_default_deployment decorator was added to the import_results method. 3. When we import some results and don't specify set name for tests, in the verification table set name for these tests will be specified as None. So the default value of the "set_name" parameter was changed from None to "" to avoid this issue. Change-Id: Icd6659f1a78c6a426c50c67cc31b7cd85f9fbd11
89 lines
3.3 KiB
Bash
89 lines
3.3 KiB
Bash
#!/bin/bash
|
|
|
|
# Standalone _filedir() alternative.
|
|
# This exempts from dependence of bash completion routines
|
|
function _rally_filedir()
|
|
{
|
|
test "${1}" \
|
|
&& COMPREPLY=( \
|
|
$(compgen -f -- "${cur}" | grep -E "${1}") \
|
|
$(compgen -o plusdirs -- "${cur}") ) \
|
|
|| COMPREPLY=( \
|
|
$(compgen -o plusdirs -f -- "${cur}") \
|
|
$(compgen -d -- "${cur}") )
|
|
}
|
|
|
|
_rally()
|
|
{
|
|
declare -A SUBCOMMANDS
|
|
declare -A OPTS
|
|
|
|
OPTS["deployment_check"]="--deployment"
|
|
OPTS["deployment_config"]="--deployment"
|
|
OPTS["deployment_create"]="--name --fromenv --filename --no-use"
|
|
OPTS["deployment_destroy"]="--deployment"
|
|
OPTS["deployment_list"]=""
|
|
OPTS["deployment_recreate"]="--deployment"
|
|
OPTS["deployment_show"]="--deployment"
|
|
OPTS["deployment_use"]="--deployment"
|
|
OPTS["info_find"]="--query"
|
|
OPTS["info_list"]=""
|
|
OPTS["plugin_list"]="--name --namespace"
|
|
OPTS["plugin_show"]="--name --namespace"
|
|
OPTS["show_flavors"]="--deployment"
|
|
OPTS["show_images"]="--deployment"
|
|
OPTS["show_keypairs"]="--deployment"
|
|
OPTS["show_networks"]="--deployment"
|
|
OPTS["show_secgroups"]="--deployment"
|
|
OPTS["task_abort"]="--uuid --soft"
|
|
OPTS["task_delete"]="--force --uuid"
|
|
OPTS["task_detailed"]="--uuid --iterations-data"
|
|
OPTS["task_list"]="--deployment --all-deployments --status --uuids-only"
|
|
OPTS["task_report"]="--tasks --out --open --html --junit"
|
|
OPTS["task_results"]="--uuid"
|
|
OPTS["task_sla_check"]="--uuid --json"
|
|
OPTS["task_start"]="--deployment --task --task-args --task-args-file --tag --no-use --abort-on-sla-failure"
|
|
OPTS["task_status"]="--uuid"
|
|
OPTS["task_use"]="--task"
|
|
OPTS["task_validate"]="--deployment --task --task-args --task-args-file"
|
|
OPTS["verify_compare"]="--uuid-1 --uuid-2 --csv --html --json --output-file --threshold"
|
|
OPTS["verify_detailed"]="--uuid --sort-by"
|
|
OPTS["verify_genconfig"]="--deployment --tempest-config --override"
|
|
OPTS["verify_import"]="--deployment --set --file --no-use"
|
|
OPTS["verify_install"]="--deployment --source"
|
|
OPTS["verify_list"]=""
|
|
OPTS["verify_reinstall"]="--deployment --tempest-config --source"
|
|
OPTS["verify_results"]="--uuid --html --json --output-file"
|
|
OPTS["verify_show"]="--uuid --sort-by --detailed"
|
|
OPTS["verify_start"]="--deployment --set --regex --tempest-config --no-use --system-wide-install"
|
|
OPTS["verify_uninstall"]="--deployment"
|
|
OPTS["verify_use"]="--verification"
|
|
|
|
for OPT in ${!OPTS[*]} ; do
|
|
CMD=${OPT%%_*}
|
|
CMDSUB=${OPT#*_}
|
|
SUBCOMMANDS[${CMD}]+="${CMDSUB} "
|
|
done
|
|
|
|
COMMANDS="${!SUBCOMMANDS[*]}"
|
|
COMPREPLY=()
|
|
|
|
local cur="${COMP_WORDS[COMP_CWORD]}"
|
|
local prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
|
|
if [[ $cur =~ ^(\.|\~|\/) ]] || [[ $prev =~ ^--out(|put-file)$ ]] ; then
|
|
_rally_filedir
|
|
elif [[ $prev =~ ^--(task|filename)$ ]] ; then
|
|
_rally_filedir "\.json|\.yaml|\.yml"
|
|
elif [ $COMP_CWORD == "1" ] ; then
|
|
COMPREPLY=($(compgen -W "$COMMANDS" -- ${cur}))
|
|
elif [ $COMP_CWORD == "2" ] ; then
|
|
COMPREPLY=($(compgen -W "${SUBCOMMANDS[${prev}]}" -- ${cur}))
|
|
else
|
|
COMMAND="${COMP_WORDS[1]}_${COMP_WORDS[2]}"
|
|
COMPREPLY=($(compgen -W "${OPTS[$COMMAND]}" -- ${cur}))
|
|
fi
|
|
return 0
|
|
}
|
|
|
|
complete -o filenames -F _rally rally |