ceph-down.sh 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #!/bin/bash
  2. #kubectl --namespace rook-ceph delete cephcluster rook-ceph --wait
  3. #helm --namespace rook-ceph uninstall rook-ceph
  4. CLUSTER=$1
  5. OPERATOR=$1-o
  6. NAMESPACE=$1
  7. echo "Patching cluster $CLUSTER to allow deletes"
  8. echo kubectl --namespace ${NAMESPACE} patch cephcluster ${NAMESPACE} --type merge -p '{"spec":{"cleanupPolicy":{"confirmation":"yes-really-destroy-data"}}}'
  9. kubectl --namespace ${NAMESPACE} patch cephcluster ${NAMESPACE} --type merge -p '{"spec":{"cleanupPolicy":{"confirmation":"yes-really-destroy-data"}}}'
  10. for CRD in $(kubectl get crd -n rook-ceph | awk '/ceph.rook.io/ {print $1}'); do
  11. kubectl get -n rook-ceph "$CRD" -o name | \
  12. xargs -I {} kubectl patch -n rook-ceph {} --type merge -p '{"metadata":{"finalizers": []}}'
  13. done
  14. kubectl -n rook-ceph patch configmap rook-ceph-mon-endpoints --type merge -p '{"metadata":{"finalizers": []}}'
  15. kubectl -n rook-ceph patch secrets rook-ceph-mon --type merge -p '{"metadata":{"finalizers": []}}'
  16. kubectl delete storageclasses ceph-block ceph-bucket ceph-filesystem --wait
  17. kubectl --namespace ${NAMESPACE} delete cephobjectstore ceph-objectstore --force
  18. kubectl --namespace ${NAMESPACE} delete cephfilesystem ceph-filesystem --force
  19. kubectl --namespace ${NAMESPACE} delete cephblockpools ceph-blockpool --force
  20. kubectl --namespace ${NAMESPACE} delete cephcluster ${CLUSTER} --wait
  21. helm --namespace ${NAMESPACE} uninstall ${CLUSTER}
  22. kubectl delete ns ${NAMESPACE} --wait
  23. for i in $(kubectl get crd | grep ceph | awk '{print $1}'); do kubectl delete crd $i ; done
  24. for i in $(kubectl get crd | grep objectbucket | awk '{print $1}'); do kubectl delete crd $i ; done
  25. for i in $(kubectl get clusterrole | grep ceph | awk '{print $1}'); do kubectl delete clusterrole $i ; done
  26. for i in $(kubectl get clusterrole | grep rbd | awk '{print $1}'); do kubectl delete clusterrole $i ; done
  27. for i in $(kubectl get clusterrole | grep objectstorage- | awk '{print $1}'); do kubectl delete clusterrole $i ; done
  28. for i in $(kubectl get clusterrolebinding | grep -E '(ceph|rook|rbd-csi|objectstorage-prov)' | awk '{print $1}' ) ; do kubectl delete clusterrolebinding $i ; done