diff --git a/salt/elasticsearch/tools/sbin/so-elasticsearch-retention-estimate b/salt/elasticsearch/tools/sbin/so-elasticsearch-retention-estimate index 4c34d3a02..96219c50c 100755 --- a/salt/elasticsearch/tools/sbin/so-elasticsearch-retention-estimate +++ b/salt/elasticsearch/tools/sbin/so-elasticsearch-retention-estimate @@ -41,13 +41,13 @@ create_temp_file() { } log_title() { - if [ $1 == "LOG" ]; then + if [ "$1" == "LOG" ]; then echo -e "\n${BOLD}================ $2 ================${NC}\n" - elif [ $1 == "OK" ]; then + elif [ "$1" == "OK" ]; then echo -e "${GREEN} $2 ${NC}" - elif [ $1 == "WARN" ]; then + elif [ "$1" == "WARN" ]; then echo -e "${YELLOW} $2 ${NC}" - elif [ $1 == "ERROR" ]; then + elif [ "$1" == "ERROR" ]; then echo -e "${RED} $2 ${NC}" fi } @@ -756,7 +756,7 @@ if [ "$should_trigger_recommendations" = true ]; then ilm_output=$(so-elasticsearch-query "${index}/_ilm/explain" --fail 2>/dev/null) || true if [ -n "$ilm_output" ]; then - policy=$(echo "$ilm_output" | jq -r ".indices.\"$index\".policy // empty" 2>/dev/null) + policy=$(echo "$ilm_output" | jq --arg idx "$index" -r ".indices[$idx].policy // empty" 2>/dev/null) fi if [ -n "$policy" ] && [ -n "${policy_ages[$policy]:-}" ]; then delete_min_age=${policy_ages[$policy]} @@ -1134,8 +1134,9 @@ else for i in "${!scheduled_indices_names[@]}"; do sorted_indices+=("${scheduled_indices_days[$i]}|${scheduled_indices_names[$i]}|${scheduled_indices_sizes[$i]}") done + OLD_IFS="$IFS" IFS=$'\n' sorted_indices=($(sort -t'|' -k1 -n <<<"${sorted_indices[*]}")) - unset IFS + IFS="$OLD_IFS" for entry in "${sorted_indices[@]}"; do IFS='|' read -r days_until index_name size_bytes <<< "$entry"