Guest User

Untitled

a guest
Apr 23rd, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1. #!/usr/bin/env bash
  2.  
  3. set -e
  4. set -u
  5.  
  6. K8S_POLL_INTERVAL=7 # Number of seconds until script polls cluster again.
  7. K8S_THRESHOLD=80
  8. K8S_DEBUG=false; # Detailed debugging
  9. K8S_RESOURCE_TYPE=$1
  10. K8S_NAMESPACE=$2
  11. TEXT=$3
  12.  
  13. # -- Set working environment variables ----------------------------------------
  14.  
  15. if [ "${K8S_DEBUG}" = "true" ]
  16. then
  17. set -x
  18. fi
  19.  
  20. jobFinished=false
  21. jobFailed=false
  22. try=1
  23.  
  24. while [[ "${jobFinished}" == false ]]
  25. do
  26. echo "Polling ICP pod deployments within namespace ${K8S_NAMESPACE}. Poll #${try}."
  27. resultStatus=$(kubectl get $K8S_RESOURCE_TYPE -n ${K8S_NAMESPACE}| grep ${TEXT} | wc -l)
  28. ((try++))
  29. if [ "$resultStatus" -eq "0" ]; then
  30. driverStatus="FINISHED"
  31. else
  32. if [ "${try}" -ge "${K8S_THRESHOLD}" ]; then
  33. driverStatus="ERROR";
  34. else
  35. driverStatus="UNREADY"
  36. fi
  37. fi
  38. case ${driverStatus} in
  39. FINISHED)
  40. echo "All ICP ${K8S_RESOURCE_TYPE} within namespace ${K8S_NAMESPACE} are now ready."
  41. jobFinished=true
  42. ;;
  43. UNREADY)
  44. echo "${resultStatus} ICP ${K8S_RESOURCE_TYPE} within namespace ${K8S_NAMESPACE} are still UNREADY"
  45. echo "Next poll in ${K8S_POLL_INTERVAL} seconds."
  46. sleep ${K8S_POLL_INTERVAL}
  47. jobFinished=false
  48. ;;
  49. *)
  50. IS_JOB_ERROR=true
  51. echo "Hmmmm .... something is really wrong with your K8S cluster"
  52. echo "${resultStatus} ICP ${K8S_RESOURCE_TYPE} within namespace ${K8S_NAMESPACE} are still UNREADY"
  53. jobFinished=true
  54. jobFailed=true
  55. ;;
  56. esac
  57. done
Add Comment
Please, Sign In to add comment