Fix Auto Reboot failure.

Sometimes Auto Reboot test fails because watchdog is not running.
Adding code to ensure that watchdog is running and enabled.

Resolves https://github.com/openbmc/openbmc-test-automation/issues/1299

Change-Id: I16bf6ea854b74435776d480a5096105c7543b5f1
Signed-off-by: Michael Walsh <micwalsh@us.ibm.com>
diff --git a/data/boot_table.json b/data/boot_table.json
index 6a4fc33..5ce8d92 100644
--- a/data/boot_table.json
+++ b/data/boot_table.json
@@ -597,7 +597,7 @@
         },
         "bmc_reboot": 0,
         "method_type": "keyword",
-        "method": "utils.Initiate Auto Reboot",
+        "method": "utils.Initiate Auto Reboot  1000",
         "lib_file_path": "utils.robot"
     },
     # Run a "reboot" command on the OS_HOST.
diff --git a/lib/utils.robot b/lib/utils.robot
index 4ed025c..b861b3c 100755
--- a/lib/utils.robot
+++ b/lib/utils.robot
@@ -302,11 +302,15 @@
 
 Initiate Auto Reboot
     [Documentation]  Initiate an auto reboot.
+    [Arguments]  ${milliseconds}=5000
+
+    # Description of argument(s):
+    # milliseconds  The number of milliseconds for the watchdog timer.
 
     # Set the auto reboot policy.
     Set Auto Reboot  ${1}
-    # Set the watchdog timer.  Note: 5000 = milliseconds which is 5 seconds.
-    Trigger Host Watchdog Error  5000
+    # Set the watchdog timer.
+    Trigger Host Watchdog Error  ${milliseconds}
 
 
 Trigger Warm Reset
@@ -1139,12 +1143,18 @@
     # sleep_time    Time delay for host watchdog error to get injected.
     #               Default is 5 seconds.
 
-    ${data}=  Create Dictionary  data=${True}
-    Write Attribute  /xyz/openbmc_project/watchdog/host0  Enabled  data=${data}
+    ${data}=  Create Dictionary
+    ...  data=xyz.openbmc_project.State.Watchdog.Action.PowerCycle
+    ${status}  ${result}=  Run Keyword And Ignore Error
+    ...  Read Attribute  ${HOST_WATCHDOG_URI}  ExpireAction
+    Run Keyword If  '${status}' == 'PASS'
+    ...  Write Attribute  ${HOST_WATCHDOG_URI}  ExpireAction  data=${data}
 
     ${data}=  Create Dictionary  data=${milliseconds}
-    Write Attribute  /xyz/openbmc_project/watchdog/host0  TimeRemaining
-    ...  data=${data}
+    Write Attribute  ${HOST_WATCHDOG_URI}  Interval  data=${data}
+
+    ${data}=  Create Dictionary  data=${True}
+    Write Attribute  ${HOST_WATCHDOG_URI}  Enabled  data=${data}
 
     Sleep  ${sleep_time}