From cd7a147c0244ef6bda1b389cca85aea2a20385ec Mon Sep 17 00:00:00 2001 From: Jan Orel Date: Fri, 15 Mar 2019 10:52:47 +0100 Subject: [PATCH] B #1232: Adjust ceph monitor if there is a quota on the pool --- src/datastore_mad/remotes/ceph/ceph_utils.sh | 10 +++++++++- src/datastore_mad/remotes/ceph/monitor | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/datastore_mad/remotes/ceph/ceph_utils.sh b/src/datastore_mad/remotes/ceph/ceph_utils.sh index 68533e89c1..ab0cd3783f 100644 --- a/src/datastore_mad/remotes/ceph/ceph_utils.sh +++ b/src/datastore_mad/remotes/ceph/ceph_utils.sh @@ -186,7 +186,7 @@ rbd_rm_r() { #-------------------------------------------------------------------------------- rbd_df_monitor() { - local monitor_data i j xpath_elements pool_name bytes_used free + local monitor_data i j xpath_elements pool_name bytes_used quota_bytes free monitor_data=$1 pool_name=$2 @@ -195,11 +195,19 @@ rbd_df_monitor() { xpath_elements[i++]="$element" done < <(echo $monitor_data | $XPATH \ "/stats/pools/pool[name = \"${pool_name}\"]/stats/bytes_used" \ + "/stats/pools/pool[name = \"${pool_name}\"]/stats/quota_bytes" \ "/stats/pools/pool[name = \"${pool_name}\"]/stats/max_avail") bytes_used="${xpath_elements[j++]:-0}" + quota_bytes="${xpath_elements[j++]:-0}" free="${xpath_elements[j++]:-0}" + if [ $quota_bytes -ne 0 ]; then + if [ $quota_bytes -lt $free ]; then + export free=$quota_bytes + fi + fi + cat << EOF | tr -d '[:blank:][:space:]' USED_MB=$(($bytes_used / 1024**2))\n TOTAL_MB=$((($bytes_used + $free) / 1024**2))\n diff --git a/src/datastore_mad/remotes/ceph/monitor b/src/datastore_mad/remotes/ceph/monitor index f7cd30a64c..d11880e22c 100755 --- a/src/datastore_mad/remotes/ceph/monitor +++ b/src/datastore_mad/remotes/ceph/monitor @@ -81,7 +81,7 @@ fi # ------------ Compute datastore usage ------------- MONITOR_SCRIPT=$(cat <