diff --git a/data/variables.py b/data/variables.py
index e5306ea..e975b35 100644
--- a/data/variables.py
+++ b/data/variables.py
@@ -36,6 +36,7 @@
 BMC_STATE_URI = '/xyz/openbmc_project/state/bmc0/'
 HOST_STATE_URI = '/xyz/openbmc_project/state/host0/'
 CHASSIS_STATE_URI = '/xyz/openbmc_project/state/chassis0/'
+HOST_WATCHDOG_URI = '/xyz/openbmc_project/watchdog/host0/'
 
 # Logging URI variables
 BMC_LOGGING_URI = '/xyz/openbmc_project/logging/'
diff --git a/extended/test_watchdog.robot b/extended/test_watchdog.robot
new file mode 100644
index 0000000..31381af
--- /dev/null
+++ b/extended/test_watchdog.robot
@@ -0,0 +1,130 @@
+*** Settings ***
+Documentation          This suite tests HOST watchdog timer in Open BMC.
+
+Resource               ../lib/rest_client.robot
+Resource               ../lib/openbmc_ffdc.robot
+Resource               ../lib/utils.robot
+Resource               ../lib/resource.txt
+Resource               ../lib/boot_utils.robot
+
+Suite Setup            Watchdog Timer Test Setup
+Suite Teardown         Restore Watchdog Default Setting
+Test Teardown          FFDC On Test Case Fail
+
+*** Variables ***
+# "skip" boots that aren't needed to get to desired state.
+${stack_mode}  skip
+
+*** Test Cases ***
+Verify Watchdog Setting With Watchdog Disabled
+    [Documentation]  Disable watchdog timer and verify watchdog settings
+    ...              i.e Enabled, Interval, TimeRemaining.
+    [Tags]  Verify_Watchdog_Setting_With_Watchdog_Disabled
+
+    ${initial_interval}=  Read Attribute  ${HOST_WATCH_DOG_URI}  Interval
+    Set Watchdog Setting Using REST  Enabled  ${False}
+
+    # Check if watchdog has default settings.
+    ${properties}=  Read Properties  /xyz/openbmc_project/watchdog/host0
+    Should Be Equal As Strings  ${properties["Enabled"]}  0
+    Should Be Equal As Strings  ${properties["Interval"]}  ${initial_interval}
+    Should Be Equal As Strings  ${properties["TimeRemaining"]}  0
+
+Verify Watchdog Setting With Watchdog Enabled
+    [Documentation]  Enable watchdog timer and check if host OS is rebooted
+    ...              and verify hostdog settings are reset to default when
+    ...              host OS is up.
+    [Tags]  Verify_Watchdog_Setting_With_Watchdog_Enabled
+
+    ${initial_interval}=  Read Attribute  ${HOST_WATCHDOG_URI}  Interval
+
+    Trigger Host Watchdog Error  2000  60
+
+    # Verify if watchdog settings are enabled and timeremaining is reduced.
+    ${properties}=  Read Properties  /xyz/openbmc_project/watchdog/host0
+    Should Be Equal As Strings  ${properties["Enabled"]}  1
+    Should Not Be Equal As Strings  ${properties["TimeRemaining"]}  0
+
+    Wait Until Keyword Succeeds  120 sec  20 sec  Is Host Rebooted
+    Wait For Host To Ping  ${OS_HOST}  5min  10
+    Wait for OS
+
+    # Check if watchdog settings are reset when host OS is up.
+    ${properties}=  Read Properties  /xyz/openbmc_project/watchdog/host0
+    Should Be Equal As Strings  ${properties["Enabled"]}  0
+    Should Be Equal As Strings  ${properties["Interval"]}  ${initial_interval}
+    Should Be Equal As Strings  ${properties["TimeRemaining"]}  0
+
+Modify And Verify Watchdog Timer Interval
+    [Documentation]  Modify and verify watchdog timer interval.
+    [Tags]  Modify_And_Verify_Watchdog_Timer_Interval
+    [Teardown]  Set Watchdog Setting Using REST  Interval  ${initial_interval}
+
+    ${initial_interval}=  Read Attribute  ${HOST_WATCHDOG_URI}  Interval
+    ${random_int}=  Evaluate  random.randint(10000, 20000)  modules=random
+    Set Watchdog Setting Using REST  Interval  ${random_int}
+    ${modified_time_interval}=  Read Attribute  ${HOST_WATCHDOG_URI}  Interval
+    Should Be Equal As Strings  ${modified_time_interval}  ${random_int}
+
+Modify and verify Watchdog TimeRemaining
+    [Documentation]  Modify and verify watchdog 'TimeRemaining'.
+    [Tags]  Modify_And_Verify_Watchdog_TimeRemaining
+
+    ${random_int}=  Evaluate  random.randint(10000, 20000)  modules=random
+    Set Watchdog Setting Using REST  TimeRemaining  ${random_int}
+    ${modified_timeremain}=
+    ...  Read Attribute  ${HOST_WATCHDOG_URI}  TimeRemaining
+    Should Not Be Equal As Strings  ${random_int}  ${modified_timeremain}
+
+Verify Watchdog URL When Host Is On And Off
+    [Documentation]  Verify watchdog URL when host is running
+    ...              and when host is off.
+    [Tags]           Verify_Watchdog_URL_When_Host_Is_On_And_Off
+
+    ${resp}=  OpenBMC Get Request  ${HOST_WATCHDOG_URI}
+    Should Be Equal As Strings  ${resp.status_code}  ${HTTP_OK}
+
+    REST Power Off
+    ${resp}=  OpenBMC Get Request  ${HOST_WATCHDOG_URI}
+    Should Be Equal As Strings  ${resp.status_code}  ${HTTP_NOT_FOUND}
+
+*** Keywords ***
+
+Watchdog Timer Test Setup
+    [Documentation]   Do test initialization setup.
+    # Check input parameters & check if host OS is up.
+
+    Should Not Be Empty
+    ...   ${OS_HOST}  msg=You must provide the host name/host IP address.
+    Should Not Be Empty
+    ...   ${OS_USERNAME}  msg=You must provide OS host user name.
+    Should Not Be Empty
+    ...   ${OS_PASSWORD}  msg=You must provide OS host user password.
+
+    # Boot to OS.
+    REST Power On
+
+Restore Watchdog Default Setting
+    [Documentation]  Restore watchdog Default setting.
+
+    # Boot to OS.
+    REST Power On
+    Set Watchdog Setting Using REST  Enabled  ${False}
+
+    Close All Connections
+
+Set Watchdog Setting Using REST
+    [Documentation]  Set watchdog setting using REST with a given input
+    ...              attribute values.
+    [Arguments]  ${setting_name}  ${value}
+
+    # Description of argument(s):
+    # setting_name  The name of the watchdog setting
+    #               (e.g. "Enabled", "Interval", etc.).
+    # value         Watchdog setting value(e.g. "Enabled":boolean,
+    #               "Interval":Integer, "TimeRemaining":Integer)
+
+    ${valueDict}=  Create Dictionary  data=${value}
+    ${resp}=  OpenBMC Put Request  ${HOST_WATCHDOG_URI}/attr/${setting_name}
+    ...       data=${valueDict}
+    Should Be Equal As Strings  ${resp.status_code}  ${HTTP_OK}
