2015-10-12 20:47:24 +00:00
|
|
|
PATH=/opt/confluent/bin:$PATH
|
|
|
|
export PATH
|
2017-06-20 18:56:24 +00:00
|
|
|
MANPATH=/opt/confluent/share/man:$MANPATH
|
|
|
|
export MANPATH
|
2017-11-03 20:59:27 +00:00
|
|
|
# The aliases below are to signify that file globbing is unwelcome at the shell
|
|
|
|
# this avoids a problem if a user does a noderange like 'n[21-33] and there is a file
|
|
|
|
# in the directory like 'n3' that causes the parameter to change and target a totally
|
|
|
|
# different node
|
2017-11-13 16:49:40 +00:00
|
|
|
# Unfortunately in bourne shell, we cannot reliably ensure a prepended set-f
|
|
|
|
# and an appended set +f are both run. alias seems to be the only mechanism
|
|
|
|
# that can intervene before glob expansion, but it lacks power.
|
|
|
|
# putting it into a function to append is all well and good, *except* that
|
|
|
|
# if doing something like 'nodepower compute|grep' causes set -f to execute
|
|
|
|
# in current shell, and the function to be in a subshell and leaves globbing
|
|
|
|
# disabled in the parent shell. Instead, store the current command in a
|
|
|
|
# variable and use that to check for misglobbed noderanges, which was the goal
|
|
|
|
alias nodeattrib='CURRENT_CMDLINE=$(HISTTIMEFORMAT= builtin history 1); export CURRENT_CMDLINE; nodeattrib'
|
2017-11-14 20:16:58 +00:00
|
|
|
alias nodebmcreset='CURRENT_CMDLINE=$(HISTTIMEFORMAT= builtin history 1); export CURRENT_CMDLINE; nodebmcreset'
|
2017-11-13 16:49:40 +00:00
|
|
|
alias nodeboot='CURRENT_CMDLINE=$(HISTTIMEFORMAT= builtin history 1); export CURRENT_CMDLINE; nodeboot'
|
2017-11-14 20:16:58 +00:00
|
|
|
alias nodeconfig='CURRENT_CMDLINE=$(HISTTIMEFORMAT= builtin history 1); export CURRENT_CMDLINE; nodeconfig'
|
2017-11-13 16:49:40 +00:00
|
|
|
alias nodeconsole='CURRENT_CMDLINE=$(HISTTIMEFORMAT= builtin history 1); export CURRENT_CMDLINE; nodeconsole'
|
|
|
|
alias nodedefine='CURRENT_CMDLINE=$(HISTTIMEFORMAT= builtin history 1); export CURRENT_CMDLINE; nodedefine'
|
|
|
|
alias nodeeventlog='CURRENT_CMDLINE=$(HISTTIMEFORMAT= builtin history 1); export CURRENT_CMDLINE; nodeeventlog'
|
|
|
|
alias nodefirmware='CURRENT_CMDLINE=$(HISTTIMEFORMAT= builtin history 1); export CURRENT_CMDLINE; nodefirmware'
|
|
|
|
alias nodegroupattrib='CURRENT_CMDLINE=$(HISTTIMEFORMAT= builtin history 1); export CURRENT_CMDLINE; nodegroupattrib'
|
2017-11-14 21:05:03 +00:00
|
|
|
alias nodegroupdefine='CURRENT_CMDLINE=$(HISTTIMEFORMAT= builtin history 1); export CURRENT_CMDLINE; nodegroupdefine'
|
|
|
|
alias nodegroupremove='CURRENT_CMDLINE=$(HISTTIMEFORMAT= builtin history 1); export CURRENT_CMDLINE; nodegroupremove'
|
2017-11-13 16:49:40 +00:00
|
|
|
alias nodehealth='CURRENT_CMDLINE=$(HISTTIMEFORMAT= builtin history 1); export CURRENT_CMDLINE; nodehealth'
|
|
|
|
alias nodeidentify='CURRENT_CMDLINE=$(HISTTIMEFORMAT= builtin history 1); export CURRENT_CMDLINE; nodeidentify'
|
|
|
|
alias nodeinventory='CURRENT_CMDLINE=$(HISTTIMEFORMAT= builtin history 1); export CURRENT_CMDLINE; nodeinventory'
|
|
|
|
alias nodelist='CURRENT_CMDLINE=$(HISTTIMEFORMAT= builtin history 1); export CURRENT_CMDLINE; nodelist'
|
2018-01-17 15:06:05 +00:00
|
|
|
alias nodemedia='CURRENT_CMDLINE=$(HISTTIMEFORMAT= builtin history 1); export CURRENT_CMDLINE; nodemedia'
|
2017-11-13 16:49:40 +00:00
|
|
|
alias nodepower='CURRENT_CMDLINE=$(HISTTIMEFORMAT= builtin history 1); export CURRENT_CMDLINE; nodepower'
|
2017-11-14 20:16:58 +00:00
|
|
|
alias noderemove='CURRENT_CMDLINE=$(HISTTIMEFORMAT= builtin history 1); export CURRENT_CMDLINE; noderemove'
|
2017-11-13 16:49:40 +00:00
|
|
|
alias nodereseat='CURRENT_CMDLINE=$(HISTTIMEFORMAT= builtin history 1); export CURRENT_CMDLINE; nodereseat'
|
|
|
|
alias noderun='CURRENT_CMDLINE=$(HISTTIMEFORMAT= builtin history 1); export CURRENT_CMDLINE; noderun'
|
|
|
|
alias nodesensors='CURRENT_CMDLINE=$(HISTTIMEFORMAT= builtin history 1); export CURRENT_CMDLINE; nodesensors'
|
|
|
|
alias nodesetboot='CURRENT_CMDLINE=$(HISTTIMEFORMAT= builtin history 1); export CURRENT_CMDLINE; nodesetboot'
|
2018-11-15 21:15:01 +00:00
|
|
|
alias nodestorage='CURRENT_CMDLINE=$(HISTTIMEFORMAT= builtin history 1); export CURRENT_CMDLINE; nodestorage'
|
2017-11-13 16:49:40 +00:00
|
|
|
alias nodeshell='CURRENT_CMDLINE=$(HISTTIMEFORMAT= builtin history 1); export CURRENT_CMDLINE; nodeshell'
|
2018-09-20 20:02:45 +00:00
|
|
|
|
|
|
|
|
2018-09-21 17:54:43 +00:00
|
|
|
_confluent_get_args()
|
|
|
|
{
|
|
|
|
CMPARGS=($COMP_LINE)
|
|
|
|
NUMARGS=${#CMPARGS[@]}
|
|
|
|
if [ "${COMP_WORDS[-1]}" == '' ]; then
|
|
|
|
NUMARGS=$((NUMARGS+1))
|
2018-10-08 14:47:38 +00:00
|
|
|
CMPARGS+=("")
|
2018-09-21 17:54:43 +00:00
|
|
|
fi
|
2018-10-08 14:47:38 +00:00
|
|
|
GENNED=""
|
|
|
|
for CAND in ${COMP_CANDIDATES[@]}; do
|
|
|
|
candarray=(${CAND//,/ })
|
|
|
|
matched=0
|
|
|
|
for c in "${candarray[@]}"; do
|
|
|
|
for arg in "${CMPARGS[@]}"; do
|
|
|
|
if [ "$arg" = "$c" ]; then
|
|
|
|
matched=1
|
|
|
|
break
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
done
|
|
|
|
if [ 0 = $matched ]; then
|
|
|
|
for c in "${candarray[@]}"; do
|
|
|
|
GENNED+=" $c"
|
|
|
|
done
|
|
|
|
fi
|
|
|
|
done
|
2018-09-21 17:54:43 +00:00
|
|
|
}
|
|
|
|
|
2018-10-08 14:47:38 +00:00
|
|
|
function _confluent_generic_completion()
|
2018-09-21 17:54:43 +00:00
|
|
|
{
|
|
|
|
_confluent_get_args
|
2018-10-08 14:47:38 +00:00
|
|
|
if [ $NUMARGS -ge 3 ] && [ ! -z "$GENNED" ]; then
|
|
|
|
COMPREPLY=($(compgen -W "$GENNED" -- ${COMP_WORDS[-1]}))
|
2018-09-21 17:54:43 +00:00
|
|
|
fi
|
|
|
|
if [ $NUMARGS -lt 3 ]; then
|
|
|
|
_confluent_nr_completion
|
|
|
|
return;
|
|
|
|
fi
|
|
|
|
}
|
2018-10-08 14:47:38 +00:00
|
|
|
_confluent_nodeidentify_completion()
|
|
|
|
{
|
|
|
|
COMP_CANDIDATES=("on,off -h")
|
|
|
|
_confluent_generic_completion
|
|
|
|
}
|
2018-09-20 20:02:45 +00:00
|
|
|
|
2018-09-21 18:09:49 +00:00
|
|
|
|
|
|
|
_confluent_nodesetboot_completion()
|
|
|
|
{
|
2018-10-08 14:47:38 +00:00
|
|
|
COMP_CANDIDATES=("default,cd,network,setup,hd -h -b -p")
|
|
|
|
_confluent_generic_completion
|
2018-09-21 18:09:49 +00:00
|
|
|
}
|
|
|
|
|
2018-09-21 13:57:17 +00:00
|
|
|
_confluent_nodepower_completion()
|
2018-09-20 20:02:45 +00:00
|
|
|
{
|
2018-10-08 14:47:38 +00:00
|
|
|
COMP_CANDIDATES=("boot,off,on,status -h -p")
|
|
|
|
_confluent_generic_completion
|
2018-09-20 20:02:45 +00:00
|
|
|
}
|
2018-09-21 13:57:17 +00:00
|
|
|
|
2018-09-21 18:22:46 +00:00
|
|
|
_confluent_nodemedia_completion()
|
|
|
|
{
|
2018-10-08 14:47:38 +00:00
|
|
|
COMP_CANDIDATES=("list,upload,attach,detachall -h")
|
2018-09-21 18:22:46 +00:00
|
|
|
_confluent_get_args
|
2018-10-02 18:44:25 +00:00
|
|
|
if [ $NUMARGS -gt 3 ] && [ ${CMPARGS[-2]} == 'upload' ]; then
|
2018-09-21 18:22:46 +00:00
|
|
|
compopt -o default
|
|
|
|
COMPREPLY=()
|
|
|
|
return
|
2018-10-02 18:44:25 +00:00
|
|
|
fi
|
2018-10-08 14:47:38 +00:00
|
|
|
if [ $NUMARGS -ge 3 ] && [ ! -z "$GENNED" ]; then
|
|
|
|
COMPREPLY=($(compgen -W "$GENNED" -- ${COMP_WORDS[-1]}))
|
2018-10-02 18:44:25 +00:00
|
|
|
return;
|
2018-09-21 18:22:46 +00:00
|
|
|
fi
|
|
|
|
if [ $NUMARGS -lt 3 ]; then
|
|
|
|
_confluent_nr_completion
|
|
|
|
return;
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2018-09-21 13:57:17 +00:00
|
|
|
_confluent_nodefirmware_completion()
|
|
|
|
{
|
2018-09-21 17:54:43 +00:00
|
|
|
_confluent_get_args
|
2018-09-21 13:57:17 +00:00
|
|
|
if [ $NUMARGS == 3 ]; then
|
|
|
|
COMPREPLY=($(compgen -W "list update" -- ${COMP_WORDS[-1]}))
|
|
|
|
return;
|
|
|
|
fi
|
|
|
|
if [ $NUMARGS -gt 3 ] && [ ${CMPARGS[2]} == 'update' ]; then
|
|
|
|
compopt -o default
|
|
|
|
COMPREPLY=()
|
|
|
|
return
|
|
|
|
fi
|
|
|
|
if [ $NUMARGS -lt 3 ]; then
|
|
|
|
_confluent_nr_completion
|
|
|
|
return;
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2018-10-23 13:09:03 +00:00
|
|
|
_confluent_nodeshell_completion()
|
|
|
|
{
|
|
|
|
_confluent_get_args
|
|
|
|
if [ $NUMARGS == 3 ]; then
|
|
|
|
COMPREPLY=($(compgen -c -- ${COMP_WORDS[-1]}))
|
|
|
|
return
|
|
|
|
fi
|
|
|
|
if [ $NUMARGS -gt 3 ]; then
|
|
|
|
compopt -o default
|
|
|
|
COMPREPLY=()
|
|
|
|
return
|
|
|
|
fi
|
|
|
|
if [ $NUMARGS -lt 3 ]; then
|
|
|
|
_confluent_nr_completion
|
|
|
|
return;
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2018-09-21 13:57:17 +00:00
|
|
|
_confluent_nodesupport_completion()
|
|
|
|
{
|
2018-09-21 17:54:43 +00:00
|
|
|
_confluent_get_args
|
2018-09-21 13:57:17 +00:00
|
|
|
if [ $NUMARGS == 3 ]; then
|
|
|
|
COMPREPLY=($(compgen -W "servicedata" -- ${COMP_WORDS[-1]}))
|
|
|
|
return;
|
|
|
|
fi
|
|
|
|
if [ $NUMARGS == 4 ] && [ ${CMPARGS[2]} == 'servicedata' ]; then
|
|
|
|
compopt -o dirnames
|
|
|
|
COMPREPLY=()
|
|
|
|
return
|
|
|
|
fi
|
|
|
|
if [ $NUMARGS -lt 3 ]; then
|
|
|
|
_confluent_nr_completion
|
|
|
|
return
|
|
|
|
fi
|
|
|
|
}
|
2018-09-20 20:02:45 +00:00
|
|
|
|
|
|
|
_confluent_nn_completion()
|
|
|
|
{
|
2018-09-21 17:54:43 +00:00
|
|
|
_confluent_get_args
|
2018-09-20 20:02:45 +00:00
|
|
|
if [ $NUMARGS -gt 2 ]; then
|
|
|
|
return;
|
|
|
|
fi
|
|
|
|
INPUT=${COMP_WORDS[-1]}
|
|
|
|
INPUT=${INPUT##*,-}
|
|
|
|
INPUT=${INPUT##*,}
|
|
|
|
INPUT=${INPUT##*@}
|
|
|
|
PREFIX=""
|
|
|
|
if [ "$INPUT" != "${COMP_WORDS[-1]}" ]; then
|
|
|
|
PREFIX=${COMP_WORDS[-1]}
|
|
|
|
PREFIX=$(echo $PREFIX | sed -e 's/,[^,@-]*$/,/' -e 's/,-[^,@]*$/,-/' -e 's/@[^,@]*/@/')
|
|
|
|
fi
|
|
|
|
|
|
|
|
COMPREPLY=($(compgen -W "$(nodelist | sed -e s/^/$PREFIX/)" -- "${COMP_WORDS[-1]}"))
|
|
|
|
}
|
|
|
|
_confluent_nr_completion()
|
|
|
|
{
|
|
|
|
CMPARGS=($COMP_LINE)
|
|
|
|
NUMARGS=${#CMPARGS[@]}
|
|
|
|
if [ "${COMP_WORDS[-1]}" == '' ]; then
|
|
|
|
NUMARGS=$((NUMARGS+1))
|
|
|
|
fi
|
2018-09-21 17:54:43 +00:00
|
|
|
_confluent_get_args
|
2018-09-20 20:02:45 +00:00
|
|
|
if [ $NUMARGS -gt 2 ]; then
|
|
|
|
return;
|
|
|
|
fi
|
|
|
|
INPUT=${COMP_WORDS[-1]}
|
|
|
|
INPUT=${INPUT##*,-}
|
|
|
|
INPUT=${INPUT##*,}
|
|
|
|
INPUT=${INPUT##*@}
|
|
|
|
PREFIX=""
|
|
|
|
if [ "$INPUT" != "${COMP_WORDS[-1]}" ]; then
|
|
|
|
PREFIX=${COMP_WORDS[-1]}
|
|
|
|
PREFIX=$(echo $PREFIX | sed -e 's/,[^,@-]*$/,/' -e 's/,-[^,@]*$/,-/' -e 's/@[^,@]*/@/')
|
|
|
|
fi
|
|
|
|
|
|
|
|
#COMPREPLY=($(compgen -W "$(confetty show /nodegroups|sed -e 's/\///' -e s/^/$PREFIX/;nodelist | sed -e s/^/$PREFIX/)" -- "${COMP_WORDS[-1]}"))
|
|
|
|
COMPREPLY=($(compgen -W "$(confetty show /nodegroups|sed -e 's/\///' -e s/^/$PREFIX/;nodelist | sed -e s/^/$PREFIX/)" -- "${COMP_WORDS[-1]}"))
|
|
|
|
}
|
|
|
|
_confluent_ng_completion()
|
|
|
|
{
|
2018-09-21 17:54:43 +00:00
|
|
|
_confluent_get_args
|
2018-09-20 20:02:45 +00:00
|
|
|
if [ $NUMARGS -gt 2 ]; then
|
|
|
|
return;
|
|
|
|
fi
|
|
|
|
INPUT=${COMP_WORDS[-1]}
|
|
|
|
INPUT=${INPUT##*,-}
|
|
|
|
INPUT=${INPUT##*,}
|
|
|
|
INPUT=${INPUT##*@}
|
|
|
|
PREFIX=""
|
|
|
|
if [ "$INPUT" != "${COMP_WORDS[-1]}" ]; then
|
|
|
|
PREFIX=${COMP_WORDS[-1]}
|
|
|
|
PREFIX=$(echo $PREFIX | sed -e 's/,[^,@-]*$/,/' -e 's/,-[^,@]*$/,-/' -e 's/@[^,@]*/@/')
|
|
|
|
fi
|
|
|
|
|
|
|
|
COMPREPLY=($(compgen -W "$(confetty show /nodegroups|sed -e 's/\///' -e s/^/$PREFIX/)" -- "${COMP_WORDS[-1]}"))
|
|
|
|
}
|
|
|
|
complete -F _confluent_nr_completion nodeattrib
|
|
|
|
complete -F _confluent_nr_completion nodebmcreset
|
2018-09-21 18:09:49 +00:00
|
|
|
complete -F _confluent_nodesetboot_completion nodeboot
|
2018-09-20 20:02:45 +00:00
|
|
|
complete -F _confluent_nr_completion nodeconfig
|
|
|
|
complete -F _confluent_nn_completion nodeconsole
|
|
|
|
complete -F _confluent_nr_completion nodeeventlog
|
2018-09-21 13:57:17 +00:00
|
|
|
complete -F _confluent_nodefirmware_completion nodefirmware
|
2018-09-20 20:02:45 +00:00
|
|
|
complete -F _confluent_ng_completion nodegroupattrib
|
|
|
|
complete -F _confluent_ng_completion nodegroupremove
|
|
|
|
complete -F _confluent_nr_completion nodehealth
|
2018-09-21 17:54:43 +00:00
|
|
|
complete -F _confluent_nodeidentify_completion nodeidentify
|
2018-09-20 20:02:45 +00:00
|
|
|
complete -F _confluent_nr_completion nodeinventory
|
|
|
|
complete -F _confluent_nr_completion nodelist
|
2018-09-21 18:22:46 +00:00
|
|
|
complete -F _confluent_nodemedia_completion nodemedia
|
2018-09-21 13:57:17 +00:00
|
|
|
complete -F _confluent_nodepower_completion nodepower
|
2018-09-20 20:02:45 +00:00
|
|
|
complete -F _confluent_nr_completion noderemove
|
|
|
|
complete -F _confluent_nr_completion nodereseat
|
2018-10-23 13:09:03 +00:00
|
|
|
complete -F _confluent_nodeshell_completion noderun
|
2018-09-20 20:02:45 +00:00
|
|
|
complete -F _confluent_nr_completion nodesensors
|
2018-09-21 18:09:49 +00:00
|
|
|
complete -F _confluent_nodesetboot_completion nodesetboot
|
2018-10-23 13:09:03 +00:00
|
|
|
complete -F _confluent_nodeshell_completion nodeshell
|
2018-09-21 13:57:17 +00:00
|
|
|
complete -F _confluent_nodesupport_completion nodesupport
|
2018-09-20 20:02:45 +00:00
|
|
|
|