Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update uninstall.sh #164

Open
wants to merge 8 commits into
base: master
Choose a base branch
from
Open
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 73 additions & 11 deletions uninstall.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@


KEEP_PROVIDERS=0
OCM_NAMESPACE=open-cluster-management
TOTAL_POD_COUNT_2X=55
POLL_DURATION_21X=1500


# save args to pass to called scripts
args=("$@")
Expand Down Expand Up @@ -48,16 +52,74 @@ printf "\n"

./clean-clusters.sh "$args"

kubectl delete -k multiclusterhub/
echo "Sleeping for 200 seconds to allow resources to finalize ..."
sleep 200

kubectl delete -k multicluster-hub-operator/
./multicluster-hub-operator/uninstall.sh

kubectl delete -k acm-operator/
./acm-operator/uninstall.sh

kubectl delete -k community-subscriptions/
if [ -z ${OCM_NAMESPACE+x} ];
then
echo "OCM_NAMESPACE must be set"
exit 1
else
echo "Cleaning up resources in namespace: $OCM_NAMESPACE"
fi
oc delete mch --all -n $OCM_NAMESPACE
## Delete all helm charts in given namespace
helm ls --namespace $OCM_NAMESPACE | cut -f 1 | tail -n +2 | xargs -n 1 helm delete --namespace $OCM_NAMESPACE
oc delete apiservice v1.admission.cluster.open-cluster-management.io v1beta1.webhook.certmanager.k8s.io v1.admission.cluster.open-cluster-management.io v1.admission.work.open-cluster-management.io
oc delete clusterimageset --all
oc delete configmap -n $OCM_NAMESPACE cert-manager-controller cert-manager-cainjector-leader-election cert-manager-cainjector-leader-election-core
oc delete consolelink acm-console-link
oc delete crd klusterletaddonconfigs.agent.open-cluster-management.io placementbindings.policy.open-cluster-management.io policies.policy.open-cluster-management.io userpreferences.console.open-cluster-management.io
oc delete mutatingwebhookconfiguration cert-manager-webhook-v1alpha1
oc delete oauthclient multicloudingress
oc delete rolebinding -n kube-system cert-manager-webhook-webhook-authentication-reader
oc delete scc kui-proxy-scc
oc delete validatingwebhookconfiguration cert-manager-webhook-v1alpha1
exit 0

#kubectl delete -k multiclusterhub/
#echo "Sleeping for 200 seconds to allow resources to finalize ..."
#sleep 200

#kubectl delete -k multicluster-hub-operator/
#./multicluster-hub-operator/uninstall.sh

#kubectl delete -k acm-operator/
#./acm-operator/uninstall.sh

#kubectl delete -k community-subscriptions/

COMPLETE=1
if [[ " $@ " =~ " --watch " ]]; then
if [[ $DEFAULT_SNAPSHOT =~ v{0,1}2\.[1-9][0-9]*\.[0-9]+.* ]]; then
echo ""
echo "#####"
#mch_status=`oc get multiclusterhub --all-namespaces`
acc=0
while [[ $(oc get multiclusterhub --all-namespaces) && $acc -le $POLL_DURATION_21X ]]; do
curr_status=$(oc get multiclusterhub --all-namespaces -o json | jq -r '.items[].status.phase') 2> /dev/null
echo "Waited $acc/$POLL_DURATION_21X seconds for MCH to be deleted. Current Status: $curr_status"
if [[ "$DEBUG" == "true" ]]; then
echo "#####"
component_list=$(oc get multiclusterhub --all-namespaces -o json | jq -r '.items[].status.components')
printf "%-30s\t%-10s\t%-30s\t%-30s\n" "COMPONENT" "STATUS" "TYPE" "REASON"
for status_item in $(echo $component_list | jq -r 'keys | .[]'); do
component=$(echo $component_list | jq -r --arg ITEM_NAME "$status_item" '.[$ITEM_NAME]')
component_status="$(echo $component | jq -r '.status')";
type="$(echo $component | jq -r '.type')";
reason="$(echo $component | jq -r '.reason')";
message="$(echo $component | jq -r '.message')";
printf "%-30s\t%-10s\t%-30s\t%-30s\n" "$status_item" "$component_status" "$type" "$reason"
done
fi
echo ""
acc=$((acc+30))
sleep 30
done;
if [[ $(oc get multiclusterhub --all-namespaces) ]]; then
COMPLETE=1
else
COMPLETE=0
echo "MCH was not deleted after $acc seconds."
echo ""
fi
fi
fi
exit 0