diff --git a/scripts/wait_for_jobs.sh b/scripts/wait_for_jobs.sh
new file mode 100755
index 0000000..7ba67a0
--- /dev/null
+++ b/scripts/wait_for_jobs.sh
@@ -0,0 +1,82 @@
+#!/usr/bin/env bash
+
+# Copyright 2018-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# wait-for-jobs.sh
+# waits for all kubernetes jobs to complete before exiting
+# inspired by similar scripts in Kolla-Kubernetes and Openstack Helm
+
+set -e -u -o pipefail
+fail_wfj=0
+
+# Set these to configure maximum timeout, and interval for checks
+JOBS_TIMEOUT=${JOBS_TIMEOUT:-600}
+CHECK_INTERVAL=${CHECK_INTERVAL:-5}
+KUBECTL_ARGS=${KUBECTL_ARGS:-}
+
+# calculate timeout time
+START_TIME=$(date +%s)
+END_TIME=$((START_TIME + JOBS_TIMEOUT))
+
+echo "wait_for_jobs.sh - Waiting up to ${JOBS_TIMEOUT} seconds for all Kubernetes jobs to complete"
+echo "Number printed is number of currently active jobs"
+
+prev_job_count=0
+
+while true; do
+  NOW=$(date +%s)
+
+  # handle timeout without completion
+  if [ "$NOW" -gt "$END_TIME" ]
+  then
+    echo "Jobs didn't complete before timout of ${JOBS_TIMEOUT} seconds"
+    fail_wfj=1
+    break
+  fi
+
+  # get list of active jobs, and count of them
+  # jsonpath is picky about string vs comparison quoting, so have to have:
+  # shellcheck disable=SC2026
+  active_jobs=$(kubectl get jobs $KUBECTL_ARGS -o=jsonpath='{range .items[?(@.status.active=='1')]}{.metadata.name}{"\n"}{end}')
+  active_job_count=$(echo "${active_jobs}" | wc -l)
+
+  # if no jobs active, print runtime and break
+  if [ -z "$active_jobs" ]
+  then
+    runtime=$((NOW - START_TIME))
+    echo ""
+    echo "All jobs completed in $runtime seconds"
+    break
+  fi
+
+  # deal with changes in number of jobs
+  if [ "$active_job_count" -ne "$prev_job_count" ]
+  then
+    echo ""
+    echo "Number of active jobs changed - current jobs:"
+    echo "$active_jobs"
+  fi
+  prev_job_count=$active_job_count
+
+  # print number of remaining jobs every $CHECK_INTERVAL
+  echo -n "$active_job_count"
+  sleep "$CHECK_INTERVAL"
+done
+
+echo ""
+echo "Job Status - Name | Start Time | Completion Time"
+kubectl get jobs $KUBECTL_ARGS -o=jsonpath='{range .items[*]}{.metadata.name}{"\t| "}{.status.startTime}{" | "}{.status.completionTime}{"\n"}{end}'
+
+exit ${fail_wfj}
