forked from k-space/kube
		
	tigera-operator: Remove unrelated files
This commit is contained in:
		| @@ -1,64 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| NAMESPACE=${NAMESPACE:-longhorn-system} | ||||
|  | ||||
| remove_and_wait() { | ||||
|   local crd=$1 | ||||
|   out=`kubectl -n ${NAMESPACE} delete $crd --all 2>&1` | ||||
|   if [ $? -ne 0 ]; then | ||||
|     echo $out | ||||
|     return | ||||
|   fi | ||||
|   while true; do | ||||
|     out=`kubectl -n ${NAMESPACE} get $crd -o yaml | grep 'items: \[\]'` | ||||
|     if [ $? -eq 0 ]; then | ||||
|       break | ||||
|     fi | ||||
|     sleep 1 | ||||
|   done | ||||
|   echo all $crd instances deleted | ||||
| } | ||||
|  | ||||
| remove_crd_instances() { | ||||
|   remove_and_wait volumes.longhorn.rancher.io | ||||
|   # TODO: remove engines and replicas once we fix https://github.com/rancher/longhorn/issues/273 | ||||
|   remove_and_wait engines.longhorn.rancher.io | ||||
|   remove_and_wait replicas.longhorn.rancher.io | ||||
|   remove_and_wait engineimages.longhorn.rancher.io | ||||
|   remove_and_wait settings.longhorn.rancher.io | ||||
|   # do this one last; manager crashes | ||||
|   remove_and_wait nodes.longhorn.rancher.io | ||||
| } | ||||
|  | ||||
| # Delete driver related workloads in specific order | ||||
| remove_driver() { | ||||
|   kubectl -n ${NAMESPACE} delete deployment.apps/longhorn-driver-deployer | ||||
|   kubectl -n ${NAMESPACE} delete daemonset.apps/longhorn-csi-plugin | ||||
|   kubectl -n ${NAMESPACE} delete statefulset.apps/csi-attacher | ||||
|   kubectl -n ${NAMESPACE} delete service/csi-attacher | ||||
|   kubectl -n ${NAMESPACE} delete statefulset.apps/csi-provisioner | ||||
|   kubectl -n ${NAMESPACE} delete service/csi-provisioner | ||||
|   kubectl -n ${NAMESPACE} delete daemonset.apps/longhorn-flexvolume-driver | ||||
| } | ||||
|  | ||||
| # Delete all workloads in the namespace | ||||
| remove_workloads() { | ||||
|   kubectl -n ${NAMESPACE} get daemonset.apps -o yaml | kubectl delete -f - | ||||
|   kubectl -n ${NAMESPACE} get deployment.apps -o yaml | kubectl delete -f - | ||||
|   kubectl -n ${NAMESPACE} get replicaset.apps -o yaml | kubectl delete -f - | ||||
|   kubectl -n ${NAMESPACE} get statefulset.apps -o yaml | kubectl delete -f - | ||||
|   kubectl -n ${NAMESPACE} get pods -o yaml | kubectl delete -f - | ||||
|   kubectl -n ${NAMESPACE} get service -o yaml | kubectl delete -f - | ||||
| } | ||||
|  | ||||
| # Delete CRD definitions with longhorn.rancher.io in the name | ||||
| remove_crds() { | ||||
|   for crd in $(kubectl get crd -o jsonpath={.items[*].metadata.name} | tr ' ' '\n' | grep longhorn.rancher.io); do | ||||
|     kubectl delete crd/$crd | ||||
|   done | ||||
| } | ||||
|  | ||||
| remove_crd_instances | ||||
| remove_driver | ||||
| remove_workloads | ||||
| remove_crds | ||||
		Reference in New Issue
	
	Block a user