Changes to boot data structures.
- Added new boot test types.
- Changed the order of boot tests for clarity.
- Removed Power_cycle list.
- Created OBMC_reboot and OS_reboot lists.
- Added new boot test types to boot_table.json.
Change-Id: I2ef60d4cc2567cb00fa9f768915f3e8146863e06
Signed-off-by: Michael Walsh <micwalsh@us.ibm.com>
diff --git a/data/boot_lists/All b/data/boot_lists/All
index 3bc25c4..b36bd36 100755
--- a/data/boot_lists/All
+++ b/data/boot_lists/All
@@ -2,13 +2,27 @@
Out of Band Code Update
REST Power On
REST Power On (mfg)
-Host Reboot
-Host Reboot (mfg)
-Auto Reboot
-Auto Reboot (mfg)
+IPMI Power On
+IPMI Power On (mfg)
REST Power Off
REST Power Off (mfg)
+IPMI Power Off
+IPMI Power Off (mfg)
+IPMI Power Soft
+IPMI Power Soft (mfg)
Host Power Off
Host Power Off (mfg)
OBMC Reboot
OBMC Reboot (mfg)
+PDU AC Cycle
+PDU AC Cycle (mfg)
+IPMI MC Reset Warm
+IPMI MC Reset Warm (mfg)
+IPMI Power Cycle
+IPMI Power Cycle (mfg)
+IPMI Power Reset
+IPMI Power Reset (mfg)
+Auto Reboot
+Auto Reboot (mfg)
+Host Reboot
+Host Reboot (mfg)
diff --git a/data/boot_lists/Manufacturing b/data/boot_lists/Manufacturing
index de522ae..bc50bf1 100755
--- a/data/boot_lists/Manufacturing
+++ b/data/boot_lists/Manufacturing
@@ -1,6 +1,13 @@
REST Power On (mfg)
+IPMI Power On (mfg)
REST Power Off (mfg)
-OBMC Reboot (mfg)
-Host Reboot (mfg)
+IPMI Power Off (mfg)
+IPMI Power Soft (mfg)
Host Power Off (mfg)
+OBMC Reboot (mfg)
+PDU AC Cycle (mfg)
+IPMI MC Reset Warm (mfg)
+IPMI Power Cycle (mfg)
+IPMI Power Reset (mfg)
Auto Reboot (mfg)
+Host Reboot (mfg)
diff --git a/data/boot_lists/OBMC_reboot b/data/boot_lists/OBMC_reboot
new file mode 100755
index 0000000..f234706
--- /dev/null
+++ b/data/boot_lists/OBMC_reboot
@@ -0,0 +1,4 @@
+OBMC Reboot
+OBMC Reboot (mfg)
+PDU AC Cycle
+PDU AC Cycle (mfg)
diff --git a/data/boot_lists/OS_reboot b/data/boot_lists/OS_reboot
new file mode 100755
index 0000000..6a531d8
--- /dev/null
+++ b/data/boot_lists/OS_reboot
@@ -0,0 +1,10 @@
+IPMI MC Reset Warm
+IPMI MC Reset Warm (mfg)
+IPMI Power Cycle
+IPMI Power Cycle (mfg)
+IPMI Power Reset
+IPMI Power Reset (mfg)
+Auto Reboot
+Auto Reboot (mfg)
+Host Reboot
+Host Reboot (mfg)
diff --git a/data/boot_lists/Power_cycle b/data/boot_lists/Power_cycle
deleted file mode 100755
index 9046f11..0000000
--- a/data/boot_lists/Power_cycle
+++ /dev/null
@@ -1,6 +0,0 @@
-BMC Host Reboot
-BMC Host Reboot (mfg)
-BMC Power Reset
-BMC Power Reset (mfg)
-BMC Power Cycle
-BMC Power Cycle (mfg)
diff --git a/data/boot_lists/Power_off b/data/boot_lists/Power_off
index e5f9193..268b8da 100755
--- a/data/boot_lists/Power_off
+++ b/data/boot_lists/Power_off
@@ -1,2 +1,8 @@
REST Power Off
+REST Power Off (mfg)
+IPMI Power Off
+IPMI Power Off (mfg)
+IPMI Power Soft
+IPMI Power Soft (mfg)
Host Power Off
+Host Power Off (mfg)
diff --git a/data/boot_lists/Power_on b/data/boot_lists/Power_on
index ab99f2e..ff4a0e6 100755
--- a/data/boot_lists/Power_on
+++ b/data/boot_lists/Power_on
@@ -1 +1,4 @@
REST Power On
+REST Power On (mfg)
+IPMI Power On
+IPMI Power On (mfg)
diff --git a/data/boot_table.json b/data/boot_table.json
index 0c69f2b..b2fd517 100644
--- a/data/boot_table.json
+++ b/data/boot_table.json
@@ -1,7 +1,6 @@
-# 2017/02/20 Note: Commenting out 'boot_progress' requirements until they are working in product code.
-# TODO: Uncomment the boot_progress lines when support is re-introduced.
{
- # Note: "IPMI Power On" will be added soon.
+ # Power on boot types:
+
# Initiate a power on using the REST API interface.
"REST Power On": {
"start": {
@@ -21,6 +20,29 @@
"method_type": "keyword",
"method": "Initiate Power On wait=${0}"
},
+ # Initiate a power on using the IPMI interface.
+ "IPMI Power On": {
+ "start": {
+ "chassis": "^Off$",
+ "boot_progress": "^Off$",
+ "host": "^Off$"
+ },
+ "end": {
+ "chassis": "^On$",
+ "boot_progress": "^FW Progress, Starting OS$",
+ "host": "^Running$",
+ "os_ping": "^1$",
+ "os_login": "^1$",
+ "os_run_cmd": "^1$"
+ },
+ "bmc_reboot": 0,
+ "method_type": "keyword",
+ "method": "Run External IPMI Standard Command power on",
+ "lib_file_path": "ipmi_client.robot"
+ },
+
+ # Power off boot types:
+
# Initiate a power off using the REST API interface.
"REST Power Off": {
"start": {
@@ -40,42 +62,45 @@
"method_type": "keyword",
"method": "Initiate Power Off"
},
- # Run a "reboot" on the OBMC..
- "OBMC Reboot": {
+ # Initiate a power off using the IPMI interface.
+ "IPMI Power Off": {
"start": {
- "chassis": "^Off$"
+ "chassis": "^On$",
+ "boot_progress": "^FW Progress, Starting OS$",
+ "host": "^Running$"
},
"end": {
"chassis": "^Off$",
"boot_progress": "^Off$",
- "host": "^Off$"
- },
- "bmc_reboot": 1,
- "method_type": "keyword",
- "method": "Open Connection And Log In ; Start Command /sbin/reboot"
- },
- # Run a "reboot" command on the OS_HOST.
- "Host Reboot": {
- "start": {
- "chassis": "^On$",
- "boot_progress": "^FW Progress, Starting OS$",
- "host": "^Running$",
- "os_ping": "^1$",
- "os_login": "^1$",
- "os_run_cmd": "^1$"
- },
- "end": {
- "chassis": "^On$",
- "boot_progress": "^FW Progress, Starting OS$",
- "host": "^Running$",
- "os_ping": "^1$",
- "os_login": "^1$",
- "os_run_cmd": "^1$"
+ "host": "^Off$",
+ "os_ping": "^0$",
+ "os_login": "^0$",
+ "os_run_cmd": "^0$"
},
"bmc_reboot": 0,
"method_type": "keyword",
- "method": "utils.Initiate OS Host Reboot",
- "lib_file_path": "utils.robot"
+ "method": "Run External IPMI Standard Command power off",
+ "lib_file_path": "ipmi_client.robot"
+ },
+ # Initiate a power soft using the IPMI interface.
+ "IPMI Power Soft": {
+ "start": {
+ "chassis": "^On$",
+ "boot_progress": "^FW Progress, Starting OS$",
+ "host": "^Running$"
+ },
+ "end": {
+ "chassis": "^Off$",
+ "boot_progress": "^Off$",
+ "host": "^Off$",
+ "os_ping": "^0$",
+ "os_login": "^0$",
+ "os_run_cmd": "^0$"
+ },
+ "bmc_reboot": 0,
+ "method_type": "keyword",
+ "method": "Run External IPMI Standard Command power soft",
+ "lib_file_path": "ipmi_client.robot"
},
# Run a "shutdown" command on the OS_HOST.
"Host Power Off": {
@@ -100,6 +125,103 @@
"method": "utils.Initiate OS Host Power Off",
"lib_file_path": "utils.robot"
},
+
+ # OBMC re-boot boot types:
+
+ # Run a "reboot" on the OBMC.
+ "OBMC Reboot": {
+ "start": {
+ "chassis": "^Off$"
+ },
+ "end": {
+ "chassis": "^Off$",
+ "boot_progress": "^Off$",
+ "host": "^Off$"
+ },
+ "bmc_reboot": 1,
+ "method_type": "keyword",
+ "method": "Open Connection And Log In ; Start Command /sbin/reboot"
+ },
+ # Cycle AC via the PDU.
+ "PDU AC Cycle": {
+ "start": {
+ "chassis": "^Off$"
+ },
+ "end": {
+ "chassis": "^Off$",
+ "boot_progress": "^Off$",
+ "host": "^Off$"
+ },
+ "bmc_reboot": 1,
+ "method_type": "keyword",
+ "method": "Set Global Variable ${PDU_TYPE} pdu ; Set Global Variable ${PDU_IP} ${PDU_HOST} ; PDU Power Cycle",
+ "lib_file_path": "pdu/pdu.robot:pdu/synaccess.robot"
+ },
+ # Initiate an mc reset warm using the IPMI interface.
+ "IPMI MC Reset Warm": {
+ "start": {
+ "chassis": "^Off$"
+ },
+ "end": {
+ "chassis": "^Off$",
+ "boot_progress": "^Off$",
+ "host": "^Off$"
+ },
+ "bmc_reboot": 1,
+ "method_type": "keyword",
+ "method": "Run External IPMI Standard Command mc reset warm ; Printn",
+ "lib_file_path": "ipmi_client.robot:gen_print.py"
+ },
+
+ # Host OS re-boot boot types:
+
+ # Initiate a power cycle using the IPMI interface (equivalent to off/on).
+ "IPMI Power Cycle": {
+ "start": {
+ "chassis": "^On$",
+ "boot_progress": "^FW Progress, Starting OS$",
+ "host": "^Running$",
+ "os_ping": "^1$",
+ "os_login": "^1$",
+ "os_run_cmd": "^1$"
+ },
+ "end": {
+ "chassis": "^On$",
+ "boot_progress": "^FW Progress, Starting OS$",
+ "host": "^Running$",
+ "os_ping": "^1$",
+ "os_login": "^1$",
+ "os_run_cmd": "^1$"
+ },
+ "bmc_reboot": 0,
+ "method_type": "keyword",
+ "method": "Run External IPMI Standard Command power cycle",
+ "lib_file_path": "ipmi_client.robot"
+ },
+ # Initiate a power reset using the IPMI interface (equivalent to off/on).
+ # Functionally equivalent to "IPMI Power Cycle".
+ "IPMI Power Reset": {
+ "start": {
+ "chassis": "^On$",
+ "boot_progress": "^FW Progress, Starting OS$",
+ "host": "^Running$",
+ "os_ping": "^1$",
+ "os_login": "^1$",
+ "os_run_cmd": "^1$"
+ },
+ "end": {
+ "chassis": "^On$",
+ "boot_progress": "^FW Progress, Starting OS$",
+ "host": "^Running$",
+ "os_ping": "^1$",
+ "os_login": "^1$",
+ "os_run_cmd": "^1$"
+ },
+ "bmc_reboot": 0,
+ "method_type": "keyword",
+ "method": "Run External IPMI Standard Command power reset",
+ "lib_file_path": "ipmi_client.robot"
+ },
# Do an auto reboot by setting auto reboot to "yes" and going to quiesce state.
"Auto Reboot": {
"start": {
@@ -122,5 +244,28 @@
"method_type": "keyword",
"method": "utils.Initiate Auto Reboot",
"lib_file_path": "utils.robot"
+ },
+ # Run a "reboot" command on the OS_HOST.
+ "Host Reboot": {
+ "start": {
+ "chassis": "^On$",
+ "boot_progress": "^FW Progress, Starting OS$",
+ "host": "^Running$",
+ "os_ping": "^1$",
+ "os_login": "^1$",
+ "os_run_cmd": "^1$"
+ },
+ "end": {
+ "chassis": "^On$",
+ "boot_progress": "^FW Progress, Starting OS$",
+ "host": "^Running$",
+ "os_ping": "^1$",
+ "os_login": "^1$",
+ "os_run_cmd": "^1$"
+ },
+ "bmc_reboot": 0,
+ "method_type": "keyword",
+ "method": "utils.Initiate OS Host Reboot",
+ "lib_file_path": "utils.robot"
}
}