[DMAAP][MR] Use startup probes 23/126123/1
authorSylvain Desbureaux <sylvain.desbureaux@orange.com>
Mon, 6 Dec 2021 10:33:11 +0000 (11:33 +0100)
committerSylvain Desbureaux <sylvain.desbureaux@orange.com>
Tue, 7 Dec 2021 14:49:46 +0000 (14:49 +0000)
Instead of using long intial delay for readiness and liveness probes,
use startup Probes with aggressive checks in order to detect start as
fast as possible AND handles slow start cases.

Issue-ID: OOM-1
Signed-off-by: Sylvain Desbureaux <sylvain.desbureaux@orange.com>
Change-Id: Icb19ef62a4a8c52ac8800aa1dd4b71e350a6eeca
(cherry picked from commit 8fade99d8fefc0c8d09a6e3df74fe68c70a07458)

kubernetes/dmaap/components/message-router/templates/statefulset.yaml
kubernetes/dmaap/components/message-router/values.yaml
kubernetes/onap/resources/overrides/environment.yaml

index 9bad341..f0832ad 100644 (file)
@@ -103,13 +103,25 @@ spec:
             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
             periodSeconds: {{ .Values.liveness.periodSeconds }}
             timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
-          {{ end -}}
+            successThreshold: {{ .Values.liveness.successThreshold }}
+            failureThreshold: {{ .Values.liveness.failureThreshold }}
+          {{ end }}
           readinessProbe:
             tcpSocket:
               port: {{ .Values.readiness.port }}
             initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
             periodSeconds: {{ .Values.readiness.periodSeconds }}
             timeoutSeconds: {{ .Values.readiness.timeoutSeconds }}
+            successThreshold: {{ .Values.readiness.successThreshold }}
+            failureThreshold: {{ .Values.readiness.failureThreshold }}
+          startupProbe:
+            tcpSocket:
+                port: {{ .Values.startup.port }}
+            initialDelaySeconds: {{ .Values.startup.initialDelaySeconds }}
+            periodSeconds: {{ .Values.startup.periodSeconds }}
+            timeoutSeconds: {{ .Values.startup.timeoutSeconds }}
+            successThreshold: {{ .Values.startup.successThreshold }}
+            failureThreshold: {{ .Values.startup.failureThreshold }}
           env:
           - name: enableCadi
             value: "{{ .Values.global.aafEnabled }}"
index 44697d7..7aa3176 100644 (file)
@@ -85,18 +85,30 @@ affinity: {}
 
 # probe configuration parameters
 liveness:
-  initialDelaySeconds: 70
+  initialDelaySeconds: 10
   periodSeconds: 10
   timeoutSeconds: 1
+  successThreshold: 1
+  failureThreshold: 3
   # necessary to disable liveness probe when setting breakpoints
   # in debugger so K8s doesn't restart unresponsive container
   port: api
   enabled: true
 
 readiness:
-  initialDelaySeconds: 70
+  initialDelaySeconds: 10
   periodSeconds: 10
   timeoutSeconds: 1
+  successThreshold: 1
+  failureThreshold: 3
+  port: api
+
+startup:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  timeoutSeconds: 1
+  successThreshold: 1
+  failureThreshold: 70
   port: api
 
 service:
index 278a2da..50703fb 100644 (file)
@@ -82,10 +82,10 @@ appc:
       periodSeconds: 60
 cassandra:
   liveness:
-    initialDelaySeconds: 120
+    timeoutSeconds: 30
     periodSeconds: 120
   readiness:
-    initialDelaySeconds: 120
+    timeoutSeconds: 30
     periodSeconds: 60
 clamp:
   liveness:
@@ -120,11 +120,6 @@ dmaap:
       initialDelaySeconds: 120
     readiness:
       initialDelaySeconds: 120
-  message-router:
-    liveness:
-      initialDelaySeconds: 120
-    readiness:
-      initialDelaySeconds: 120
   dmaap-dr-prov:
     liveness:
       initialDelaySeconds: 120