From a19877e4c0456719775b0c65155e265304f8a3cb Mon Sep 17 00:00:00 2001 From: vaniisgh Date: Thu, 2 Jul 2020 14:07:43 +0530 Subject: [PATCH] feat(zfspv): check pod-status in BDD test (#171) Signed-off-by: vaniisgh --- changelogs/unreleased/171-vaniisgh | 1 + ci/ci-test.sh | 37 ++++++++++++++++++++++++++++-- 2 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 changelogs/unreleased/171-vaniisgh diff --git a/changelogs/unreleased/171-vaniisgh b/changelogs/unreleased/171-vaniisgh new file mode 100644 index 0000000..671804b --- /dev/null +++ b/changelogs/unreleased/171-vaniisgh @@ -0,0 +1 @@ +Add checks to ensure zfs-driver status is running in BDD test diff --git a/ci/ci-test.sh b/ci/ci-test.sh index 63361f9..3ddeab8 100755 --- a/ci/ci-test.sh +++ b/ci/ci-test.sh @@ -44,8 +44,41 @@ dumpControllerLogs() { printf "\n\n" } -# wait for zfs driver to be UP -sleep 20 + +isPodReady(){ + [ "$(kubectl get po "$1" -o 'jsonpath={.status.conditions[?(@.type=="Ready")].status}' -n kube-system)" = 'True' ] +} + + +isDriverReady(){ + for pod in $zfsDriver;do + isPodReady $pod || return 1 + done +} + + +waitForZFSDriver() { + period=120 + interval=1 + + i=0 + while [ "$i" -le "$period" ]; do + zfsDriver="$(kubectl get pods -l role=openebs-zfs -o 'jsonpath={.items[*].metadata.name}' -n kube-system)" + if isDriverReady $zfsDriver; then + return 0 + fi + + i=$(( i + interval )) + echo "Waiting for zfs-driver to be ready..." + sleep "$interval" + done + + echo "Waited for $period seconds, but all pods are not ready yet." + return 1 +} + +# wait for zfs-driver to be up +waitForZFSDriver cd $TEST_DIR