1{
2    # Power on boot types:
3
4    # Initiate a power on using the Redfish API interface.
5    "Redfish Power On": {
6        "start": {
7            "redfish": "^1$",
8            "chassis": "^Off$",
9            "boot_progress": "^None$",
10            "host": "^Disabled$"
11        },
12        "end": {
13            "redfish": "^1$",
14            "chassis": "^On$",
15            "boot_progress": "^SystemHardwareInitializationComplete|OSBootStarted|OSRunning$",
16            "host": "^Enabled$",
17            "os_ping": "^1$",
18            "os_login": "^1$",
19            "os_run_cmd": "^1$"
20        },
21        "bmc_reboot": 0,
22        "method_type": "keyword",
23        "method": "Redfish Power Operation  On",
24        "lib_file_path": "bmc_redfish_utils.robot"
25    },
26    # Initiate a power on using the IPMI interface.
27    "IPMI Power On": {
28        "start": {
29            "redfish": "^1$",
30            "chassis": "^Off$",
31            "boot_progress": "^None$",
32            "host": "^Disabled$"
33        },
34        "end": {
35            "redfish": "^1$",
36            "chassis": "^On$",
37            "boot_progress": "^SystemHardwareInitializationComplete|OSBootStarted|OSRunning$",
38            "host": "^Enabled$",
39            "os_ping": "^1$",
40            "os_login": "^1$",
41            "os_run_cmd": "^1$"
42        },
43        "bmc_reboot": 0,
44        "method_type": "keyword",
45        "method": "Run External IPMI Standard Command  power on -N 10 -R 1",
46        "lib_file_path": "ipmi_client.robot"
47    },
48
49    # Power off boot types:
50
51    # Initiate a power off using the Redfish API interface.
52    "Redfish Power Off": {
53        "start": {
54            "redfish": "^1$",
55            "chassis": "^On$"
56        },
57        "end": {
58            "redfish": "^1$",
59            "chassis": "^Off$",
60            "boot_progress": "^None$",
61            "host": "^Disabled$",
62            "os_ping": "^0$",
63            "os_login": "^0$",
64            "os_run_cmd": "^0$"
65        },
66        "bmc_reboot": 0,
67        "method_type": "keyword",
68        "method": "Redfish Power Operation  GracefulShutdown",
69        "lib_file_path": "bmc_redfish_utils.robot"
70    },
71    # Initiate a hard power off using the Redfish API interface.
72    "Redfish Hard Power Off": {
73        "start": {
74            "redfish": "^1$",
75            "chassis": "^On$"
76        },
77        "end": {
78            "redfish": "^1$",
79            "chassis": "^Off$",
80            "boot_progress": "^None$",
81            "host": "^Disabled$",
82            "os_ping": "^0$",
83            "os_login": "^0$",
84            "os_run_cmd": "^0$"
85        },
86        "bmc_reboot": 0,
87        "method_type": "keyword",
88        "method": "Redfish Power Operation  ForceOff",
89        "lib_file_path": "bmc_redfish_utils.robot"
90    },
91    # Initiate a power off using the IPMI interface.
92    "IPMI Power Off": {
93        "start": {
94            "redfish": "^1$",
95            "chassis": "^On$"
96        },
97        "end": {
98            "redfish": "^1$",
99            "chassis": "^Off$",
100            "boot_progress": "^None$",
101            "host": "^Disabled$",
102            "os_ping": "^0$",
103            "os_login": "^0$",
104            "os_run_cmd": "^0$"
105        },
106        "bmc_reboot": 0,
107        "method_type": "keyword",
108        "method": "Run External IPMI Standard Command  power off -N 10 -R 1",
109        "lib_file_path": "ipmi_client.robot"
110    },
111    # Initiate a power soft using the IPMI interface.
112    "IPMI Power Soft": {
113        "start": {
114            "redfish": "^1$",
115            "chassis": "^On$"
116        },
117        "end": {
118            "redfish": "^1$",
119            "chassis": "^Off$",
120            "boot_progress": "^None$",
121            "host": "^Disabled$",
122            "os_ping": "^0$",
123            "os_login": "^0$",
124            "os_run_cmd": "^0$"
125        },
126        "bmc_reboot": 0,
127        "method_type": "keyword",
128        "method": "Run External IPMI Standard Command  power soft -N 10 -R 1",
129        "lib_file_path": "ipmi_client.robot"
130    },
131    # Run a "shutdown" command on the OS_HOST.
132    "Host Power Off": {
133        "start": {
134            "redfish": "^1$",
135            "chassis": "^On$",
136            "boot_progress": "^SystemHardwareInitializationComplete|OSBootStarted|OSRunning$",
137            "host": "^Enabled$",
138            "os_ping": "^1$",
139            "os_login": "^1$",
140            "os_run_cmd": "^1$"
141        },
142        "end": {
143            "redfish": "^1$",
144            "chassis": "^Off$",
145            "boot_progress": "^None$",
146            "host": "^Disabled$",
147            "os_ping": "^0$",
148            "os_login": "^0$",
149            "os_run_cmd": "^0$"
150        },
151        "bmc_reboot": 0,
152        "method_type": "keyword",
153        "method": "utils.Initiate OS Host Power Off",
154        "lib_file_path": "utils.robot"
155    },
156
157    # OBMC re-boot boot types:
158
159    # APOR - Auto Power On Restart - Note that this is functionally equivalent
160    # to 'PDU AC Cycle (run)'.
161    "APOR": {
162        "start": {
163            "redfish": "^1$",
164            "chassis": "^On$",
165            "boot_progress": "^SystemHardwareInitializationComplete|OSBootStarted|OSRunning$",
166            "host": "^Enabled$",
167            "os_ping": "^1$",
168            "os_login": "^1$",
169            "os_run_cmd": "^1$"
170        },
171        "end": {
172            "redfish": "^1$",
173            "chassis": "^On$",
174            "boot_progress": "^SystemHardwareInitializationComplete|OSBootStarted|OSRunning$",
175            "host": "^Enabled$",
176            "os_ping": "^1$",
177            "os_login": "^1$",
178            "os_run_cmd": "^1$"
179        },
180        "bmc_reboot": 1,
181        "method_type": "keyword",
182        "method": "Set Global Variable  ${PDU_TYPE}  pdu ; Set Global Variable  ${PDU_IP}  ${PDU_HOST} ; PDU Power Cycle",
183        "lib_file_path": "pdu/pdu.robot:pdu/synaccess.robot"
184    },
185    # Run a "reboot" on the OBMC while host is running.
186    "OBMC Reboot (run)": {
187        "start": {
188            "redfish": "^1$",
189            "chassis": "^On$",
190            "boot_progress": "^SystemHardwareInitializationComplete|OSBootStarted|OSRunning$",
191            "host": "^Enabled$",
192            "os_ping": "^1$",
193            "os_login": "^1$",
194            "os_run_cmd": "^1$"
195        },
196        "end": {
197            "redfish": "^1$",
198            "chassis": "^On$",
199            "boot_progress": "^SystemHardwareInitializationComplete|OSBootStarted|OSRunning$",
200            "host": "^Enabled$",
201            "os_ping": "^1$",
202            "os_login": "^1$",
203            "os_run_cmd": "^1$"
204        },
205        "bmc_reboot": 1,
206        "method_type": "keyword",
207        "method": "BMC Execute Command  /sbin/reboot  fork=${1}"
208    },
209    # Run a Redfish "reboot" on the OBMC while host is running.
210    "Redfish OBMC Reboot (run)": {
211        "start": {
212            "redfish": "^1$",
213            "chassis": "^On$",
214            "boot_progress": "^SystemHardwareInitializationComplete|OSBootStarted|OSRunning$",
215            "host": "^Enabled$",
216            "os_ping": "^1$",
217            "os_login": "^1$",
218            "os_run_cmd": "^1$"
219        },
220        "end": {
221            "redfish": "^1$",
222            "chassis": "^On$",
223            "boot_progress": "^SystemHardwareInitializationComplete|OSBootStarted|OSRunning$",
224            "host": "^Enabled$",
225            "os_ping": "^1$",
226            "os_login": "^1$",
227            "os_run_cmd": "^1$"
228        },
229        "bmc_reboot": 1,
230        "method_type": "keyword",
231        "method": "Redfish BMC Reset Operation",
232        "lib_file_path": "bmc_redfish_utils.robot"
233    },
234    # Run a "reboot" on the OBMC while host is off.
235    "OBMC Reboot (off)": {
236        "start": {
237            "redfish": "^1$",
238            "chassis": "^Off$"
239        },
240        "end": {
241            "redfish": "^1$",
242            "chassis": "^Off$",
243            "boot_progress": "^None$",
244            "host": "^Disabled$"
245        },
246        "bmc_reboot": 1,
247        "method_type": "keyword",
248        "method": "BMC Execute Command  /sbin/reboot  fork=${1}"
249    },
250    # Run a "reboot" on the OBMC while host is off.
251    "Redfish OBMC Reboot (off)": {
252        "start": {
253            "redfish": "^1$",
254            "chassis": "^Off$"
255        },
256        "end": {
257            "redfish": "^1$",
258            "chassis": "^Off$",
259            "boot_progress": "^None$",
260            "host": "^Disabled$"
261        },
262        "bmc_reboot": 1,
263        "method_type": "keyword",
264        "method": "Redfish BMC Reset Operation",
265        "lib_file_path": "bmc_redfish_utils.robot"
266    },
267    # Cycle AC via the PDU while host is off.
268    "PDU AC Cycle (run)": {
269        "start": {
270            "redfish": "^1$",
271            "chassis": "^On$",
272            "boot_progress": "^SystemHardwareInitializationComplete|OSBootStarted|OSRunning$",
273            "host": "^Enabled$",
274            "os_ping": "^1$",
275            "os_login": "^1$",
276            "os_run_cmd": "^1$"
277        },
278        "end": {
279            "redfish": "^1$",
280            "chassis": "^On$",
281            "boot_progress": "^SystemHardwareInitializationComplete|OSBootStarted|OSRunning$",
282            "host": "^Enabled$",
283            "os_ping": "^1$",
284            "os_login": "^1$",
285            "os_run_cmd": "^1$"
286        },
287        "bmc_reboot": 1,
288        "method_type": "keyword",
289        "method": "Set Global Variable  ${PDU_TYPE}  pdu ; Set Global Variable  ${PDU_IP}  ${PDU_HOST} ; PDU Power Cycle",
290        "lib_file_path": "pdu/pdu.robot:pdu/synaccess.robot"
291    },
292    # Cycle AC via the PDU while host is off.
293    "PDU AC Cycle (off)": {
294        "start": {
295            "redfish": "^1$",
296            "chassis": "^Off$"
297        },
298        "end": {
299            "redfish": "^1$",
300            "chassis": "^Off$",
301            "boot_progress": "^None$",
302            "host": "^Disabled$"
303        },
304        "bmc_reboot": 1,
305        "method_type": "keyword",
306        "method": "Set Global Variable  ${PDU_TYPE}  pdu ; Set Global Variable  ${PDU_IP}  ${PDU_HOST} ; PDU Power Cycle",
307        "lib_file_path": "pdu/pdu.robot:pdu/synaccess.robot"
308    },
309    # Initiate an mc reset warm using the IPMI interface while chassis is
310    # powered on.
311    "IPMI MC Reset Warm (run)": {
312        "start": {
313            "redfish": "^1$",
314            "chassis": "^On$",
315            "boot_progress": "^SystemHardwareInitializationComplete|OSBootStarted|OSRunning$",
316            "host": "^Enabled$",
317            "os_ping": "^1$",
318            "os_login": "^1$",
319            "os_run_cmd": "^1$"
320        },
321        "end": {
322            "redfish": "^1$",
323            "chassis": "^On$",
324            "boot_progress": "^SystemHardwareInitializationComplete|OSBootStarted|OSRunning$",
325            "host": "^Enabled$",
326            "os_ping": "^1$",
327            "os_login": "^1$",
328            "os_run_cmd": "^1$"
329        },
330        "bmc_reboot": 1,
331        "method_type": "keyword",
332        "method": "Run External IPMI Standard Command  mc reset warm -N 10 -R 1 ; Printn",
333        "lib_file_path": "ipmi_client.robot:gen_print.py"
334    },
335    # Initiate an mc reset warm using the IPMI interface while chassis is
336    # powered off.
337    "IPMI MC Reset Warm (off)": {
338        "start": {
339            "redfish": "^1$",
340            "chassis": "^Off$"
341        },
342        "end": {
343            "redfish": "^1$",
344            "chassis": "^Off$",
345            "boot_progress": "^None$",
346            "host": "^Disabled$"
347        },
348        "bmc_reboot": 1,
349        "method_type": "keyword",
350        "method": "Run External IPMI Standard Command  mc reset warm -N 10 -R 1 ; Printn",
351        "lib_file_path": "ipmi_client.robot:gen_print.py"
352    },
353    # Initiate an mc reset cold using the IPMI interface while chassis is
354    # powered on.
355    "IPMI MC Reset Cold (run)": {
356        "start": {
357            "redfish": "^1$",
358            "chassis": "^On$",
359            "boot_progress": "^SystemHardwareInitializationComplete|OSBootStarted|OSRunning$",
360            "host": "^Enabled$",
361            "os_ping": "^1$",
362            "os_login": "^1$",
363            "os_run_cmd": "^1$"
364        },
365        "end": {
366            "redfish": "^1$",
367            "chassis": "^On$",
368            "boot_progress": "^SystemHardwareInitializationComplete|OSBootStarted|OSRunning$",
369            "host": "^Enabled$",
370            "os_ping": "^1$",
371            "os_login": "^1$",
372            "os_run_cmd": "^1$"
373        },
374        "bmc_reboot": 1,
375        "method_type": "keyword",
376        "method": "Run External IPMI Standard Command  mc reset cold -N 10 -R 1 ; Printn",
377        "lib_file_path": "ipmi_client.robot:gen_print.py"
378    },
379    # Initiate an mc reset cold using the IPMI interface while chassis is
380    # powered off.
381    "IPMI MC Reset Cold (off)": {
382        "start": {
383            "redfish": "^1$",
384            "chassis": "^Off$"
385        },
386        "end": {
387            "redfish": "^1$",
388            "chassis": "^Off$",
389            "boot_progress": "^None$",
390            "host": "^Disabled$"
391        },
392        "bmc_reboot": 1,
393        "method_type": "keyword",
394        "method": "Run External IPMI Standard Command  mc reset cold -N 10 -R 1 ; Printn",
395        "lib_file_path": "ipmi_client.robot:gen_print.py"
396    },
397    # Initiate an mc reset warm using the IPMI standard interface while chassis
398    # is powered on.
399    "IPMI Std MC Reset Warm (run)": {
400        "start": {
401            "redfish": "^1$",
402            "chassis": "^On$",
403            "boot_progress": "^SystemHardwareInitializationComplete|OSBootStarted|OSRunning$",
404            "host": "^Enabled$",
405            "os_ping": "^1$",
406            "os_login": "^1$",
407            "os_run_cmd": "^1$"
408        },
409        "end": {
410            "redfish": "^1$",
411            "chassis": "^On$",
412            "boot_progress": "^SystemHardwareInitializationComplete|OSBootStarted|OSRunning$",
413            "host": "^Enabled$",
414            "os_ping": "^1$",
415            "os_login": "^1$",
416            "os_run_cmd": "^1$"
417        },
418        "bmc_reboot": 1,
419        "method_type": "keyword",
420        "method": "Run IPMI Standard Command  mc reset warm -N 10 -R 1 ; Printn",
421        "lib_file_path": "ipmi_client.robot:gen_print.py"
422    },
423    # Initiate an mc reset warm using the IPMI standard interface while chassis
424    # is powered off.
425    "IPMI Std MC Reset Warm (off)": {
426        "start": {
427            "redfish": "^1$",
428            "chassis": "^Off$"
429        },
430        "end": {
431            "redfish": "^1$",
432            "chassis": "^Off$",
433            "boot_progress": "^None$",
434            "host": "^Disabled$"
435        },
436        "bmc_reboot": 1,
437        "method_type": "keyword",
438        "method": "Run IPMI Standard Command  mc reset warm -N 10 -R 1 ; Printn",
439        "lib_file_path": "ipmi_client.robot:gen_print.py"
440    },
441    # Initiate an mc reset cold using the IPMI standard interface while chassis
442    # is powered on.
443    "IPMI Std MC Reset Cold (run)": {
444        "start": {
445            "redfish": "^1$",
446            "chassis": "^On$",
447            "boot_progress": "^SystemHardwareInitializationComplete|OSBootStarted|OSRunning$",
448            "host": "^Enabled$",
449            "os_ping": "^1$",
450            "os_login": "^1$",
451            "os_run_cmd": "^1$"
452        },
453        "end": {
454            "redfish": "^1$",
455            "chassis": "^On$",
456            "boot_progress": "^SystemHardwareInitializationComplete|OSBootStarted|OSRunning$",
457            "host": "^Enabled$",
458            "os_ping": "^1$",
459            "os_login": "^1$",
460            "os_run_cmd": "^1$"
461        },
462        "bmc_reboot": 1,
463        "method_type": "keyword",
464        "method": "Run IPMI Standard Command  mc reset cold -N 10 -R 1 ; Printn",
465        "lib_file_path": "ipmi_client.robot:gen_print.py"
466    },
467    # Initiate an mc reset cold using the IPMI standard interface while chassis
468    # is powered off.
469    "IPMI Std MC Reset Cold (off)": {
470        "start": {
471            "redfish": "^1$",
472            "chassis": "^Off$"
473        },
474        "end": {
475            "redfish": "^1$",
476            "chassis": "^Off$",
477            "boot_progress": "^None$",
478            "host": "^Disabled$"
479        },
480        "bmc_reboot": 1,
481        "method_type": "keyword",
482        "method": "Run IPMI Standard Command  mc reset cold -N 10 -R 1 ; Printn",
483        "lib_file_path": "ipmi_client.robot:gen_print.py"
484    },
485
486    # Host OS re-boot boot types:
487
488    # Initiate a power cycle using the IPMI interface (equivalent to off/on).
489    "IPMI Power Cycle": {
490        "start": {
491            "redfish": "^1$",
492            "chassis": "^On$",
493            "boot_progress": "^SystemHardwareInitializationComplete|OSBootStarted|OSRunning$",
494            "host": "^Enabled$",
495            "os_ping": "^1$",
496            "os_login": "^1$",
497            "os_run_cmd": "^1$"
498        },
499        "end": {
500            "redfish": "^1$",
501            "chassis": "^On$",
502            "boot_progress": "^SystemHardwareInitializationComplete|OSBootStarted|OSRunning$",
503            "host": "^Enabled$",
504            "os_ping": "^1$",
505            "os_login": "^1$",
506            "os_run_cmd": "^1$"
507        },
508        "bmc_reboot": 0,
509        "method_type": "keyword",
510        "method": "Run External IPMI Standard Command  power cycle -N 10 -R 1",
511        "lib_file_path": "ipmi_client.robot"
512    },
513    # Initiate a power reset using the IPMI interface (equivalent to off/on).
514    # Functionally equivalent to "IPMI Power Cycle".
515    "IPMI Power Reset": {
516        "start": {
517            "redfish": "^1$",
518            "chassis": "^On$",
519            "boot_progress": "^SystemHardwareInitializationComplete|OSBootStarted|OSRunning$",
520            "host": "^Enabled$",
521            "os_ping": "^1$",
522            "os_login": "^1$",
523            "os_run_cmd": "^1$"
524        },
525        "end": {
526            "redfish": "^1$",
527            "chassis": "^On$",
528            "boot_progress": "^SystemHardwareInitializationComplete|OSBootStarted|OSRunning$",
529            "host": "^Enabled$",
530            "os_ping": "^1$",
531            "os_login": "^1$",
532            "os_run_cmd": "^1$"
533        },
534        "bmc_reboot": 0,
535        "method_type": "keyword",
536        "method": "Run External IPMI Standard Command  power reset -N 10 -R 1",
537        "lib_file_path": "ipmi_client.robot"
538    },
539    # Do an auto reboot by setting auto reboot to "yes" and going to quiesce state.
540    # Start of host state as off and "Redfish Initiate Auto Reboot" invoke poweron
541    # sleep 30 and then inject the auto reboot sequence.
542    "Auto Reboot": {
543        "start": {
544            "redfish": "^1$",
545            "chassis": "^Off$",
546            "boot_progress": "^None$",
547            "host": "^Disabled$",
548            "os_ping": "^0$",
549            "os_login": "^0$",
550            "os_run_cmd": "^0$"
551        },
552        "end": {
553            "redfish": "^1$",
554            "chassis": "^On$",
555            "boot_progress": "^SystemHardwareInitializationComplete|OSBootStarted|OSRunning$",
556            "host": "^Enabled$",
557            "os_ping": "^1$",
558            "os_login": "^1$",
559            "os_run_cmd": "^1$"
560        },
561        "bmc_reboot": 0,
562        "method_type": "keyword",
563        "method": "utils.Redfish Initiate Auto Reboot  1000",
564        "lib_file_path": "utils.robot"
565    },
566    # Run a "reboot" command on the OS_HOST.
567    "Host Reboot": {
568        "start": {
569            "redfish": "^1$",
570            "chassis": "^On$",
571            "boot_progress": "^SystemHardwareInitializationComplete|OSBootStarted|OSRunning$",
572            "host": "^Enabled$",
573            "os_ping": "^1$",
574            "os_login": "^1$",
575            "os_run_cmd": "^1$"
576        },
577        "end": {
578            "redfish": "^1$",
579            "chassis": "^On$",
580            "boot_progress": "^SystemHardwareInitializationComplete|OSBootStarted|OSRunning$",
581            "host": "^Enabled$",
582            "os_ping": "^1$",
583            "os_login": "^1$",
584            "os_run_cmd": "^1$"
585        },
586        "bmc_reboot": 0,
587        "method_type": "keyword",
588        "method": "utils.Initiate OS Host Reboot",
589        "lib_file_path": "utils.robot"
590    },
591    # Initiate host reboot using the Redfish API interface (GracefulRestart).
592    "RF SYS GracefulRestart": {
593        "start": {
594            "redfish": "^1$",
595            "chassis": "^On$",
596            "boot_progress": "^SystemHardwareInitializationComplete|OSBootStarted|OSRunning$",
597            "host": "^Enabled$",
598            "os_ping": "^1$",
599            "os_login": "^1$",
600            "os_run_cmd": "^1$"
601        },
602        "end": {
603            "redfish": "^1$",
604            "chassis": "^On$",
605            "boot_progress": "^SystemHardwareInitializationComplete|OSBootStarted|OSRunning$",
606            "host": "^Enabled$",
607            "os_ping": "^1$",
608            "os_login": "^1$",
609            "os_run_cmd": "^1$"
610        },
611        "bmc_reboot": 0,
612        "method_type": "keyword",
613        "method": "Redfish Power Operation  GracefulRestart",
614        "lib_file_path": "bmc_redfish_utils.robot"
615    },
616    # Initiate host reboot using the Redfish API interface (ForceRestart).
617    "RF SYS ForceRestart": {
618        "start": {
619            "redfish": "^1$",
620            "chassis": "^On$",
621            "boot_progress": "^SystemHardwareInitializationComplete|OSBootStarted|OSRunning$",
622            "host": "^Enabled$",
623            "os_ping": "^1$",
624            "os_login": "^1$",
625            "os_run_cmd": "^1$"
626        },
627        "end": {
628            "redfish": "^1$",
629            "chassis": "^On$",
630            "boot_progress": "^SystemHardwareInitializationComplete|OSBootStarted|OSRunning$",
631            "host": "^Enabled$",
632            "os_ping": "^1$",
633            "os_login": "^1$",
634            "os_run_cmd": "^1$"
635        },
636        "bmc_reboot": 0,
637        "method_type": "keyword",
638        "method": "Redfish Power Operation  ForceRestart",
639        "lib_file_path": "bmc_redfish_utils.robot"
640    },
641    # OPAL Terminate Immediate.
642    "OPAL TI": {
643        "start": {
644            "redfish": "^1$",
645            "chassis": "^On$",
646            "boot_progress": "^SystemHardwareInitializationComplete|OSBootStarted|OSRunning$",
647            "host": "^Enabled$",
648            "os_ping": "^1$",
649            "os_login": "^1$",
650            "os_run_cmd": "^1$"
651        },
652        "end": {
653            "redfish": "^1$",
654            "chassis": "^On$",
655            "boot_progress": "^SystemHardwareInitializationComplete|OSBootStarted|OSRunning$",
656            "host": "^Enabled$",
657            "os_ping": "^1$",
658            "os_login": "^1$",
659            "os_run_cmd": "^1$"
660        },
661        "bmc_reboot": 0,
662        "method_type": "keyword",
663        "method": "Inject OPAL TI",
664        "lib_file_path": "open_power_utils.robot"
665    }
666}
667