From bb6df3eee025750a01af9c47fa2a98954368d538 Mon Sep 17 00:00:00 2001 From: Niels de Vos Date: Tue, 22 Jan 2019 13:18:59 +0100 Subject: [PATCH] deploy: add HEKETI_DEBUG_UMOUNT_FAILURES environment variable for extra debugging Heketi offers an additional way to debug troubles in case unmounting a brick of a Gluster volume fails. This is a problem that is not observed often or consistently. However debugging the issue is difficult as open file descriptors can get closed at a later point, showing no trace of the origin of the failure. By setting the HEKETI_DEBUG_UMOUNT_FAILURES variable to "true", additional information will be available in the logs of the Heketi pod. See-also: heketi/heketi#1483 Signed-off-by: Niels de Vos --- deploy/kube-templates/heketi-deployment.yaml | 2 ++ deploy/ocp-templates/heketi-template.yaml | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/deploy/kube-templates/heketi-deployment.yaml b/deploy/kube-templates/heketi-deployment.yaml index ecc6cefa..0d8ee093 100644 --- a/deploy/kube-templates/heketi-deployment.yaml +++ b/deploy/kube-templates/heketi-deployment.yaml @@ -54,6 +54,8 @@ spec: value: "y" - name: HEKETI_IGNORE_STALE_OPERATIONS value: "true" + - name: HEKETI_DEBUG_UMOUNT_FAILURES + value: "true" ports: - containerPort: 8080 volumeMounts: diff --git a/deploy/ocp-templates/heketi-template.yaml b/deploy/ocp-templates/heketi-template.yaml index f72d1c51..2e93127c 100644 --- a/deploy/ocp-templates/heketi-template.yaml +++ b/deploy/ocp-templates/heketi-template.yaml @@ -81,6 +81,8 @@ objects: value: "y" - name: HEKETI_IGNORE_STALE_OPERATIONS value: "true" + - name: HEKETI_DEBUG_UMOUNT_FAILURES + value: "true" ports: - containerPort: 8080 volumeMounts: @@ -126,3 +128,7 @@ parameters: - name: HEKETI_IGNORE_STALE_OPERATIONS displayName: Whether to ignore stale operations at startup description: This allows to control whether heketi should start up when there are stale pending operation entries present in the database. Setting this to true lets heketi ignore existing pending operations at startup. Setting it to false causes heketi to refuse to start if pending operations are found in the database. +- name: HEKETI_DEBUG_UMOUNT_FAILURES + displayName: Capture more details in case brick unmounting fails + description: When unmounting a brick fails, Heketi will not be able to cleanup the Gluster volume completely. The main causes for preventing to unmount a brick, seem to originate from Gluster processes. By enabling this option, the heketi.log will contain the output of 'lsof' to aid with debugging of the Gluster processes and help with identifying any files that may be left open. + value: true