|
70 | 70 | #
|
71 | 71 | function getDomainResources {
|
72 | 72 | if [ "$1" = "all" ]; then
|
73 |
| - local label_selector="weblogic.domainUID" |
| 73 | + LABEL_SELECTOR="weblogic.domainUID" |
74 | 74 | else
|
75 |
| - local label_selector="weblogic.domainUID in ($1)" |
| 75 | + LABEL_SELECTOR="weblogic.domainUID in ($1)" |
76 | 76 | fi
|
77 | 77 |
|
78 |
| - # first, let's get all namespaced types with -l $label_selector |
| 78 | + # first, let's get all namespaced types with -l $LABEL_SELECTOR |
79 | 79 |
|
80 |
| - local namespaced_types="pod,job,deploy,rs,service,pvc,ingress,cm,serviceaccount,role,rolebinding,secret" |
| 80 | + NAMESPACED_TYPES="pod,job,deploy,rs,service,pvc,ingress,cm,serviceaccount,role,rolebinding,secret" |
81 | 81 |
|
82 | 82 | # if domain crd exists, look for domains too:
|
83 | 83 | kubectl get crd domains.weblogic.oracle > /dev/null 2>&1
|
84 | 84 | if [ $? -eq 0 ]; then
|
85 |
| - namespaced_types="domain,$namespaced_types" |
| 85 | + NAMESPACED_TYPES="domain,$NAMESPACED_TYPES" |
86 | 86 | fi
|
87 | 87 |
|
88 |
| - kubectl get $namespaced_types \ |
89 |
| - -l "$label_selector" \ |
| 88 | + kubectl get $NAMESPACED_TYPES \ |
| 89 | + -l "$LABEL_SELECTOR" \ |
90 | 90 | -o=jsonpath='{range .items[*]}{.kind}{" "}{.metadata.name}{" -n "}{.metadata.namespace}{"\n"}{end}' \
|
91 | 91 | --all-namespaces=true > $2
|
92 | 92 |
|
93 |
| - # now, get all non-namespaced types with -l $label_selector |
| 93 | + # now, get all non-namespaced types with -l $LABEL_SELECTOR |
94 | 94 |
|
95 |
| - kubectl get pv,crd,clusterroles,clusterrolebindings \ |
96 |
| - -l "$label_selector" \ |
| 95 | + NOT_NAMESPACED_TYPES="pv,crd,clusterroles,clusterrolebindings" |
| 96 | + |
| 97 | + kubectl get $NOT_NAMESPACED_TYPES \ |
| 98 | + -l "$LABEL_SELECTOR" \ |
97 | 99 | -o=jsonpath='{range .items[*]}{.kind}{" "}{.metadata.name}{"\n"}{end}' \
|
98 | 100 | --all-namespaces=true >> $2
|
99 | 101 | }
|
@@ -191,13 +193,25 @@ function deleteDomains {
|
191 | 193 | # In phase 3, directly delete all k8s resources for the given domainUids
|
192 | 194 | # (including any leftover WLS pods from phases 1 & 2).
|
193 | 195 |
|
194 |
| - cat $tempfile | while read line; do |
| 196 | + # for each namespace with leftover resources, try delete them |
| 197 | + cat $tempfile | awk '{ print $4 }' | grep -v "^$" | sort -u | while read line; do |
195 | 198 | if [ "$test_mode" = "true" ]; then
|
196 |
| - echo kubectl delete $line --ignore-not-found |
| 199 | + echo kubectl -n $line delete $NAMESPACED_TYPES -l "$LABEL_SELECTOR" |
197 | 200 | else
|
198 |
| - kubectl delete $line --ignore-not-found |
| 201 | + kubectl -n $line delete $NAMESPACED_TYPES -l "$LABEL_SELECTOR" |
199 | 202 | fi
|
200 | 203 | done
|
| 204 | + |
| 205 | + # if there are any non-namespaced types left, try delete them |
| 206 | + local no_namespace_count=`grep -c -v " -n " $tempfile` |
| 207 | + if [ ! "$no_namespace_count" = "0" ]; then |
| 208 | + if [ "$test_mode" = "true" ]; then |
| 209 | + echo kubectl delete $NOT_NAMESPACED_TYPES -l "$LABEL_SELECTOR" |
| 210 | + else |
| 211 | + kubectl delete $NOT_NAMESPACED_TYPES -l "$LABEL_SELECTOR" |
| 212 | + fi |
| 213 | + fi |
| 214 | + |
201 | 215 | sleep 3
|
202 | 216 | done
|
203 | 217 | }
|
|
0 commit comments