Skip to content

Commit f03232f

Browse files
authored
Clean up CSR approver (#49)
* Clean up CSR approver * wait for all pods to be ready before clearing registry * fix script * add more retries * update script
1 parent cddde79 commit f03232f

File tree

4 files changed

+25
-18
lines changed

4 files changed

+25
-18
lines changed

edge/roles/edge_csr_approver/files/csr_approver.sh

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,16 @@
44

55
set -o pipefail
66

7-
export KUBECONFIG="/var/local/csr_approver/kubeconfig"
7+
CSR_KUBECONFIG=/var/local/csr_approver/kubeconfig
8+
NODE_KUBECONFIG=/etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/node-kubeconfigs/localhost.kubeconfig
89

910
# wait until API is online
10-
until oc --request-timeout=30s get csr; do
11+
until oc --request-timeout=30s --kubeconfig "${CSR_KUBECONFIG}" get csr; do
1112
sleep 10
1213
done
1314

14-
count=30
1515
go_template='{{range .items}}{{if not .status}}{{if or (eq .spec.signerName "kubernetes.io/kubelet-serving") (eq .spec.signerName "kubernetes.io/kube-apiserver-client-kubelet")}}{{.metadata.name}}{{"\n"}}{{end}}{{end}}{{end}}'
16-
while [[ ${count} -gt 0 ]]; do
17-
oc --request-timeout=30s get csr -o go-template="${go_template}" | xargs --no-run-if-empty oc --request-timeout=30s adm certificate approve
16+
until oc --request-timeout=30s --kubeconfig "${NODE_KUBECONFIG}" get node; do
17+
oc --request-timeout=30s --kubeconfig "${CSR_KUBECONFIG}" get csr -o go-template="${go_template}" | xargs --no-run-if-empty oc --request-timeout=30s --kubeconfig "${CSR_KUBECONFIG}" adm certificate approve
1818
sleep 20
19-
count=$((count - 1))
20-
echo "${count} checks remaining"
2119
done
22-
echo "CSR Approver complete"

edge/roles/edge_csr_approver/tasks/main.yaml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
apiVersion: v1
55
kind: ServiceAccount
66
metadata:
7-
name: ztpfw-csr-approver
7+
name: csr-approver
88
namespace: openshift-infra
99
apply: true
1010
state: present
@@ -17,7 +17,7 @@
1717
apiVersion: rbac.authorization.k8s.io/v1
1818
kind: ClusterRole
1919
metadata:
20-
name: ztpfw-csr-approver
20+
name: csr-approver
2121
rules:
2222
- apiGroups:
2323
- certificates.k8s.io
@@ -50,14 +50,14 @@
5050
apiVersion: rbac.authorization.k8s.io/v1
5151
kind: ClusterRoleBinding
5252
metadata:
53-
name: ztpfw-csr-approver
53+
name: csr-approver
5454
subjects:
5555
- kind: ServiceAccount
56-
name: ztpfw-csr-approver
56+
name: csr-approver
5757
namespace: openshift-infra
5858
roleRef:
5959
kind: ClusterRole
60-
name: ztpfw-csr-approver
60+
name: csr-approver
6161
apiGroup: rbac.authorization.k8s.io
6262
apply: true
6363
state: present
@@ -70,10 +70,10 @@
7070
apiVersion: v1
7171
kind: Secret
7272
metadata:
73-
name: ztpfw-csr-approver-secret
73+
name: csr-approver-secret
7474
namespace: openshift-infra
7575
annotations:
76-
kubernetes.io/service-account.name: ztpfw-csr-approver
76+
kubernetes.io/service-account.name: csr-approver
7777
type: kubernetes.io/service-account-token
7878
apply: true
7979
state: present
@@ -84,7 +84,7 @@
8484
kubernetes.core.k8s_info:
8585
api_version: v1
8686
kind: Secret
87-
name: ztpfw-csr-approver-secret
87+
name: csr-approver-secret
8888
namespace: openshift-infra
8989
register: csr_secret
9090
until: csr_secret.resources[0].data.token is defined

edge/roles/edge_csr_approver/templates/CSRKubeconfig.yaml.j2

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ contexts:
99
- name: default-context
1010
context:
1111
cluster: "{{ metadata.name }}"
12-
user: ztpfw-csr-approver
12+
user: csr-approver
1313
current-context: default-context
1414
users:
15-
- name: ztpfw-csr-approver
15+
- name: csr-approver
1616
user:
1717
token: "{{ csr_secret.resources[0].data.token | b64decode }}"

edge/roles/edge_post_install/tasks/clear_registry_config.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
- name: Wait for all Pods to be ready
2+
kubernetes.core.k8s_info:
3+
kind: Pod
4+
field_selectors:
5+
- status.phase=Pending
6+
register: pending_pod_list
7+
until: pending_pod_list.resources | length | int == 0
8+
retries: 60
9+
delay: 10
10+
111
- name: Get ICSPs
212
kubernetes.core.k8s_info:
313
api_version: operator.openshift.io/v1alpha1

0 commit comments

Comments
 (0)