#!/bin/sh # Vars {{{ debug="1" ## Colors {{{ c_redb='\033[1;31m' c_magentab='\033[1;35m' c_reset='\033[0m' ## }}} osd_id_start="0" osd_id_end=$(sudo ceph osd getmaxosd | cut -d" " -f3) # }}} # Functions # Check if an OSD exists {{{ check_osd() { _osd_id="${1}" [ "${debug}" -eq "0" ] && printf "${c_magentab}%-6b${c_reset}\n" "DEBUG : check_osd func − OSD ID to check : ${_osd_id}." sudo ceph osd find "${_osd_id}" > /dev/null 2>&1 return $? } # }}} # Check if an OSD exists {{{ get_osd_host() { _osd_id="${1}" osd_id_host="" [ "${debug}" -eq "0" ] && printf "${c_magentab}%-6b${c_reset}\n" "DEBUG : get_osd_host func − OSD ID to check : ${_osd_id}." osd_id_host=$(sudo ceph osd find "${_osd_id}" | awk -F\" '$2 ~ /host/ {print $4}') } # }}} osd_id="${osd_id_start}" while [ "${osd_id}" -lt "${osd_id_end}" ]; do [ "${debug}" -eq "0" ] && printf "${c_magentab}%-6b${c_reset}\n" "DEBUG : Check if OSD ${osd_id} exists." if check_osd "${osd_id}" then get_osd_host "${osd_id}" [ "${debug}" -eq "0" ] && printf "${c_magentab}%-6b${c_reset}\n" "DEBUG : OSD ${osd_id} exists on ${c_redb}${osd_id_host}${c_reset}." else [ "${debug}" -eq "0" ] && printf "${c_magentab}%-6b${c_reset}\n" "DEBUG : ! OSD ${osd_id} does exists !" printf '%b\n' "The next OSD ID should be ${c_redb}${osd_id}${c_reset}. If you plan to use var :" printf '%b\n' "osd_id=\"${osd_id}\"" exit 0 fi [ "${debug}" -eq "0" ] && printf "${c_magentab}%-6b${c_reset}\n" "-----------------------------------------------" ## Increment OSD ID osd_id=$((osd_id+1)) done exit 0