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            "boot_progress": "^Off|Unspecified$",
10            "host": "^Off$"
11        },
12        "end": {
13            "rest": "^1$",
14            "chassis": "^On$",
15            "boot_progress": "^FW Progress, Starting OS|OSStart$",
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": "Initiate Host Boot  wait=${0}",
24        "lib_file_path": "state_manager.robot"
25    },
26    # Initiate a power on using the IPMI interface.
27    "IPMI Power On": {
28        "start": {
29            "rest": "^1$",
30            "chassis": "^Off$",
31            "boot_progress": "^Off|Unspecified$",
32            "host": "^Off$"
33        },
34        "end": {
35            "rest": "^1$",
36            "chassis": "^On$",
37            "boot_progress": "^FW Progress, Starting OS|OSStart$",
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",
46        "lib_file_path": "ipmi_client.robot"
47    },
48
49    # Power off boot types:
50
51    # Initiate a power off using the REST API interface.
52    "REST Power Off": {
53        "start": {
54            "rest": "^1$",
55            "chassis": "^On$"
56        },
57        "end": {
58            "rest": "^1$",
59            "chassis": "^Off$",
60            "boot_progress": "^Off|Unspecified$",
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": "Initiate Host PowerOff  wait=${0}",
69        "lib_file_path": "state_manager.robot"
70    },
71    # Initiate a hard power off using the REST API interface.
72    "REST Hard Power Off": {
73        "start": {
74            "rest": "^1$",
75            "chassis": "^On$"
76        },
77        "end": {
78            "rest": "^1$",
79            "chassis": "^Off$",
80            "boot_progress": "^Off|Unspecified$",
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": "Hard Power Off  wait=${0}",
89        "lib_file_path": "state_manager.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            "boot_progress": "^Off|Unspecified$",
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",
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            "boot_progress": "^Off|Unspecified$",
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",
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            "boot_progress": "^FW Progress, Starting OS|OSStart$",
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            "boot_progress": "^Off|Unspecified$",
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            "boot_progress": "^FW Progress, Starting OS|OSStart$",
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            "boot_progress": "^FW Progress, Starting OS|OSStart$",
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            "boot_progress": "^FW Progress, Starting OS|OSStart$",
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            "boot_progress": "^FW Progress, Starting OS|OSStart$",
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            "boot_progress": "^FW Progress, Starting OS|OSStart$",
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            "boot_progress": "^FW Progress, Starting OS|OSStart$",
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 "reboot" on the OBMC while host is off.
235    "OBMC Reboot (off)": {
236        "start": {
237            "rest": "^1$",
238            "chassis": "^Off$"
239        },
240        "end": {
241            "rest": "^1$",
242            "chassis": "^Off$",
243            "boot_progress": "^Off|Unspecified$",
244            "host": "^Off$"
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    "REST OBMC Reboot (off)": {
252        "start": {
253            "rest": "^1$",
254            "chassis": "^Off$"
255        },
256        "end": {
257            "rest": "^1$",
258            "chassis": "^Off$",
259            "boot_progress": "^Off|Unspecified$",
260            "host": "^Off$"
261        },
262        "bmc_reboot": 1,
263        "method_type": "keyword",
264        "method": "Initiate BMC Reboot  wait=${0}",
265        "lib_file_path": "state_manager.robot"
266    },
267    # Cycle AC via the PDU while host is off.
268    "PDU AC Cycle (run)": {
269        "start": {
270            "rest": "^1$",
271            "chassis": "^On$",
272            "boot_progress": "^FW Progress, Starting OS|OSStart$",
273            "host": "^Running$",
274            "os_ping": "^1$",
275            "os_login": "^1$",
276            "os_run_cmd": "^1$"
277        },
278        "end": {
279            "rest": "^1$",
280            "chassis": "^On$",
281            "boot_progress": "^FW Progress, Starting OS|OSStart$",
282            "host": "^Running$",
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            "rest": "^1$",
296            "chassis": "^Off$"
297        },
298        "end": {
299            "rest": "^1$",
300            "chassis": "^Off$",
301            "boot_progress": "^Off|Unspecified$",
302            "host": "^Off$"
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            "rest": "^1$",
314            "chassis": "^On$",
315            "boot_progress": "^FW Progress, Starting OS|OSStart$",
316            "host": "^Running$",
317            "os_ping": "^1$",
318            "os_login": "^1$",
319            "os_run_cmd": "^1$"
320        },
321        "end": {
322            "rest": "^1$",
323            "chassis": "^On$",
324            "boot_progress": "^FW Progress, Starting OS|OSStart$",
325            "host": "^Running$",
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 ; 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            "rest": "^1$",
340            "chassis": "^Off$"
341        },
342        "end": {
343            "rest": "^1$",
344            "chassis": "^Off$",
345            "boot_progress": "^Off|Unspecified$",
346            "host": "^Off$"
347        },
348        "bmc_reboot": 1,
349        "method_type": "keyword",
350        "method": "Run External IPMI Standard Command  mc reset warm ; Printn",
351        "lib_file_path": "ipmi_client.robot:gen_print.py"
352    },
353
354    # Host OS re-boot boot types:
355
356    # Initiate a power cycle using the IPMI interface (equivalent to off/on).
357    "IPMI Power Cycle": {
358        "start": {
359            "rest": "^1$",
360            "chassis": "^On$",
361            "boot_progress": "^FW Progress, Starting OS|OSStart$",
362            "host": "^Running$",
363            "os_ping": "^1$",
364            "os_login": "^1$",
365            "os_run_cmd": "^1$"
366        },
367        "end": {
368            "rest": "^1$",
369            "chassis": "^On$",
370            "boot_progress": "^FW Progress, Starting OS|OSStart$",
371            "host": "^Running$",
372            "os_ping": "^1$",
373            "os_login": "^1$",
374            "os_run_cmd": "^1$"
375        },
376        "bmc_reboot": 0,
377        "method_type": "keyword",
378        "method": "Run External IPMI Standard Command  power cycle",
379        "lib_file_path": "ipmi_client.robot"
380    },
381    # Initiate a power reset using the IPMI interface (equivalent to off/on).
382    # Functionally equivalent to "IPMI Power Cycle".
383    "IPMI Power Reset": {
384        "start": {
385            "rest": "^1$",
386            "chassis": "^On$",
387            "boot_progress": "^FW Progress, Starting OS|OSStart$",
388            "host": "^Running$",
389            "os_ping": "^1$",
390            "os_login": "^1$",
391            "os_run_cmd": "^1$"
392        },
393        "end": {
394            "rest": "^1$",
395            "chassis": "^On$",
396            "boot_progress": "^FW Progress, Starting OS|OSStart$",
397            "host": "^Running$",
398            "os_ping": "^1$",
399            "os_login": "^1$",
400            "os_run_cmd": "^1$"
401        },
402        "bmc_reboot": 0,
403        "method_type": "keyword",
404        "method": "Run External IPMI Standard Command  power reset",
405        "lib_file_path": "ipmi_client.robot"
406    },
407    # Do an auto reboot by setting auto reboot to "yes" and going to quiesce state.
408    "Auto Reboot": {
409        "start": {
410            "rest": "^1$",
411            "chassis": "^On$",
412            "boot_progress": "^FW Progress, Starting OS|OSStart$",
413            "host": "^Running$",
414            "os_ping": "^1$",
415            "os_login": "^1$",
416            "os_run_cmd": "^1$"
417        },
418        "end": {
419            "rest": "^1$",
420            "chassis": "^On$",
421            "boot_progress": "^FW Progress, Starting OS|OSStart$",
422            "host": "^Running$",
423            "os_ping": "^1$",
424            "os_login": "^1$",
425            "os_run_cmd": "^1$"
426        },
427        "bmc_reboot": 0,
428        "method_type": "keyword",
429        "method": "utils.Initiate Auto Reboot",
430        "lib_file_path": "utils.robot"
431    },
432    # Run a "reboot" command on the OS_HOST.
433    "Host Reboot": {
434        "start": {
435            "rest": "^1$",
436            "chassis": "^On$",
437            "boot_progress": "^FW Progress, Starting OS|OSStart$",
438            "host": "^Running$",
439            "os_ping": "^1$",
440            "os_login": "^1$",
441            "os_run_cmd": "^1$"
442        },
443        "end": {
444            "rest": "^1$",
445            "chassis": "^On$",
446            "boot_progress": "^FW Progress, Starting OS|OSStart$",
447            "host": "^Running$",
448            "os_ping": "^1$",
449            "os_login": "^1$",
450            "os_run_cmd": "^1$"
451        },
452        "bmc_reboot": 0,
453        "method_type": "keyword",
454        "method": "utils.Initiate OS Host Reboot",
455        "lib_file_path": "utils.robot"
456    }
457}
458