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