1{
2    # Power on boot types:
3
4    # Initiate a power on using the Redfish API interface.
5    "Redfish Power On": {
6        "start": {
7            "rest": "^1$",
8            "chassis": "^Off$",
9            "operating_system": "^Inactive$",
10            "host": "^Off$"
11        },
12        "end": {
13            "rest": "^1$",
14            "chassis": "^On$",
15            "operating_system": "^Standby|BootComplete$",
16            "host": "^Running$",
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            "rest": "^1$",
30            "chassis": "^Off$",
31            "operating_system": "^Inactive$",
32            "host": "^Off$"
33        },
34        "end": {
35            "rest": "^1$",
36            "chassis": "^On$",
37            "operating_system": "^Standby|BootComplete$",
38            "host": "^Running$",
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            "rest": "^1$",
55            "chassis": "^On$"
56        },
57        "end": {
58            "rest": "^1$",
59            "chassis": "^Off$",
60            "operating_system": "^Inactive$",
61            "host": "^Off$",
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            "rest": "^1$",
75            "chassis": "^On$"
76        },
77        "end": {
78            "rest": "^1$",
79            "chassis": "^Off$",
80            "operating_system": "^Inactive$",
81            "host": "^Off$",
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            "rest": "^1$",
95            "chassis": "^On$"
96        },
97        "end": {
98            "rest": "^1$",
99            "chassis": "^Off$",
100            "operating_system": "^Inactive$",
101            "host": "^Off$",
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            "rest": "^1$",
115            "chassis": "^On$"
116        },
117        "end": {
118            "rest": "^1$",
119            "chassis": "^Off$",
120            "operating_system": "^Inactive$",
121            "host": "^Off$",
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            "rest": "^1$",
135            "chassis": "^On$",
136            "operating_system": "^Standby|BootComplete$",
137            "host": "^Running$",
138            "os_ping": "^1$",
139            "os_login": "^1$",
140            "os_run_cmd": "^1$"
141        },
142        "end": {
143            "rest": "^1$",
144            "chassis": "^Off$",
145            "operating_system": "^Inactive$",
146            "host": "^Off$",
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            "rest": "^1$",
164            "chassis": "^On$",
165            "operating_system": "^Standby|BootComplete$",
166            "host": "^Running$",
167            "os_ping": "^1$",
168            "os_login": "^1$",
169            "os_run_cmd": "^1$"
170        },
171        "end": {
172            "rest": "^1$",
173            "chassis": "^On$",
174            "operating_system": "^Standby|BootComplete$",
175            "host": "^Running$",
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            "rest": "^1$",
189            "chassis": "^On$",
190            "operating_system": "^Standby|BootComplete$",
191            "host": "^Running$",
192            "os_ping": "^1$",
193            "os_login": "^1$",
194            "os_run_cmd": "^1$"
195        },
196        "end": {
197            "rest": "^1$",
198            "chassis": "^On$",
199            "operating_system": "^Standby|BootComplete$",
200            "host": "^Running$",
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 REST "reboot" on the OBMC while host is running.
210    "REST OBMC Reboot (run)": {
211        "start": {
212            "rest": "^1$",
213            "chassis": "^On$",
214            "operating_system": "^Standby|BootComplete$",
215            "host": "^Running$",
216            "os_ping": "^1$",
217            "os_login": "^1$",
218            "os_run_cmd": "^1$"
219        },
220        "end": {
221            "rest": "^1$",
222            "chassis": "^On$",
223            "operating_system": "^Standby|BootComplete$",
224            "host": "^Running$",
225            "os_ping": "^1$",
226            "os_login": "^1$",
227            "os_run_cmd": "^1$"
228        },
229        "bmc_reboot": 1,
230        "method_type": "keyword",
231        "method": "Initiate BMC Reboot  wait=${0}",
232        "lib_file_path": "state_manager.robot"
233    },
234    # Run a Redfish "reboot" on the OBMC while host is running.
235    "Redfish OBMC Reboot (run)": {
236        "start": {
237            "rest": "^1$",
238            "chassis": "^On$",
239            "operating_system": "^Standby|BootComplete$",
240            "host": "^Running$",
241            "os_ping": "^1$",
242            "os_login": "^1$",
243            "os_run_cmd": "^1$"
244        },
245        "end": {
246            "rest": "^1$",
247            "chassis": "^On$",
248            "operating_system": "^Standby|BootComplete$",
249            "host": "^Running$",
250            "os_ping": "^1$",
251            "os_login": "^1$",
252            "os_run_cmd": "^1$"
253        },
254        "bmc_reboot": 1,
255        "method_type": "keyword",
256        "method": "Redfish BMC Reset Operation",
257        "lib_file_path": "bmc_redfish_utils.robot"
258    },
259    # Run a "reboot" on the OBMC while host is off.
260    "OBMC Reboot (off)": {
261        "start": {
262            "rest": "^1$",
263            "chassis": "^Off$"
264        },
265        "end": {
266            "rest": "^1$",
267            "chassis": "^Off$",
268            "operating_system": "^Inactive$",
269            "host": "^Off$"
270        },
271        "bmc_reboot": 1,
272        "method_type": "keyword",
273        "method": "BMC Execute Command  /sbin/reboot  fork=${1}"
274    },
275    # Run a "reboot" on the OBMC while host is off.
276    "Redfish OBMC Reboot (off)": {
277        "start": {
278            "rest": "^1$",
279            "chassis": "^Off$"
280        },
281        "end": {
282            "rest": "^1$",
283            "chassis": "^Off$",
284            "operating_system": "^Inactive$",
285            "host": "^Off$"
286        },
287        "bmc_reboot": 1,
288        "method_type": "keyword",
289        "method": "Redfish BMC Reset Operation",
290        "lib_file_path": "bmc_redfish_utils.robot"
291    },
292    # Cycle AC via the PDU while host is off.
293    "PDU AC Cycle (run)": {
294        "start": {
295            "rest": "^1$",
296            "chassis": "^On$",
297            "operating_system": "^Standby|BootComplete$",
298            "host": "^Running$",
299            "os_ping": "^1$",
300            "os_login": "^1$",
301            "os_run_cmd": "^1$"
302        },
303        "end": {
304            "rest": "^1$",
305            "chassis": "^On$",
306            "operating_system": "^Standby|BootComplete$",
307            "host": "^Running$",
308            "os_ping": "^1$",
309            "os_login": "^1$",
310            "os_run_cmd": "^1$"
311        },
312        "bmc_reboot": 1,
313        "method_type": "keyword",
314        "method": "Set Global Variable  ${PDU_TYPE}  pdu ; Set Global Variable  ${PDU_IP}  ${PDU_HOST} ; PDU Power Cycle",
315        "lib_file_path": "pdu/pdu.robot:pdu/synaccess.robot"
316    },
317    # Cycle AC via the PDU while host is off.
318    "PDU AC Cycle (off)": {
319        "start": {
320            "rest": "^1$",
321            "chassis": "^Off$"
322        },
323        "end": {
324            "rest": "^1$",
325            "chassis": "^Off$",
326            "operating_system": "^Inactive$",
327            "host": "^Off$"
328        },
329        "bmc_reboot": 1,
330        "method_type": "keyword",
331        "method": "Set Global Variable  ${PDU_TYPE}  pdu ; Set Global Variable  ${PDU_IP}  ${PDU_HOST} ; PDU Power Cycle",
332        "lib_file_path": "pdu/pdu.robot:pdu/synaccess.robot"
333    },
334    # Initiate an mc reset warm using the IPMI interface while chassis is
335    # powered on.
336    "IPMI MC Reset Warm (run)": {
337        "start": {
338            "rest": "^1$",
339            "chassis": "^On$",
340            "operating_system": "^Standby|BootComplete$",
341            "host": "^Running$",
342            "os_ping": "^1$",
343            "os_login": "^1$",
344            "os_run_cmd": "^1$"
345        },
346        "end": {
347            "rest": "^1$",
348            "chassis": "^On$",
349            "operating_system": "^Standby|BootComplete$",
350            "host": "^Running$",
351            "os_ping": "^1$",
352            "os_login": "^1$",
353            "os_run_cmd": "^1$"
354        },
355        "bmc_reboot": 1,
356        "method_type": "keyword",
357        "method": "Run External IPMI Standard Command  mc reset warm -N 10 -R 1 ; Printn",
358        "lib_file_path": "ipmi_client.robot:gen_print.py"
359    },
360    # Initiate an mc reset warm using the IPMI interface while chassis is
361    # powered off.
362    "IPMI MC Reset Warm (off)": {
363        "start": {
364            "rest": "^1$",
365            "chassis": "^Off$"
366        },
367        "end": {
368            "rest": "^1$",
369            "chassis": "^Off$",
370            "operating_system": "^Inactive$",
371            "host": "^Off$"
372        },
373        "bmc_reboot": 1,
374        "method_type": "keyword",
375        "method": "Run External IPMI Standard Command  mc reset warm -N 10 -R 1 ; Printn",
376        "lib_file_path": "ipmi_client.robot:gen_print.py"
377    },
378    # Initiate an mc reset cold using the IPMI interface while chassis is
379    # powered on.
380    "IPMI MC Reset Cold (run)": {
381        "start": {
382            "rest": "^1$",
383            "chassis": "^On$",
384            "operating_system": "^Standby|BootComplete$",
385            "host": "^Running$",
386            "os_ping": "^1$",
387            "os_login": "^1$",
388            "os_run_cmd": "^1$"
389        },
390        "end": {
391            "rest": "^1$",
392            "chassis": "^On$",
393            "operating_system": "^Standby|BootComplete$",
394            "host": "^Running$",
395            "os_ping": "^1$",
396            "os_login": "^1$",
397            "os_run_cmd": "^1$"
398        },
399        "bmc_reboot": 1,
400        "method_type": "keyword",
401        "method": "Run External IPMI Standard Command  mc reset cold -N 10 -R 1 ; Printn",
402        "lib_file_path": "ipmi_client.robot:gen_print.py"
403    },
404    # Initiate an mc reset cold using the IPMI interface while chassis is
405    # powered off.
406    "IPMI MC Reset Cold (off)": {
407        "start": {
408            "rest": "^1$",
409            "chassis": "^Off$"
410        },
411        "end": {
412            "rest": "^1$",
413            "chassis": "^Off$",
414            "operating_system": "^Inactive$",
415            "host": "^Off$"
416        },
417        "bmc_reboot": 1,
418        "method_type": "keyword",
419        "method": "Run External IPMI Standard Command  mc reset cold -N 10 -R 1 ; Printn",
420        "lib_file_path": "ipmi_client.robot:gen_print.py"
421    },
422    # Initiate an mc reset warm using the IPMI standard interface while chassis
423    # is powered on.
424    "IPMI Std MC Reset Warm (run)": {
425        "start": {
426            "rest": "^1$",
427            "chassis": "^On$",
428            "operating_system": "^Standby|BootComplete$",
429            "host": "^Running$",
430            "os_ping": "^1$",
431            "os_login": "^1$",
432            "os_run_cmd": "^1$"
433        },
434        "end": {
435            "rest": "^1$",
436            "chassis": "^On$",
437            "operating_system": "^Standby|BootComplete$",
438            "host": "^Running$",
439            "os_ping": "^1$",
440            "os_login": "^1$",
441            "os_run_cmd": "^1$"
442        },
443        "bmc_reboot": 1,
444        "method_type": "keyword",
445        "method": "Run IPMI Standard Command  mc reset warm -N 10 -R 1 ; Printn",
446        "lib_file_path": "ipmi_client.robot:gen_print.py"
447    },
448    # Initiate an mc reset warm using the IPMI standard interface while chassis
449    # is powered off.
450    "IPMI Std MC Reset Warm (off)": {
451        "start": {
452            "rest": "^1$",
453            "chassis": "^Off$"
454        },
455        "end": {
456            "rest": "^1$",
457            "chassis": "^Off$",
458            "operating_system": "^Inactive$",
459            "host": "^Off$"
460        },
461        "bmc_reboot": 1,
462        "method_type": "keyword",
463        "method": "Run IPMI Standard Command  mc reset warm -N 10 -R 1 ; Printn",
464        "lib_file_path": "ipmi_client.robot:gen_print.py"
465    },
466    # Initiate an mc reset cold using the IPMI standard interface while chassis
467    # is powered on.
468    "IPMI Std MC Reset Cold (run)": {
469        "start": {
470            "rest": "^1$",
471            "chassis": "^On$",
472            "operating_system": "^Standby|BootComplete$",
473            "host": "^Running$",
474            "os_ping": "^1$",
475            "os_login": "^1$",
476            "os_run_cmd": "^1$"
477        },
478        "end": {
479            "rest": "^1$",
480            "chassis": "^On$",
481            "operating_system": "^Standby|BootComplete$",
482            "host": "^Running$",
483            "os_ping": "^1$",
484            "os_login": "^1$",
485            "os_run_cmd": "^1$"
486        },
487        "bmc_reboot": 1,
488        "method_type": "keyword",
489        "method": "Run IPMI Standard Command  mc reset cold -N 10 -R 1 ; Printn",
490        "lib_file_path": "ipmi_client.robot:gen_print.py"
491    },
492    # Initiate an mc reset cold using the IPMI standard interface while chassis
493    # is powered off.
494    "IPMI Std MC Reset Cold (off)": {
495        "start": {
496            "rest": "^1$",
497            "chassis": "^Off$"
498        },
499        "end": {
500            "rest": "^1$",
501            "chassis": "^Off$",
502            "operating_system": "^Inactive$",
503            "host": "^Off$"
504        },
505        "bmc_reboot": 1,
506        "method_type": "keyword",
507        "method": "Run IPMI Standard Command  mc reset cold -N 10 -R 1 ; Printn",
508        "lib_file_path": "ipmi_client.robot:gen_print.py"
509    },
510
511    # Host OS re-boot boot types:
512
513    # Initiate a power cycle using the IPMI interface (equivalent to off/on).
514    "IPMI Power Cycle": {
515        "start": {
516            "rest": "^1$",
517            "chassis": "^On$",
518            "operating_system": "^Standby|BootComplete$",
519            "host": "^Running$",
520            "os_ping": "^1$",
521            "os_login": "^1$",
522            "os_run_cmd": "^1$"
523        },
524        "end": {
525            "rest": "^1$",
526            "chassis": "^On$",
527            "operating_system": "^Standby|BootComplete$",
528            "host": "^Running$",
529            "os_ping": "^1$",
530            "os_login": "^1$",
531            "os_run_cmd": "^1$"
532        },
533        "bmc_reboot": 0,
534        "method_type": "keyword",
535        "method": "Run External IPMI Standard Command  power cycle -N 10 -R 1",
536        "lib_file_path": "ipmi_client.robot"
537    },
538    # Initiate a power reset using the IPMI interface (equivalent to off/on).
539    # Functionally equivalent to "IPMI Power Cycle".
540    "IPMI Power Reset": {
541        "start": {
542            "rest": "^1$",
543            "chassis": "^On$",
544            "operating_system": "^Standby|BootComplete$",
545            "host": "^Running$",
546            "os_ping": "^1$",
547            "os_login": "^1$",
548            "os_run_cmd": "^1$"
549        },
550        "end": {
551            "rest": "^1$",
552            "chassis": "^On$",
553            "operating_system": "^Standby|BootComplete$",
554            "host": "^Running$",
555            "os_ping": "^1$",
556            "os_login": "^1$",
557            "os_run_cmd": "^1$"
558        },
559        "bmc_reboot": 0,
560        "method_type": "keyword",
561        "method": "Run External IPMI Standard Command  power reset -N 10 -R 1",
562        "lib_file_path": "ipmi_client.robot"
563    },
564    # Do an auto reboot by setting auto reboot to "yes" and going to quiesce state.
565    "Auto Reboot": {
566        "start": {
567            "rest": "^1$",
568            "chassis": "^On$",
569            "operating_system": "^Standby|BootComplete$",
570            "host": "^Running$",
571            "os_ping": "^1$",
572            "os_login": "^1$",
573            "os_run_cmd": "^1$"
574        },
575        "end": {
576            "rest": "^1$",
577            "chassis": "^On$",
578            "operating_system": "^Standby|BootComplete$",
579            "host": "^Running$",
580            "os_ping": "^1$",
581            "os_login": "^1$",
582            "os_run_cmd": "^1$"
583        },
584        "bmc_reboot": 0,
585        "method_type": "keyword",
586        "method": "utils.Initiate Auto Reboot  1000",
587        "lib_file_path": "utils.robot"
588    },
589    # Run a "reboot" command on the OS_HOST.
590    "Host Reboot": {
591        "start": {
592            "rest": "^1$",
593            "chassis": "^On$",
594            "operating_system": "^Standby|BootComplete$",
595            "host": "^Running$",
596            "os_ping": "^1$",
597            "os_login": "^1$",
598            "os_run_cmd": "^1$"
599        },
600        "end": {
601            "rest": "^1$",
602            "chassis": "^On$",
603            "operating_system": "^Standby|BootComplete$",
604            "host": "^Running$",
605            "os_ping": "^1$",
606            "os_login": "^1$",
607            "os_run_cmd": "^1$"
608        },
609        "bmc_reboot": 0,
610        "method_type": "keyword",
611        "method": "utils.Initiate OS Host Reboot",
612        "lib_file_path": "utils.robot"
613    },
614    # Initiate host reboot using the Redfish API interface (GracefulRestart).
615    "RF SYS GracefulRestart": {
616        "start": {
617            "rest": "^1$",
618            "chassis": "^On$",
619            "operating_system": "^Standby|BootComplete$",
620            "host": "^Running$",
621            "os_ping": "^1$",
622            "os_login": "^1$",
623            "os_run_cmd": "^1$"
624        },
625        "end": {
626            "rest": "^1$",
627            "chassis": "^On$",
628            "operating_system": "^Standby|BootComplete$",
629            "host": "^Running$",
630            "os_ping": "^1$",
631            "os_login": "^1$",
632            "os_run_cmd": "^1$"
633        },
634        "bmc_reboot": 0,
635        "method_type": "keyword",
636        "method": "Redfish Power Operation  GracefulRestart",
637        "lib_file_path": "bmc_redfish_utils.robot"
638    },
639    # Initiate host reboot using the Redfish API interface (ForceRestart).
640    "RF SYS ForceRestart": {
641        "start": {
642            "rest": "^1$",
643            "chassis": "^On$",
644            "operating_system": "^Standby|BootComplete$",
645            "host": "^Running$",
646            "os_ping": "^1$",
647            "os_login": "^1$",
648            "os_run_cmd": "^1$"
649        },
650        "end": {
651            "rest": "^1$",
652            "chassis": "^On$",
653            "operating_system": "^Standby|BootComplete$",
654            "host": "^Running$",
655            "os_ping": "^1$",
656            "os_login": "^1$",
657            "os_run_cmd": "^1$"
658        },
659        "bmc_reboot": 0,
660        "method_type": "keyword",
661        "method": "Redfish Power Operation  ForceRestart",
662        "lib_file_path": "bmc_redfish_utils.robot"
663    },
664    # OPAL Terminate Immediate.
665    "OPAL TI": {
666        "start": {
667            "rest": "^1$",
668            "chassis": "^On$",
669            "operating_system": "^Standby|BootComplete$",
670            "host": "^Running$",
671            "os_ping": "^1$",
672            "os_login": "^1$",
673            "os_run_cmd": "^1$"
674        },
675        "end": {
676            "rest": "^1$",
677            "chassis": "^On$",
678            "operating_system": "^Standby|BootComplete$",
679            "host": "^Running$",
680            "os_ping": "^1$",
681            "os_login": "^1$",
682            "os_run_cmd": "^1$"
683        },
684        "bmc_reboot": 0,
685        "method_type": "keyword",
686        "method": "Inject OPAL TI",
687        "lib_file_path": "open_power_utils.robot"
688    }
689}
690