/usr/sbin/crm_standby is in pacemaker-cli-utils 1.1.18-0ubuntu1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | #!/bin/bash
HELPTEXT="crm_standby - convenience wrapper for crm_attribute
Check, enable or disable standby mode for a cluster node.
Nodes in standby mode may not host cluster resources.
Usage: crm_standby <command> [options]
Commands:
--help Display this text and exit
--version Display version information and exit
-G, --query Display the current value of standby mode (on/off)
-v, --update=<value> Update the value of standby mode (on/off)
-D, --delete Let standby mode use default value
Options:
-V, --verbose Increase debug output (may be specified multiple times)
-q, --quiet Print nothing on stdout except the standby status
-N, --node=<value> Operate on the named node instead of the current one
-l, --lifetime=<value> Until when the setting should take effect (reboot/forever)
-i, --id=<value> (Advanced) ID used to identify the XML attribute"
op=""
options=""
lifetime=0
target=""
BACKWARD_COMPATIBLE="get-value,attr-value:,delete-attr,uname:,attr-id:"
TEMP=$(getopt -o qDGQVN:U:v:i:l: \
--long help,version,query,update:,delete,verbose,quiet,node:,lifetime:,id:,$BACKWARD_COMPATIBLE \
-n 'crm_standby' -- "$@")
if [ $? -ne 0 ]; then
echo
echo "$HELPTEXT"
exit 1
fi
# The quotes around $TEMP are essential!
eval set -- "$TEMP"
while true ; do
case "$1" in
-N|--node|-U|--uname) target="$2"; shift 2;;
-G|--query|--get-value) options="$options --query"; op=g; shift;;
-v|--update|--attr-value) options="$options --update $2"; op=u; shift 2;;
-D|--delete|--delete-attr) options="$options --delete"; op=d; shift;;
-l|--lifetime) options="$options --lifetime $2"; lifetime=1; shift 2;;
-i|--id|--attr-id) options="$options --id $2"; shift 2;;
-q|-Q|--quiet|-V|--verbose) options="$options $1"; shift;;
--version) crm_attribute --version; exit 0;;
--help) echo "$HELPTEXT"; exit 0;;
--) shift ; break ;;
*) echo "crm_standby: unrecognized option '$1'"; echo; echo "$HELPTEXT"; exit 1;;
esac
done
# It's important to call cluster commands only after arguments are processed,
# so --version and --help work without problems even if those commands don't.
if [ "$target" = "" ]; then
target=$(crm_node -n)
fi
options="-N $target -n standby $options"
if [ x$op = x ]; then
options="$options -G"; op=g
fi
# If the user didn't explicitly specify a lifetime ...
if [ $lifetime -eq 0 ]; then
case $op in
g)
# For query, report the forever entry if one exists, otherwise
# report the reboot entry if one exists, otherwise report off.
crm_attribute $options -l forever 2>&1 > /dev/null
if [ $? -eq 0 ]; then
options="$options -l forever"
else
options="$options -l reboot -d off"
fi
;;
u)
# For update, default to updating the forever entry.
options="$options -l forever"
;;
d)
# For delete, default to deleting both forever and reboot entries.
crm_attribute $options -l forever
crm_attribute $options -l reboot
exit 0
;;
esac
fi
crm_attribute $options
|