In pre-stop hook first send SIGTERM and then create thread dump

This ensures we first trigger graceful shutdown of the Gerrit
application before triggering a thread dump which might fail if
available system resources are low. Ignore the return code of the
involved commands to prevent that a failing jstack would skip running
the tail command which would have the effect that kubernetes would
forcefully shutdown the pod.

Change-Id: I63da60cabed9b971cd936ceb6d99b73d93c4598e
diff --git a/operator/src/main/java/com/google/gerrit/k8s/operator/gerrit/dependent/GerritStatefulSet.java b/operator/src/main/java/com/google/gerrit/k8s/operator/gerrit/dependent/GerritStatefulSet.java
index 9032f7b..4e5fe9b 100644
--- a/operator/src/main/java/com/google/gerrit/k8s/operator/gerrit/dependent/GerritStatefulSet.java
+++ b/operator/src/main/java/com/google/gerrit/k8s/operator/gerrit/dependent/GerritStatefulSet.java
@@ -183,7 +183,7 @@
         .withCommand(
             "/bin/ash",
             "-c",
-            "jstack $(pidof java) > /var/gerrit/logs/td_$(date +%Y-%m-%dT%H:%M); kill -2 $(pidof java) && tail --pid=$(pidof java) -f /dev/null")
+            "kill -s SIGTERM $(pidof java); jstack $(pidof java) > /var/gerrit/logs/td_$(date +%Y-%m-%dT%H:%M); tail --pid=$(pidof java) -f /dev/null")
         .endExec()
         .endPreStop()
         .endLifecycle()
diff --git a/operator/src/test/resources/com/google/gerrit/k8s/operator/gerrit/dependent/statefulset_es_primary.yaml b/operator/src/test/resources/com/google/gerrit/k8s/operator/gerrit/dependent/statefulset_es_primary.yaml
index aea01fa..b1b5da8 100644
--- a/operator/src/test/resources/com/google/gerrit/k8s/operator/gerrit/dependent/statefulset_es_primary.yaml
+++ b/operator/src/test/resources/com/google/gerrit/k8s/operator/gerrit/dependent/statefulset_es_primary.yaml
@@ -48,7 +48,7 @@
               command:
               - /bin/ash
               - -c
-              - jstack $(pidof java) > /var/gerrit/logs/td_$(date +%Y-%m-%dT%H:%M); kill -2 $(pidof java) && tail --pid=$(pidof java) -f /dev/null
+              - kill -s SIGTERM $(pidof java); jstack $(pidof java) > /var/gerrit/logs/td_$(date +%Y-%m-%dT%H:%M); tail --pid=$(pidof java) -f /dev/null
         livenessProbe:
           httpGet:
             path: /config/server/healthcheck~status
diff --git a/operator/src/test/resources/com/google/gerrit/k8s/operator/gerrit/dependent/statefulset_ha_primary.yaml b/operator/src/test/resources/com/google/gerrit/k8s/operator/gerrit/dependent/statefulset_ha_primary.yaml
index e8c2e25..28b366b 100644
--- a/operator/src/test/resources/com/google/gerrit/k8s/operator/gerrit/dependent/statefulset_ha_primary.yaml
+++ b/operator/src/test/resources/com/google/gerrit/k8s/operator/gerrit/dependent/statefulset_ha_primary.yaml
@@ -48,7 +48,7 @@
               command:
               - /bin/ash
               - -c
-              - jstack $(pidof java) > /var/gerrit/logs/td_$(date +%Y-%m-%dT%H:%M); kill -2 $(pidof java) && tail --pid=$(pidof java) -f /dev/null
+              - kill -s SIGTERM $(pidof java); jstack $(pidof java) > /var/gerrit/logs/td_$(date +%Y-%m-%dT%H:%M); tail --pid=$(pidof java) -f /dev/null
         livenessProbe:
           httpGet:
             path: /config/server/healthcheck~status
diff --git a/operator/src/test/resources/com/google/gerrit/k8s/operator/gerrit/dependent/statefulset_single_primary.yaml b/operator/src/test/resources/com/google/gerrit/k8s/operator/gerrit/dependent/statefulset_single_primary.yaml
index 7e9674b..7086159 100644
--- a/operator/src/test/resources/com/google/gerrit/k8s/operator/gerrit/dependent/statefulset_single_primary.yaml
+++ b/operator/src/test/resources/com/google/gerrit/k8s/operator/gerrit/dependent/statefulset_single_primary.yaml
@@ -46,7 +46,7 @@
               command:
               - /bin/ash
               - -c
-              - jstack $(pidof java) > /var/gerrit/logs/td_$(date +%Y-%m-%dT%H:%M); kill -2 $(pidof java) && tail --pid=$(pidof java) -f /dev/null
+              - kill -s SIGTERM $(pidof java); jstack $(pidof java) > /var/gerrit/logs/td_$(date +%Y-%m-%dT%H:%M); tail --pid=$(pidof java) -f /dev/null
         livenessProbe:
           httpGet:
             path: /config/server/healthcheck~status