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