diff options
author | Krutika Dhananjay <kdhananj@redhat.com> | 2013-09-17 17:01:07 +0530 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2013-12-11 00:42:41 -0800 |
commit | 5af997090037e52a9f219d5f35580cbe25663e5a (patch) | |
tree | 8528ebf31dac28a4262c76c3b5e07197ed002e51 /extras/post-upgrade-script-for-quota.sh | |
parent | e29080425a762232a90229c380c1ac52593dd0cc (diff) |
Add upgrade scripts for quota
Change-Id: Ic636517ecece069019d798b4e90323d71afc35aa
BUG: 969461
Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
Reviewed-on: http://review.gluster.org/6437
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Diffstat (limited to 'extras/post-upgrade-script-for-quota.sh')
-rwxr-xr-x | extras/post-upgrade-script-for-quota.sh | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/extras/post-upgrade-script-for-quota.sh b/extras/post-upgrade-script-for-quota.sh new file mode 100755 index 00000000000..3347031cdab --- /dev/null +++ b/extras/post-upgrade-script-for-quota.sh @@ -0,0 +1,63 @@ +#!/bin/bash + +#The post-upgrade script must be executed after all the nodes in the cluster +#have upgraded to 3.5. +#Also, all the clients accessing the given volume must also be upgraded to 3.5 +#before the script is run. +#Make sure glusterd and the brick processes are running on all nodes in the +#cluster post upgrade. +#Execute this script on the node where the pre-upgrade script for quota was run. + +VOL=$1; + +function set_limits { + local var=$(gluster volume info $1 | grep 'features.quota'| cut -d" " -f2); + + if [ -z "$var" ] || [ "$var" == "off" ]; then + if [ $2 -eq '0' ]; then + echo "Volume $1 does not have quota enabled. " \ + "Exiting ..." + exit 1 + fi + else + gluster volume set $1 default-soft-limit 80% + if [ $? -ne '0' ]; then + echo "Post-upgrade process failed." \ + "Please address the error and run " \ + "post-upgrade-script.sh on volume $VOL again." + exit 1 + fi + + gluster volume start $1 force + sleep 3; + + local path_array=( $(cat /tmp/quota-config-backup/vol_$1 | tail -n +3 | awk '{print $1}') ) + local limit_array=( $(cat /tmp/quota-config-backup/vol_$1 | tail -n +3 | awk '{print $2}') ) + local len=${#path_array[@]} + + for ((j=0; j<$len; j++)) + do + gluster volume quota $1 limit-usage ${path_array[$j]} ${limit_array[j]}; + if [ $? -eq 0 ]; then + echo "Setting limit (${limit_array[j]}) on " \ + "path ${path_array[$j]} has been " \ + "successful" + fi + done + fi; +} + +if [ -z $1 ]; then + echo "Please provide volume name or 'all'"; + exit 1; +fi + +if [ "$1" == "all" ]; then + for VOL in `gluster volume list`; + do + set_limits $VOL '1'; + done + +else + set_limits $1 '0'; +fi |