blob: f4a0772fad29e8ee79841fea28878616a71f9ef3 [file] [log] [blame]
#!/bin/bash
TEMP=`getopt -o qDGQVN:U:v:i:l:r: --long version,help,resource:,node:,uname:,attr-value:,id:,update:,delete-attr,get-value,attr-id:,lifetime:,quiet \
-n 'crm_master' -- "$@"`
if [ $? != 0 ] ; then echo "crm_master - A convenience wrapper for crm_attribute"; echo ""; crm_attribute -?; exit 1 ; fi
# Note the quotes around `$TEMP': they are essential!
eval set -- "$TEMP"
# Explicitly set the (usual default) lifetime, so the attribute gets set as a
# node attribute and not a cluster property.
options="--lifetime forever"
while true ; do
case "$1" in
-N|--node|-U|--uname) options="$options $1 $2"; shift; shift;;
-v|--attr-value|--update|-i|--id|--attr-id|-l|--lifetime) options="$options $1 $2"; shift; shift;;
-Q|-q|--quiet|-D|--delete-attr|-G|--get-value|-V) options="$options $1"; shift;;
-r|--resource) OCF_RESOURCE_INSTANCE=$2; shift; shift;;
--version) crm_attribute --version; exit 0;;
--help)
echo "crm_master - A convenience wrapper for crm_attribute";
echo "";
echo "Set, update or delete a resource's promotion score";
echo "";
echo "This program should normally only be invoked from inside an OCF resource agent"
echo "";
echo "Usage: crm_master 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 "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"
exit 0;;
--) shift ; break ;;
*) echo "Unknown option: $1. See --help for details." exit 1;;
esac
done
if [ -z "$OCF_RESOURCE_INSTANCE" ]; then
echo "This program should normally only be invoked from inside an OCF resource agent"
echo "To set the promotion/master score from the command line, please specify a resource ID with -r"
exit 1
fi
crm_attribute -n master-$OCF_RESOURCE_INSTANCE $options