Skip to content

Commit d237fe7

Browse files
committed
Fixed openshift cluster cleaner
1 parent 35b2a30 commit d237fe7

File tree

8 files changed

+18
-130
lines changed

8 files changed

+18
-130
lines changed

docker/cluster-cleaner/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
FROM python:3-slim-buster
22

3-
ADD https://storage.googleapis.com/kubernetes-release/release/v1.13.3/bin/linux/amd64/kubectl /usr/bin
3+
ADD https://dl.k8s.io/release/v1.34.0/bin/linux/amd64/kubectl /usr/bin
44
RUN chmod +x /usr/bin/kubectl
55

66
COPY scripts/* /

docker/cluster-cleaner/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
IMAGE_VERSION=0.15
1+
IMAGE_VERSION=0.18
22

33
.PHONY: all
44
all: build push install
@@ -18,7 +18,7 @@ install: build push
1818
kubectl create namespace cluster-cleaner || true
1919
helm template . \
2020
--set cleanerVersion=$(IMAGE_VERSION) \
21-
--set namespace=cluster-cleaner\
21+
--set namespace=cluster-cleaner \
2222
--set cleanerNamespace=cluster-cleaner > cluster-cleaner.yaml
2323
kubectl apply -f cluster-cleaner.yaml
2424
rm cluster-cleaner.yaml

docker/cluster-cleaner/scripts/clean-failed-namespaces.sh

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,24 @@
11
#!/usr/bin/env sh
22

3+
touch error.log
4+
tail -F error.log &
5+
36
delete_resources_safely() {
47
resource_type="$1"
58
namespace="$2"
69

710
echo "Attempting normal deletion of $resource_type in $namespace..."
8-
kubectl delete "${resource_type}" --all -n "${namespace}" --wait=true --timeout=10s || true
11+
kubectl delete "${resource_type}" --all -n "${namespace}" --wait=true --timeout=10s 2>error.log|| true
912

1013
# Check if any resources are still stuck
1114
# Let's not fail here and continue deletion
12-
resources=$(kubectl get "$resource_type" -n "${namespace}" --no-headers -o custom-columns=":metadata.name" 2>/dev/null || true)
15+
resources=$(kubectl get "$resource_type" -n "${namespace}" --no-headers -o custom-columns=":metadata.name" 2>error.log || true)
1316

1417
for resource in ${resources}; do
1518
echo "${resource_type}/${resource} is still present, force deleting..."
1619

17-
kubectl patch "${resource_type}" "${resource}" -n "${namespace}" -p '{"metadata":{"finalizers":null}}' --type=merge || true
18-
kubectl delete "${resource_type}" "${resource}" -n "${namespace}" --force --grace-period=0 || true
20+
kubectl patch "${resource_type}" "${resource}" -n "${namespace}" -p '{"metadata":{"finalizers":null}}' --type=merge 2>error.log || true
21+
kubectl delete "${resource_type}" "${resource}" -n "${namespace}" --force --grace-period=0 2>error.log || true
1922
done
2023
}
2124

@@ -29,11 +32,12 @@ if [ -z ${LABELS+x} ]; then
2932
exit 1
3033
fi
3134

35+
3236
echo "Deleting namespaces for evg tasks that are older than ${DELETE_OLDER_THAN_AMOUNT} ${DELETE_OLDER_THAN_UNIT} with label ${LABELS}"
3337
echo "Which are:"
3438
kubectl get namespace -l "${LABELS}" -o name
35-
for namespace in $(kubectl get namespace -l "${LABELS}" -o name); do
36-
creation_time=$(kubectl get "${namespace}" -o jsonpath='{.metadata.creationTimestamp}' 2>/dev/null || echo "")
39+
for namespace in $(kubectl get namespace -l "${LABELS}" -o name 2>error.log); do
40+
creation_time=$(kubectl get "${namespace}" -o jsonpath='{.metadata.creationTimestamp}' 2>error.log || echo "")
3741

3842
if [ -z "$creation_time" ]; then
3943
echo "Namespace ${namespace} does not exist or has no creation timestamp, skipping."
@@ -49,14 +53,17 @@ for namespace in $(kubectl get namespace -l "${LABELS}" -o name); do
4953

5054
echo "Deleting ${namespace_name}"
5155

52-
csrs_in_namespace=$(kubectl get csr -o name | grep "${namespace_name}" || true)
56+
csrs_in_namespace=$(kubectl get csr -o name 2>error.log | grep "${namespace_name}" 2>/dev/null || true)
5357
if [ -n "${csrs_in_namespace}" ]; then
54-
kubectl delete "${csrs_in_namespace}"
58+
kubectl delete "${csrs_in_namespace}" 2>error.log
5559
fi
5660

5761
delete_resources_safely "mdb" "${namespace_name}"
5862
delete_resources_safely "mdbu" "${namespace_name}"
63+
delete_resources_safely "mdbc" "${namespace_name}"
64+
delete_resources_safely "mdbmc" "${namespace_name}"
5965
delete_resources_safely "om" "${namespace_name}"
66+
delete_resources_safely "clustermongodbroles" "${namespace_name}"
6067

6168
echo "Attempting to delete namespace: ${namespace_name}"
6269

docker/cluster-cleaner/scripts/clean-ops-manager.sh

Lines changed: 0 additions & 11 deletions
This file was deleted.

docker/cluster-cleaner/scripts/construction-site.sh

Lines changed: 0 additions & 9 deletions
This file was deleted.

docker/cluster-cleaner/scripts/delete-old-builder-pods.sh

Lines changed: 0 additions & 23 deletions
This file was deleted.

docker/cluster-cleaner/templates/job.yaml

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -84,34 +84,6 @@ spec:
8484
- name: LABELS
8585
value: "evg=task"
8686

87-
# Clean old builder pods
88-
---
89-
apiVersion: batch/v1
90-
kind: CronJob
91-
metadata:
92-
name: cluster-cleaner-delete-builder-pods
93-
namespace: {{ .Values.cleanerNamespace }}
94-
spec:
95-
# Runs every hour
96-
schedule: "0 * * * *"
97-
jobTemplate:
98-
spec:
99-
template:
100-
spec:
101-
serviceAccountName: cluster-cleaner
102-
restartPolicy: Never
103-
104-
containers:
105-
- name: cluster-cleaner
106-
image: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/cluster-cleaner:{{ .Values.cleanerVersion }}
107-
imagePullPolicy: Always
108-
command: ["./delete-old-builder-pods.sh"]
109-
env:
110-
- name: DELETE_OLDER_THAN_UNIT
111-
value: "minutes"
112-
- name: DELETE_OLDER_THAN_AMOUNT
113-
value: "20"
114-
11587
# Clean old certificates
11688
---
11789
apiVersion: batch/v1

docker/cluster-cleaner/templates/ops_manager_cleaner_job.yaml

Lines changed: 0 additions & 48 deletions
This file was deleted.

0 commit comments

Comments
 (0)