Skip to content

Commit 8e97cff

Browse files
danpawlikopenshift-merge-bot[bot]
authored andcommitted
[cert_manager] Add retry when installing cert_manager
In some cases, the CI if failing on various issues not related to the cert manager, but more related to OpenShift cluster that can be unstable. Example error: TASK [cert_manager : Create the cifmw_cert_manager_operator_namespace namespace (...) File "/usr/lib/python3.9/site-packages/urllib3/util/retry.py", line 576, in increment raise MaxRetryError(_pool, url, error or ResponseError(cause)) urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='api.crc.testing', port=6443): Max retries exceeded with url: /api/v1/namespaces/cert-manager-operator (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f551ceaba00>: Failed to establish a new connection: [Errno 111] Connection refused')) (...) Retry with delay should avoid potential issues when installing cert manager. Signed-off-by: Daniel Pawlik <dpawlik@redhat.com>
1 parent 24ed156 commit 8e97cff

4 files changed

Lines changed: 34 additions & 2 deletions

File tree

roles/cert_manager/tasks/main.yml

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,18 @@
2020
state: directory
2121
mode: "0755"
2222

23-
- name: Create the cifmw_cert_manager_operator_namespace namespace"
23+
- name: Create the cifmw_cert_manager_operator_namespace namespace
2424
kubernetes.core.k8s:
2525
kubeconfig: "{{ cifmw_openshift_kubeconfig }}"
2626
api_key: "{{ cifmw_openshift_token | default(omit)}}"
2727
context: "{{ cifmw_openshift_context | default(omit) }}"
2828
name: "{{ cifmw_cert_manager_operator_namespace }}"
2929
kind: Namespace
3030
state: present
31+
register: _cm_operator_ns
32+
until: _cm_operator_ns is succeeded
33+
retries: 5
34+
delay: 10
3135

3236
- name: Install from Release Manifest
3337
when: cifmw_cert_manager_install_from_release_manifest | bool
@@ -37,7 +41,7 @@
3741
when: not cifmw_cert_manager_install_from_release_manifest | bool
3842
ansible.builtin.include_tasks: olm_manifest.yml
3943

40-
- name: Check for cert-manager namspeace existance
44+
- name: Check for cert-manager namespace existence
4145
kubernetes.core.k8s_info:
4246
kubeconfig: "{{ cifmw_openshift_kubeconfig }}"
4347
api_key: "{{ cifmw_openshift_token | default(omit)}}"
@@ -46,6 +50,10 @@
4650
kind: Namespace
4751
field_selectors:
4852
- status.phase=Active
53+
register: _cm_ns_info
54+
until: _cm_ns_info is succeeded
55+
retries: 5
56+
delay: 10
4957

5058
- name: Wait for cert-manager pods to be ready
5159
kubernetes.core.k8s_info:
@@ -66,6 +74,10 @@
6674
- cainjector
6775
- webhook
6876
- cert-manager
77+
register: _cm_pods_ready
78+
until: _cm_pods_ready is succeeded
79+
retries: 5
80+
delay: 10
6981

7082
- name: Validate cert-manager installation
7183
when: cifmw_cert_manager_validate | bool

roles/cert_manager/tasks/olm_manifest.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@
2222
- "{{ cifmw_cert_manager_olm_subscription }}"
2323
loop_control:
2424
label: "{{ item.metadata.name }}"
25+
register: _cm_olm_sub
26+
until: _cm_olm_sub is succeeded
27+
retries: 5
28+
delay: 10
2529

2630
- name: Get the operator name
2731
ansible.builtin.set_fact:
@@ -40,6 +44,10 @@
4044
wait_condition:
4145
type: Ready
4246
status: "True"
47+
register: _cm_operator_deployment
48+
until: _cm_operator_deployment is succeeded
49+
retries: 5
50+
delay: 10
4351

4452
- name: Wait for the cert-manager operator csv to be installed
4553
environment:

roles/cert_manager/tasks/release_manifest.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44
url: "{{ cifmw_cert_manager_release_manifest }}"
55
dest: "{{ cifmw_cert_manager_manifests_dir }}/cert_manager_manifest.yml"
66
mode: '0664'
7+
register: _release_manifest
8+
until: _release_manifest is succeeded
9+
retries: 5
10+
delay: 10
711

812
- name: Install cert-manager from release manifest
913
kubernetes.core.k8s:
@@ -12,3 +16,7 @@
1216
context: "{{ cifmw_openshift_context | default(omit) }}"
1317
state: present
1418
src: "{{ cifmw_cert_manager_manifests_dir }}/cert_manager_manifest.yml"
19+
register: _cm_release_manifest
20+
until: _cm_release_manifest is succeeded
21+
retries: 5
22+
delay: 10

roles/cert_manager/tasks/validate_certs.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@
3232
url: "https://github.com/cert-manager/cmctl/releases/{{ cifmw_cert_manager_version }}/download/cmctl_{{ _os }}_{{ _arch }}"
3333
dest: "{{ ansible_user_dir }}/bin/cmctl"
3434
mode: "0755"
35+
register: _cmctl_cli
36+
until: _cmctl_cli is succeeded
37+
retries: 5
38+
delay: 10
3539

3640
- name: Verify cert_manager api
3741
environment:

0 commit comments

Comments
 (0)