diff --git a/VERSION b/VERSION
index 37c2961..2c9b4ef 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.7.2
+2.7.3
diff --git a/libraries/onos.robot b/libraries/onos.robot
index ffc30da..bc1c675 100755
--- a/libraries/onos.robot
+++ b/libraries/onos.robot
@@ -706,7 +706,7 @@
     [Arguments]    ${url}    ${app_name}
     [Documentation]    This keyword deactivates and uninstalls the given ONOS App
     ${rc}=    Run And Return Rc    curl --fail -sSL -X DELETE ${url}/onos/v1/applications/${app_name}
-    Should Be Equal As Integers    ${rc}    0
+    Should Be Equal As Integers    ${rc}    0   Can't delete ${app_name} from ONOS
 
 Verify ONOS App Active
     [Arguments]    ${url}    ${app_name}    ${app_version}=${EMPTY}
@@ -719,7 +719,7 @@
     ...    curl --fail -sSL ${url}/onos/v1/applications/${app_name} | jq -r .version
     Run Keyword If    '${app_version}'!='${EMPTY}'
     ...    Run Keywords
-    ...    Should Be Equal As Integers    ${rc1}    0
+    ...    Should Be Equal As Integers    ${rc1}    0   Can't read app ${app_name} status from ONOS
     ...    AND    Should Be Equal    '${output1}'    '${app_version}'
 
 Install And Activate ONOS App
@@ -729,7 +729,7 @@
     ...    curl --fail -sSL -H Content-Type:application/octet-stream -
     ...    X POST ${url}/onos/v1/applications?activate=true --data-binary \@${app_oar_file}
     ${rc}    ${output}    Run And Return Rc And Output    ${cmd}
-    Should Be Equal As Integers    ${rc}    0
+    Should Be Equal As Integers    ${rc}    0   Can't load onos app ${app_oar_file} to ONOS"
     Log    ${output}
 
 Get ONOS App Details
@@ -737,5 +737,5 @@
     [Documentation]    Retrieves ONOS App Details
     ${rc}    ${output}    Run And Return Rc And Output
     ...    curl --fail -sSL ${url}/onos/v1/applications/${app_name}
-    Should Be Equal As Integers    ${rc}    0
+    Should Be Equal As Integers    ${rc}    0   Can't read app ${app_name} details from ONOS
     [Return]    ${output}
diff --git a/libraries/voltctl.robot b/libraries/voltctl.robot
index a2b7d8f..73015c7 100755
--- a/libraries/voltctl.robot
+++ b/libraries/voltctl.robot
@@ -650,7 +650,8 @@
     [Documentation]    Gets the device id by matching for ${serial_number}
     ${rc}    ${id}=    Run and Return Rc and Output
     ...    voltctl -c ${VOLTCTL_CONFIG} device list --filter=SerialNumber=${serial_number} --format='{{.Id}}'
-    Should Be Equal As Integers    ${rc}    0
+    Should Be Equal As Integers    ${rc}    0   "Error while fetching device list from VOLTHA"
+    Should Not Be Equal     ${id}   ${EMPTY}    Cannot find device by Serial Number ${serial_number}
     Log    ${id}
     [Return]    ${id}
 
diff --git a/tests/software-upgrades/ONOS_AppsUpgrade.robot b/tests/software-upgrades/ONOS_AppsUpgrade.robot
index 485ff71..222ef7e 100644
--- a/tests/software-upgrades/ONOS_AppsUpgrade.robot
+++ b/tests/software-upgrades/ONOS_AppsUpgrade.robot
@@ -136,8 +136,8 @@
 Download App OAR File
     [Documentation]    This keyword downloads the app oar file from the given url to the specified location
     [Arguments]    ${oar_url}    ${oar_file}
-    ${rc}    Run And Return Rc    curl -L ${oar_url} > ${oar_file}
-    Should Be Equal As Integers    ${rc}    0
+    ${rc}    Run And Return Rc    curl --fail -sSL ${oar_url} > ${oar_file}
+    Should Be Equal As Integers    ${rc}    0   Can't download ONOS app from ${oar_url}
 
 Create ONOS Apps Under Test List
     [Documentation]    Creates a list of ONOS Apps to Test from the input variable string
diff --git a/tests/software-upgrades/Voltha_ComponentsUpgrade.robot b/tests/software-upgrades/Voltha_ComponentsUpgrade.robot
index 369f9b0..30016a7 100755
--- a/tests/software-upgrades/Voltha_ComponentsUpgrade.robot
+++ b/tests/software-upgrades/Voltha_ComponentsUpgrade.robot
@@ -101,6 +101,7 @@
         ${pod_image_1}    ${app_ver_1}    ${helm_chart_1}    Get Pod Image And App Version And Helm Chart By Label
         ...    ${NAMESPACE}    app    ${label}
         Log    ${label}: image, app ver & helm chart after upgrade: ${pod_image_1}, ${app_ver_1} & ${helm_chart_1}
+        Restart VOLTHA Port Forward     voltha-api
         Wait Until Keyword Succeeds    ${timeout}    2s    Perform Sanity Test     ${suppressaddsubscriber}
     END
     ${podStatusOutput}=    Run    kubectl get pods -n ${NAMESPACE}
