|
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