[DMAAP][MR] Use startup probes 80/126080/1
authorSylvain Desbureaux <sylvain.desbureaux@orange.com>
Mon, 6 Dec 2021 10:33:11 +0000 (11:33 +0100)
committerSylvain Desbureaux <sylvain.desbureaux@orange.com>
Mon, 6 Dec 2021 10:33:11 +0000 (11:33 +0100)
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

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