diff --git a/tools/crm_failcount b/tools/crm_failcount index 94a840060d..ed697e961a 100755 --- a/tools/crm_failcount +++ b/tools/crm_failcount @@ -1,52 +1,62 @@ #!/bin/bash +resource="" options="" target=`crm_node -n` TEMP=`getopt -o DGQVN:U:v:i:l:r: --long help,version,resource-id:,node:,uname:,attr-value:,delete-attr,get-value,attr-id:,lifetime:,quiet \ -n 'crm_failcount' -- "$@"` if [ $? != 0 ] ; then echo "crm_failcount - A convenience wrapper for crm_attribute"; echo ""; crm_attribute -?; exit 1 ; fi # Note the quotes around `$TEMP': they are essential! eval set -- "$TEMP" -while true ; do - case "$1" in - -N|--node) target="$2"; shift; shift;; - -U|--uname) target="$2"; shift; shift;; - -v|--attr-value|-i|--attr-id) options="$options $1 $2"; shift; shift;; - -Q|--quiet|-D|--delete-attr|-G|--get-value|-V) options="$options $1"; shift;; - -r|--resource-id) options="$options -n fail-count-$2"; shift; shift;; - --version) crm_attribute --version; exit 0;; - --help) +function show_help() { echo "crm_failcount - A convenience wrapper for crm_attribute"; echo ""; echo "Set, update or remove the failcount for the specified resource on the named node"; echo ""; echo "Usage: crm_failcount -r resource_name command [options]"; echo "Options:" echo " --help This text" echo " --version Version information" echo " -V, --verbose Increase debug output" echo " -q, --quiet Print only the value on stdout" echo "" echo " -r, --resource-id=value The resource to update." echo "" echo "Commands:" echo " -G, --query Query the current value of the attribute/option" echo " -v, --update=value Update the value of the attribute/option" echo " -D, --delete Delete the attribute/option" echo "" echo "Additional Options:" echo " -N, --node=value Set an attribute for the named node (instead of the current one)." echo " -l, --lifetime=value Until when should the setting take affect." echo " Valid values: reboot, forever" echo " -i, --id=value (Advanced) The ID used to identify the attribute" +} + +while true ; do + case "$1" in + -N|--node) target="$2"; shift; shift;; + -U|--uname) target="$2"; shift; shift;; + -v|--attr-value|-i|--attr-id) options="$options $1 $2"; shift; shift;; + -Q|--quiet|-D|--delete-attr|-G|--get-value|-V) options="$options $1"; shift;; + -r|--resource-id) options="$options -n fail-count-$2"; resource="$2"; shift; shift;; + --version) crm_attribute --version; exit 0;; + --help) + show_help exit 0;; --) shift ; break ;; *) echo "Unknown option: $1. See --help for details." exit 1;; esac done +if [ "x$resource" = x ]; then + echo "You must supply a resource name to check. See 'crm_failcount --help' for details" + exit 1 +fi + crm_attribute -N $target $options -t status -d 0