diff --git a/Jenkinsfile-voltha-build b/Jenkinsfile-voltha-build
index 70978ce..f2e8514 100644
--- a/Jenkinsfile-voltha-build
+++ b/Jenkinsfile-voltha-build
@@ -65,11 +65,20 @@
                         }
                     }
                     timeout(1) {
-                        sh returnStdout: true, script: """
-                        port_fwd_pid=`ps -ax | grep "port-forward -n default service/onos-openflow" | grep -v "grep" | awk '{print \$1}'`
-                        if [[ "" !=  "\$port_fwd_pid" ]]; then
-                            kill -9 \$port_fwd_pid > /dev/null 2>&1
-                        fi
+                        sh returnStdout: false, script: """
+                        #Remove all while true; do kubectl port-forward ...done; rules
+                        for port_fwd_id in `ps -ax | grep "port-forward" | grep -E "onos|voltha" | grep "while true"| awk '{print \$1}'`;
+                        do
+                            cat /proc/\$port_fwd_id/cmdline
+                            kill -9 \$port_fwd_id
+                        done
+
+                        #Remove all kubectl port-forward rules
+                        for port_fwd_id in `ps -ax | grep "port-forward" | grep -E "onos|voltha" | awk '{print \$1}'`;
+                        do
+                            cat /proc/\$port_fwd_id/cmdline
+                            kill -9 \$port_fwd_id
+                        done
                         """
                     }
                 }
diff --git a/README.md b/README.md
index bcbd04c..c25d856 100644
--- a/README.md
+++ b/README.md
@@ -22,7 +22,7 @@
   [voltctl](https://github.com/opencord/voltctl)
 
 * `kubectl` - a command line tool to access your Kubernetes Clusters.
-  Reference: [kubectl](https://kubernetes.io/docs/reference/kubectl/kubectl/)
+  Reference - [kubectl](https://kubernetes.io/docs/reference/kubectl/kubectl/)
 
 * `voltctl` and `kubectl` must be properly configured on your system
   prior to any test executions.  The `kind-voltha` environment will install
@@ -62,15 +62,14 @@
 options](https://github.com/ciena/kind-voltha#voltha-up-configuration-options)
 first to see how to configure the `kind-voltha` installation behavior.
 
-* Recommended software versions
-
-Helm: v2.14.3
-Kubernetes: v1.15.5
-KIND: v0.5.1
+> Recommended software versions
+- Helm: v2.14.3
+- Kubernetes: v1.15.5
+- KIND: v0.5.1
 
 You can skip the installation of Kubernetes cluster and Helm by setting
 environment variables.  For example, run the following command to install
-VOLTHA only on an existing cluster.
+VOLTHA only in an existing cluster.
 
 ```bash
 git clone https://github.com/ciena/kind-voltha
@@ -115,6 +114,13 @@
 make -C voltha-system-tests sanity-kind-dt
 ```
 
+The tests generate three report files in
+`voltha-system-tests/tests/dt-workflow/` (`output.xml`, `report.html`, `log.html`).
+View the `report.html` page in a browser to analyze the results.
+If you're running on a remote system, you can start a web server with `python3
+-m http.server`.
+
+
 ## Test variables
 
 The `make sanity-single-kind` target is a shortcut that specifies a number of variables
