aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--contrib/bash-completion/kolla-ansible21
-rw-r--r--releasenotes/notes/add-kolla-ansible-bash-completion-script-74d39268a829e1a2.yaml4
-rwxr-xr-xtools/kolla-ansible32
3 files changed, 57 insertions, 0 deletions
diff --git a/contrib/bash-completion/kolla-ansible b/contrib/bash-completion/kolla-ansible
new file mode 100644
index 000000000..56b8ea8ff
--- /dev/null
+++ b/contrib/bash-completion/kolla-ansible
@@ -0,0 +1,21 @@
+_kolla_ansible() {
+ local cur prev opts
+
+ COMPREPLY=()
+
+ cur="${COMP_WORDS[COMP_CWORD]}"
+ prev="${COMP_WORDS[COMP_CWORD-1]}"
+ kolla_ansible_opts="$(kolla-ansible bash-completion)"
+ kolla_ansible_flags="$(echo ${kolla_ansible_opts} | sed 's/ [^-][a-z0-9_-]*//g' )"
+ kolla_ansible_actions="$(echo ${kolla_ansible_opts} | sed 's/--[a-z0-9-]*//g' | sed 's/ -[a-z]//g' )"
+
+ if [[ ${cur} == -* ]] ; then
+ COMPREPLY=( $(compgen -W "${kolla_ansible_flags}" -- ${cur}) )
+ return 0
+ else
+ COMPREPLY=( $(compgen -W "${kolla_ansible_actions}" -- ${cur}) )
+ return 0
+ fi
+}
+
+complete -F _kolla_ansible -A file kolla-ansible
diff --git a/releasenotes/notes/add-kolla-ansible-bash-completion-script-74d39268a829e1a2.yaml b/releasenotes/notes/add-kolla-ansible-bash-completion-script-74d39268a829e1a2.yaml
new file mode 100644
index 000000000..ea6d67a36
--- /dev/null
+++ b/releasenotes/notes/add-kolla-ansible-bash-completion-script-74d39268a829e1a2.yaml
@@ -0,0 +1,4 @@
+---
+features:
+ - Add kolla-ansible bash-completion script under
+ contrib/bash-completion folder.
diff --git a/tools/kolla-ansible b/tools/kolla-ansible
index 5af0df5d2..7ecde31fc 100755
--- a/tools/kolla-ansible
+++ b/tools/kolla-ansible
@@ -64,6 +64,34 @@ Commands:
EOF
}
+function bash_completion {
+cat <<EOF
+--inventory -i
+--playbook -p
+--configdir
+--key -k
+--help -h
+--tags -t
+--extra -e
+--passwords
+--verbose -v
+prechecks
+check
+mariadb_recovery
+bootstrap-servers
+destroy
+deploy
+deploy-bifrost
+deploy-servers
+post-deploy
+pull
+reconfigure
+stop
+certificates
+upgrade
+genconfig
+EOF
+}
SHORT_OPTS="hi:p:t:k:e:v"
LONG_OPTS="help,inventory:,playbook:,tags:,key:,extra:,verbose,configdir:,passwords:,yes-i-really-really-mean-it,include-images"
@@ -233,6 +261,10 @@ EOF
ACTION="Generate configuration files for enabled OpenStack services"
EXTRA_OPTS="$EXTRA_OPTS -e action=config"
;;
+(bash-completion)
+ bash_completion
+ exit 0
+ ;;
(*) usage
exit 0
;;