diff --git a/libraries/utils.robot b/libraries/utils.robot
index fb6fc06..108efdf 100644
--- a/libraries/utils.robot
+++ b/libraries/utils.robot
@@ -402,12 +402,6 @@
         ...    ${src['ip']}    ${src['user']}    ${src['pass']}   ${src['container_type']}    ${src['container_name']}
     END
 
-Announce Message
-    [Arguments]    ${message}
-    [Documentation]    Announce a message that will be picked up by the log aggregator
-    Run Process    kubectl    run    announcer    -ti    --rm    --restart    Never    --image    ubuntu
-    ...     bash    --    -c    echo; sleep 1; echo ${message}; sleep 1; date --rfc-3339\=n ; sleep 1; echo; sleep 1
-
 Start Logging
     [Arguments]    ${label}
     [Documentation]    Start logging for test ${label}
diff --git a/tests/dt-workflow/Voltha_DT_PODTests.robot b/tests/dt-workflow/Voltha_DT_PODTests.robot
index 3e06882..3526a5f 100644
--- a/tests/dt-workflow/Voltha_DT_PODTests.robot
+++ b/tests/dt-workflow/Voltha_DT_PODTests.robot
@@ -62,12 +62,10 @@
     ...    should reach the NNI port on the OLT with the expected double tagged vlan ids
     ...    Inner vlans from the RG should not change
     [Tags]    sanityDt
-    [Setup]    Run Keywords    Announce Message    START TEST SanityTestDt
-    ...        AND             Start Logging    SanityTestDt
+    [Setup]    Run Keywords    Start Logging    SanityTestDt
     ...        AND             Setup
     [Teardown]    Run Keywords    Collect Logs
     ...           AND             Stop Logging    SanityTestDt
-    ...           AND             Announce Message    END TEST SanityTestDt
     Run Keyword If    ${has_dataplane}    Clean Up Linux
     Wait Until Keyword Succeeds    ${timeout}    2s    Perform Sanity Test DT
 
@@ -78,11 +76,9 @@
     ...    Disable and Enable the ONU (This is to replicate the existing DT behaviour)
     ...    Re-add the subscriber, and validate that the flows are present and pings are successful
     [Tags]    functionalDt    SubAddDeleteDt
-    [Setup]    Run Keywords    Announce Message    START TEST SubAddDeleteDt
-    ...        AND             Start Logging     SubAddDeleteDt
+    [Setup]    Start Logging     SubAddDeleteDt
     [Teardown]    Run Keywords    Collect Logs
     ...           AND             Stop Logging    SubAddDeleteDt
-    ...           AND             Announce Message    END TEST SubAddDeleteDt
     FOR    ${I}    IN RANGE    0    ${num_onus}
         ${src}=    Set Variable    ${hosts.src[${I}]}
         ${dst}=    Set Variable    ${hosts.dst[${I}]}
@@ -163,11 +159,9 @@
     ...    Perform disable on the ONUs and validate that the pings do not succeed
     ...    Perform enable on the ONUs and validate that the pings are successful
     [Tags]    functionalDt    DisableEnableONUDt
-    [Setup]    Run Keywords    Announce Message    START TEST DisableEnableONUDt
-    ...        AND             Start Logging    DisableEnableONUDt
+    [Setup]    Start Logging    DisableEnableONUDt
     [Teardown]    Run Keywords    Collect Logs
     ...           AND             Stop Logging    DisableEnableONUDt
-    ...           AND             Announce Message    END TEST DisableEnableONUDt
     FOR    ${I}    IN RANGE    0    ${num_onus}
         ${src}=    Set Variable    ${hosts.src[${I}]}
         ${dst}=    Set Variable    ${hosts.dst[${I}]}
@@ -207,11 +201,9 @@
     ...    Perform disable on the OLT and validate ONUs state and that the pings do not succeed
     ...    Perform delete on the OLT, Re-do Setup (Recreate the OLT) and Perform Sanity Test DT
     [Tags]    functionalDt    DisableDeleteOLTDt
-    [Setup]    Run Keywords    Announce Message    START TEST DisableDeleteOLTDt
-    ...        AND             Start Logging    DisableDeleteOLTDt
+    [Setup]    Start Logging    DisableDeleteOLTDt
     [Teardown]    Run Keywords    Collect Logs
     ...           AND             Stop Logging    DisableDeleteOLTDt
-    ...           AND             Announce Message    END TEST DisableDeleteOLTDt
     # Disable and Validate OLT Device
     Disable Device    ${olt_device_id}
     Run Keyword And Continue On Failure    Wait Until Keyword Succeeds    ${timeout}    5s
diff --git a/tests/functional/K8S_SystemTest.robot b/tests/functional/K8S_SystemTest.robot
index 74f8ad5..c6059fa 100644
--- a/tests/functional/K8S_SystemTest.robot
+++ b/tests/functional/K8S_SystemTest.robot
@@ -41,10 +41,8 @@
 ECTD Scale Test
     [Documentation]    Perform the sanity test if some ETCD endpoints crash
     [Tags]    functional    bbsim
-    [Setup]    Run Keywords    Announce Message    START TEST SanityTest
-    ...        AND             Setup
+    [Setup]    Setup
     [Teardown]    Run Keywords    Collect Logs
-    ...           AND             Announce Message    END TEST SanityTest
     ...           AND    Teardown Suite
     ${current_size}=    Get ETCD Running Size    voltha
     Pass Execution If    '${current_size}' != '${desired_ETCD_cluster_size}'
diff --git a/tests/functional/Voltha_ErrorScenarios.robot b/tests/functional/Voltha_ErrorScenarios.robot
index 1d57365..61492a4 100644
--- a/tests/functional/Voltha_ErrorScenarios.robot
+++ b/tests/functional/Voltha_ErrorScenarios.robot
@@ -59,11 +59,9 @@
     [Documentation]    Create OLT, Create the same OLT again and Check for the Error message
     ...                VOL-2405  VOL-2406
     [Tags]    AddSameOLT   functional    released
-    [Setup]    Run Keywords    Announce Message    START TEST AddSameOLT
-    ...        AND             Start Logging    AddSameOLT
+    [Setup]    Start Logging    AddSameOLT
     [Teardown]   Run Keywords     Collect Logs
     ...          AND              Stop Logging    AddSameOLT
-    ...          AND              Announce Message    END TEST AddSameOLT
     # Add OLT device
     #setup
     Delete All Devices and Verify
@@ -93,11 +91,9 @@
     ...    command and ensure that error message is shown.
     ...    VOL-2412-2413
     [Tags]    functional    DisableEnableInvalidDevice    released
-    [Setup]    Run Keywords    Announce Message    START TEST DisableInvalidDevice
-    ...        AND             Start Logging    DisableInvalidDevice
+    [Setup]    Start Logging    DisableInvalidDevice
     [Teardown]    Run Keywords    Collect Logs
     ...           AND             Stop Logging    DisableInvalidDevice
-    ...           AND             Announce Message    END TEST DisableInvalidDevice
     Run Keyword and Ignore Error   Collect Logs
     ${rc}  ${output}=    Run and Return Rc and Output    ${VOLTCTL_CONFIG}; voltctl device list -o json
     Should Be Equal As Integers    ${rc}    0
@@ -130,11 +126,9 @@
     ...    executed where all the ONUs are authenticated/DHCP/pingable
     ...    VOL-2411
     [Tags]    functional    DeleteBeforeDisableCheck    notready
-    [Setup]   Run Keywords    Announce Message    START TEST DeleteBeforeDisableCheck
-    ...       AND             Start Logging    DeleteBeforeDisableCheck
+    [Setup]   Start Logging    DeleteBeforeDisableCheck
     [Teardown]    Run Keywords    Collect Logs
     ...           AND             Stop Logging    DeleteBeforeDisableCheck
-    ...           AND             Announce Message    END TEST DeleteBeforeDisableCheck
     #validate olt states
     Run Keyword If    ${has_dataplane}    Clean Up Linux
     Wait Until Keyword Succeeds    ${timeout}    2s    Perform Sanity Test
@@ -166,12 +160,10 @@
     [Documentation]    Create OLT, disable same OLT, check error message and validates ONU
     ...                VOL-2414
     [Tags]    functional    DisablePreprovisionedOLTCheck
-    [Setup]   Run Keywords    Announce Message    START TEST DisablePreprovisionedOLTCheck
-    ...       AND             Start Logging    DisablePreprovisionedOLTCheck
+    [Setup]   Run Keywords    Start Logging    DisablePreprovisionedOLTCheck
     ...       AND             Delete All Devices and Verify
     [Teardown]    Run Keywords    Collect Logs
     ...           AND             Stop Logging    DisablePreprovisionedOLTCheck
-    ...           AND             Announce Message    END TEST DisablePreprovisionedOLTCheck
     Sleep    180s
     Run Keyword and Ignore Error    Collect Logs
     #create/preprovision device
@@ -204,12 +196,10 @@
     ...    since it is allowed only through OLT device deletion.
     ...    VOL-2418
     [Tags]    functional     DisableDelete_LogicalDevice
-    [Setup]   Run Keywords    Announce Message    START TEST DisableDelete_LogicalDevice
-    ...       AND             Start Logging    DisableDelete_LogicalDevice
+    [Setup]   Run Keywords    Start Logging    DisableDelete_LogicalDevice
     ...       AND             Delete All Devices and Verify
     [Teardown]    Run Keywords    Collect Logs
     ...           AND             Stop Logging    DisableDelete_LogicalDevice
-    ...           AND             Announce Message    END TEST DisableDelete_LogicalDevice
     Run Keyword If    ${has_dataplane}    Sleep    180s
     #create/preprovision OLT device
     ${olt_device_id}=    Create Device    ${olt_ip}    ${OLT_PORT}
@@ -244,11 +234,9 @@
     ...    logical device, flows, ports
     ...    VOL-2416 VOL-2417
     [Tags]    functional    LogicalDeviceCheck
-    [Setup]   Run Keywords    Announce Message    START TEST LogicalDeviceCheck
-    ...       AND             Start Logging    LogicalDeviceCheck
+    [Setup]   Start Logging    LogicalDeviceCheck
     [Teardown]    Run Keywords    Collect Logs
     ...           AND             Stop Logging    LogicalDeviceCheck
-    ...           AND             Announce Message    END TEST LogicalDeviceCheck
     Delete All Devices and Verify
     ${logical_id}=    Get Logical Device ID From SN    ${olt_serial_number}
     Should Be Empty    ${logical_id}
diff --git a/tests/functional/Voltha_FailureScenarios.robot b/tests/functional/Voltha_FailureScenarios.robot
index 7d5348c..41177c2 100644
--- a/tests/functional/Voltha_FailureScenarios.robot
+++ b/tests/functional/Voltha_FailureScenarios.robot
@@ -63,11 +63,9 @@
     ...    controls the power off/on ONUs/OLT remotely (simulating a physical reboot)
     ...    VOL-2634
     [Tags]    functional   PowerSwitch
-    [Setup]    Run Keywords    Announce Message    START TEST ONUreboot_PowerSwitch
-    ...        AND             Start Logging    ONUreboot_PowerSwitch
+    [Setup]    Start Logging    ONUreboot_PowerSwitch
     [Teardown]    Run Keywords    Collect Logs
     ...           AND             Stop Logging    ONUreboot_PowerSwitch
-    ...           AND             Announce Message    END TEST ONUreboot_PowerSwitch
     ...           AND             Delete Device and Verify
     # Add OLT device
     setup
@@ -116,11 +114,9 @@
     ...    Test performs a physical reboot, performs "reboot" from the OLT CLI
     ...    VOL-1956
     [Tags]    functional   PhysicalOLTReboot
-    [Setup]    Run Keywords    Announce Message    START TEST PhysicalOLTReboot
-    ...        AND             Start Logging    PhysicalOLTReboot
+    [Setup]    Start Logging    PhysicalOLTReboot
     [Teardown]    Run Keywords    Collect Logs
     ...           AND             Stop Logging    PhysicalOLTReboot
-    ...           AND             Announce Message    END TEST PhysicalOLTReboot
     ...           AND             Delete Device and Verify
     # Add OLT device
     setup
@@ -154,11 +150,9 @@
     [Documentation]    Restart openolt-adapter container after VOLTHA is operational.
     ...    Prerequisite : ONUs are authenticated and pingable.
     [Tags]    functional   VOL-1958   Restart-OpenOlt   released
-    [Setup]    Run Keywords    Announce Message    START TEST Restart-OpenOlt
-    ...        AND             Start Logging    Restart-OpenOlt
+    [Setup]    Start Logging    Restart-OpenOlt
     [Teardown]    Run Keywords    Collect Logs
     ...           AND             Stop Logging    Restart-OpenOlt
-    ...           AND             Announce Message    END TEST Restart-OpenOlt
     # Add OLT device
     setup
     # Performing Sanity Test to make sure subscribers are all AUTH+DHCP and pingable
@@ -189,11 +183,9 @@
     ...    teardown from previous test or uncomment 'Teardown    None'.
     ...    Assuming that test1 was executed where all the ONUs are authenticated/DHCP/pingable
     [Tags]    functional    RadiusRestart    released
-    [Setup]    Run Keywords    Announce Message    START TEST RadiusRestart
-    ...        AND             Start Logging    RadiusRestart
+    [Setup]    Start Logging    RadiusRestart
     [Teardown]    Run Keywords    Collect Logs
     ...           AND             Stop Logging    RadiusRestart
-    ...           AND             Announce Message    END TEST RadiusRestart
     ${waitforRestart}    Set Variable    120s
     Wait Until Keyword Succeeds    ${timeout}    15s    Restart Pod    ${DEFAULTSPACE}    ${RESTART_POD_NAME}
     Wait Until Keyword Succeeds    ${waitforRestart}    2s    Validate Pod Status    ${RESTART_POD_NAME}
@@ -232,12 +224,10 @@
     ...    and configures ONOS for access. The test succeeds if the device is able to
     ...    complete the DHCP sequence.
     [Tags]    functional    olt-adapter-restart
-    [Setup]    Run Keywords    Announce Message    START TEST OltAdapterRestart
-    ...        AND             Start Logging    OltAdapterRestart
+    [Setup]    Start Logging    OltAdapterRestart
     #...        AND             Clear All Devices Then Create New Device
     [Teardown]   Run Keywords    Collect Logs
     ...          AND             Stop Logging    OltAdapterRestart
-    ...          AND             Announce Message    END TEST OltAdapterRestart
     # Add OLT and perform sanity test
     #setup
     Run Keyword If    ${has_dataplane}    Clean Up Linux
@@ -297,11 +287,9 @@
     [Documentation]    Restart ofagent container after VOLTHA is operational.
     ...    Prerequisite : ONUs are authenticated and pingable.
     [Tags]    functional   VOL-2409   ofagentRestart
-    [Setup]    Run Keywords    Announce Message    START TEST ofagentRestart
-    ...        AND             Start Logging    ofagentRestart
+    [Setup]    Start Logging    ofagentRestart
     [Teardown]    Run Keywords    Collect Logs
     ...           AND             Stop Logging    ofagentRestart
-    ...           AND             Announce Message    END TEST ofagentRestart
     ...           AND             Scale K8s Deployment    ${NAMESPACE}    voltha-ofagent    1
     # set timeout value
     ${waitforRestart}    Set Variable    120s
@@ -371,11 +359,9 @@
     ...    message count to make sure auth not started again and validates EAP status and ping.
     ...    Assuming that test1 or sanity was executed where all the ONUs are authenticated/DHCP/pingable
     [Tags]    functional    ONUAdaptCrash
-    [Setup]    Run Keywords    Announce Message    START TEST ONUAdaptCrash
-    ...        AND             Start Logging    ONUAdaptCrash
+    [Setup]    Start Logging    ONUAdaptCrash
     [Teardown]    Run Keywords    Collect Logs
     ...           AND             Stop Logging    ONUAdaptCrash
-    ...           AND             Announce Message    END TEST ONUAdaptCrash
     # Wait for adapter to resync
     Sleep    60s
     # Restart the onu
@@ -455,12 +441,10 @@
     ...    and configures ONOS for access. The test succeeds if the device is able to
     ...    complete the DHCP sequence.
     [Tags]    functional    rwcore-restart
-    [Setup]    Run Keywords    Announce Message    START TEST RwCoreFailAndRestart
-    ...        AND             Start Logging    RwCoreFailAndRestart
+    [Setup]    Run Keywords    Start Logging    RwCoreFailAndRestart
     ...        AND             Clear All Devices Then Create New Device
     [Teardown]   Run Keywords    Collect Logs
     ...          AND             Stop Logging    RwCoreFailAndRestart
-    ...          AND             Announce Message    END TEST RwCoreFailAndRestart
     #...          AND             Delete Device and Verify
     Run Keyword and Ignore Error    Collect Logs
     Run Keyword If    ${has_dataplane}    Clean Up Linux
@@ -526,11 +510,9 @@
 ONU Reboot
     [Documentation]    Reboot ONU and verify that ONU comes up properly
     [Tags]    VOL-1957    RebootONU   notready
-    [Setup]    Run Keywords    Announce Message    START TEST RebootONU
-    ...        AND             Start Logging    RebootONU
+    [Setup]    Start Logging    RebootONU
     [Teardown]    Run Keywords    Collect Logs
     ...           AND             Stop Logging    RebootONU
-    ...           AND             Announce Message    END TEST RebootONU
     FOR    ${I}    IN RANGE    0    ${num_onus}
         ${src}=    Set Variable    ${hosts.src[${I}]}
         ${dst}=    Set Variable    ${hosts.dst[${I}]}
diff --git a/tests/functional/Voltha_PODTests.robot b/tests/functional/Voltha_PODTests.robot
index 0287b97..77fc1c0 100644
--- a/tests/functional/Voltha_PODTests.robot
+++ b/tests/functional/Voltha_PODTests.robot
@@ -59,12 +59,10 @@
     [Documentation]    Validates E2E Ping Connectivity and object states for the given scenario:
     ...    Validate successful authentication/DHCP/E2E ping for the tech profile that is used
     [Tags]    sanity    test1
-    [Setup]    Run Keywords    Announce Message    START TEST SanityTest
-    ...        AND             Start Logging    SanityTest
+    [Setup]    Run Keywords    Start Logging    SanityTest
     ...        AND             Setup
     [Teardown]    Run Keywords    Collect Logs
     ...           AND             Stop Logging    SanityTest
-    ...           AND             Announce Message    END TEST SanityTest
     Run Keyword If    ${has_dataplane}    Clean Up Linux
     Wait Until Keyword Succeeds    ${timeout}    2s    Perform Sanity Test
 
@@ -74,11 +72,9 @@
     ...    Perform disable on the OLT and validate that the pings do not succeed
     ...    Perform enable on the OLT and validate that the pings are successful
     [Tags]    VOL-2410    DisableEnableOLT    notready
-    [Setup]    Run Keywords    Announce Message    START TEST DisableEnableOLT
-    ...        AND             Start Logging    DisableEnableOLT
+    [Setup]    Start Logging    DisableEnableOLT
     [Teardown]    Run Keywords    Collect Logs
     ...           AND             Stop Logging    DisableEnableOLT
-    ...           AND             Announce Message    END TEST DisableEnableOLT
     #Disable the OLT and verify the OLT/ONUs are disabled properly
     ${rc}    ${output}=    Run and Return Rc and Output    ${VOLTCTL_CONFIG}; voltctl device disable ${olt_device_id}
     Should Be Equal As Integers    ${rc}    0
@@ -127,11 +123,9 @@
     ...    Perform disable on the ONUs and validate that the pings do not succeed
     ...    Perform enable on the ONUs and validate that the pings are successful
     [Tags]    functional    DisableEnableONU    released
-    [Setup]    Run Keywords    Announce Message    START TEST DisableEnableONU
-    ...        AND             Start Logging    DisableEnableONU
+    [Setup]    Start Logging    DisableEnableONU
     [Teardown]    Run Keywords    Collect Logs
     ...           AND             Stop Logging    DisableEnableONU
-    ...           AND             Announce Message    END TEST DisableEnableONU
     FOR    ${I}    IN RANGE    0    ${num_onus}
         ${src}=    Set Variable    ${hosts.src[${I}]}
         ${dst}=    Set Variable    ${hosts.dst[${I}]}
@@ -165,11 +159,9 @@
     ...    Delete a subscriber and validate that the pings do not succeed
     ...    Re-add the subscriber and validate that the pings are successful
     [Tags]    functional    SubAddDelete    released
-    [Setup]    Run Keywords    Announce Message    START TEST SubAddDelete
-    ...        AND             Start Logging     SubAddDelete
+    [Setup]    Start Logging     SubAddDelete
     [Teardown]    Run Keywords    Collect Logs
     ...           AND             Stop Logging    SubAddDelete
-    ...           AND             Announce Message    END TEST SubAddDelete
     FOR    ${I}    IN RANGE    0    ${num_onus}
         ${src}=    Set Variable    ${hosts.src[${I}]}
         ${dst}=    Set Variable    ${hosts.dst[${I}]}
@@ -209,11 +201,9 @@
     ...    when again added subscriber access, DHCP attempt, ping succeeds
     ...    Assuming that test1 or sanity test was executed where all the ONUs are authenticated/DHCP/pingable
     [Tags]    functional    SubsRemoveDHCP    released
-    [Setup]    Run Keywords    Announce Message    START TEST SubsRemoveDHCP
-    ...        AND             Start Logging    SubsRemoveDHCP
+    [Setup]    Start Logging    SubsRemoveDHCP
     [Teardown]    Run Keywords    Collect Logs
     ...           AND             Stop Logging    SubsRemoveDHCP
-    ...           AND             Announce Message    END TEST SubsRemoveDHCP
     FOR    ${I}    IN RANGE    0    ${num_onus}
         ${src}=    Set Variable    ${hosts.src[${I}]}
         ${dst}=    Set Variable    ${hosts.dst[${I}]}
@@ -264,11 +254,9 @@
     ...    validate that the pings are successful
     ...    VOL-2284
     [Tags]    functional    ATT_DisableEnableONU    released
-    [Setup]    Run Keywords    Announce Message    START TEST ATT_DisableEnableONU
-    ...        AND             Start Logging    ATT_DisableEnableONU
+    [Setup]    Start Logging    ATT_DisableEnableONU
     [Teardown]    Run Keywords    Collect Logs
     ...           AND             Stop Logging    ATT_DisableEnableONU
-    ...           AND             Announce Message    END TEST ATT_DisableEnableONU
     FOR    ${I}    IN RANGE    0    ${num_onus}
         ${src}=    Set Variable    ${hosts.src[${I}]}
         ${dst}=    Set Variable    ${hosts.dst[${I}]}
@@ -318,11 +306,9 @@
     ...    Create/Enable the same OLT again
     ...    Validate authentication/DHCP/E2E pings succeed for all the ONUs connected to the OLT
     [Tags]    functional    DeleteOLT    released
-    [Setup]    Run Keywords    Announce Message    START TEST DeleteOLT
-    ...        AND             Start Logging    DeleteOLT
+    [Setup]    Start Logging    DeleteOLT
     [Teardown]    Run Keywords    Collect Logs
     ...           AND             Stop Logging    DeleteOLT
-    ...           AND             Announce Message    END TEST DeleteOLT
     Run Keyword If    ${has_dataplane}    Clean Up Linux
     Delete Device and Verify
     Run Keyword And Continue On Failure    Wait Until Keyword Succeeds    ${timeout}    5s
@@ -337,11 +323,9 @@
     ...    Disable and Delete the ONU, Disable and Delete the OLT
     ...    Create/Enable the OLT again and Check for the Mib State of the ONUs
     [Tags]    functional    CheckMibState    notready
-    [Setup]    Run Keywords    Announce Message    START TEST CheckMibState
-    ...        AND             Start Logging    CheckMibState
+    [Setup]    Start Logging    CheckMibState
     [Teardown]    Run Keywords    Collect Logs
     ...           AND             Stop Logging    CheckMibState
-    ...           AND             Announce Message    END TEST CheckMibState
     #Disable and Delete the ONU
     FOR    ${I}    IN RANGE    0    ${num_onus}
         ${src}=    Set Variable    ${hosts.src[${I}]}
@@ -383,11 +367,9 @@
     ...    Devices will be removed during the execution of this TC
     ...    so calling setup at the end to add the devices back to avoid the confusion.
     [Tags]    functional    VOL-2354    DisableDeleteONUandOLT    released
-    [Setup]    Run Keywords    Announce Message    START TEST DisableDeleteONUandOLT
-    ...        AND             Start Logging    DisableDeleteONUandOLT
+    [Setup]    Start Logging    DisableDeleteONUandOLT
     [Teardown]    Run Keywords    Collect Logs
     ...           AND             Stop Logging    DisableDeleteONUandOLT
-    ...           AND             Announce Message    END TEST DisableDeleteONUandOLT
     ${olt_device_id}=    Get Device ID From SN    ${olt_serial_number}
     FOR    ${I}    IN RANGE    0    ${num_onus}
         ${src}=    Set Variable    ${hosts.src[${I}]}
@@ -437,12 +419,10 @@
     ...    Perform enable on the ONUs and validate that authentication successful
     [Tags]    functional    DisableONU_AuthCheck
     # Creates Devices in the Setup
-    [Setup]    Run Keywords    Announce Message    START TEST DisableDeleteONUandOLT
-    ...        AND             Start Logging    DisableONU_AuthCheck
+    [Setup]    Run Keywords    Start Logging    DisableONU_AuthCheck
     ...        AND    Setup
     [Teardown]    Run Keywords    Collect Logs
     ...           AND             Stop Logging    DisableONU_AuthCheck
-    ...           AND             Announce Message    END TEST DisableONU_AuthCheck
     ...           AND             Delete Device and Verify
     Run Keyword and Ignore Error    Collect Logs
     Run Keyword If    ${has_dataplane}    Clean Up Linux
