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 "reboot" on the OBMC while host is off.
210    "OBMC Reboot (off)": {
211        "start": {
212            "rest": "^1$",
213            "chassis": "^Off$"
214        },
215        "end": {
216            "rest": "^1$",
217            "chassis": "^Off$",
218            "boot_progress": "^Off|Unspecified$",
219            "host": "^Off$"
220        },
221        "bmc_reboot": 1,
222        "method_type": "keyword",
223        "method": "BMC Execute Command  /sbin/reboot  fork=${1}"
224    },
225    # Cycle AC via the PDU while host is off.
226    "PDU AC Cycle (run)": {
227        "start": {
228            "rest": "^1$",
229            "chassis": "^On$",
230            "boot_progress": "^FW Progress, Starting OS|OSStart$",
231            "host": "^Running$",
232            "os_ping": "^1$",
233            "os_login": "^1$",
234            "os_run_cmd": "^1$"
235        },
236        "end": {
237            "rest": "^1$",
238            "chassis": "^On$",
239            "boot_progress": "^FW Progress, Starting OS|OSStart$",
240            "host": "^Running$",
241            "os_ping": "^1$",
242            "os_login": "^1$",
243            "os_run_cmd": "^1$"
244        },
245        "bmc_reboot": 1,
246        "method_type": "keyword",
247        "method": "Set Global Variable  ${PDU_TYPE}  pdu ; Set Global Variable  ${PDU_IP}  ${PDU_HOST} ; PDU Power Cycle",
248        "lib_file_path": "pdu/pdu.robot:pdu/synaccess.robot"
249    },
250    # Cycle AC via the PDU while host is off.
251    "PDU AC Cycle (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": "Set Global Variable  ${PDU_TYPE}  pdu ; Set Global Variable  ${PDU_IP}  ${PDU_HOST} ; PDU Power Cycle",
265        "lib_file_path": "pdu/pdu.robot:pdu/synaccess.robot"
266    },
267    # Initiate an mc reset warm using the IPMI interface while chassis is
268    # powered on.
269    "IPMI MC Reset Warm (run)": {
270        "start": {
271            "rest": "^1$",
272            "chassis": "^On$",
273            "boot_progress": "^FW Progress, Starting OS|OSStart$",
274            "host": "^Running$",
275            "os_ping": "^1$",
276            "os_login": "^1$",
277            "os_run_cmd": "^1$"
278        },
279        "end": {
280            "rest": "^1$",
281            "chassis": "^On$",
282            "boot_progress": "^FW Progress, Starting OS|OSStart$",
283            "host": "^Running$",
284            "os_ping": "^1$",
285            "os_login": "^1$",
286            "os_run_cmd": "^1$"
287        },
288        "bmc_reboot": 1,
289        "method_type": "keyword",
290        "method": "Run External IPMI Standard Command  mc reset warm ; Printn",
291        "lib_file_path": "ipmi_client.robot:gen_print.py"
292    },
293    # Initiate an mc reset warm using the IPMI interface while chassis is
294    # powered off.
295    "IPMI MC Reset Warm (off)": {
296        "start": {
297            "rest": "^1$",
298            "chassis": "^Off$"
299        },
300        "end": {
301            "rest": "^1$",
302            "chassis": "^Off$",
303            "boot_progress": "^Off|Unspecified$",
304            "host": "^Off$"
305        },
306        "bmc_reboot": 1,
307        "method_type": "keyword",
308        "method": "Run External IPMI Standard Command  mc reset warm ; Printn",
309        "lib_file_path": "ipmi_client.robot:gen_print.py"
310    },
311
312    # Host OS re-boot boot types:
313
314    # Initiate a power cycle using the IPMI interface (equivalent to off/on).
315    "IPMI Power Cycle": {
316        "start": {
317            "rest": "^1$",
318            "chassis": "^On$",
319            "boot_progress": "^FW Progress, Starting OS|OSStart$",
320            "host": "^Running$",
321            "os_ping": "^1$",
322            "os_login": "^1$",
323            "os_run_cmd": "^1$"
324        },
325        "end": {
326            "rest": "^1$",
327            "chassis": "^On$",
328            "boot_progress": "^FW Progress, Starting OS|OSStart$",
329            "host": "^Running$",
330            "os_ping": "^1$",
331            "os_login": "^1$",
332            "os_run_cmd": "^1$"
333        },
334        "bmc_reboot": 0,
335        "method_type": "keyword",
336        "method": "Run External IPMI Standard Command  power cycle",
337        "lib_file_path": "ipmi_client.robot"
338    },
339    # Initiate a power reset using the IPMI interface (equivalent to off/on).
340    # Functionally equivalent to "IPMI Power Cycle".
341    "IPMI Power Reset": {
342        "start": {
343            "rest": "^1$",
344            "chassis": "^On$",
345            "boot_progress": "^FW Progress, Starting OS|OSStart$",
346            "host": "^Running$",
347            "os_ping": "^1$",
348            "os_login": "^1$",
349            "os_run_cmd": "^1$"
350        },
351        "end": {
352            "rest": "^1$",
353            "chassis": "^On$",
354            "boot_progress": "^FW Progress, Starting OS|OSStart$",
355            "host": "^Running$",
356            "os_ping": "^1$",
357            "os_login": "^1$",
358            "os_run_cmd": "^1$"
359        },
360        "bmc_reboot": 0,
361        "method_type": "keyword",
362        "method": "Run External IPMI Standard Command  power reset",
363        "lib_file_path": "ipmi_client.robot"
364    },
365    # Do an auto reboot by setting auto reboot to "yes" and going to quiesce state.
366    "Auto Reboot": {
367        "start": {
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        "end": {
377            "rest": "^1$",
378            "chassis": "^On$",
379            "boot_progress": "^FW Progress, Starting OS|OSStart$",
380            "host": "^Running$",
381            "os_ping": "^1$",
382            "os_login": "^1$",
383            "os_run_cmd": "^1$"
384        },
385        "bmc_reboot": 0,
386        "method_type": "keyword",
387        "method": "utils.Initiate Auto Reboot",
388        "lib_file_path": "utils.robot"
389    },
390    # Run a "reboot" command on the OS_HOST.
391    "Host Reboot": {
392        "start": {
393            "rest": "^1$",
394            "chassis": "^On$",
395            "boot_progress": "^FW Progress, Starting OS|OSStart$",
396            "host": "^Running$",
397            "os_ping": "^1$",
398            "os_login": "^1$",
399            "os_run_cmd": "^1$"
400        },
401        "end": {
402            "rest": "^1$",
403            "chassis": "^On$",
404            "boot_progress": "^FW Progress, Starting OS|OSStart$",
405            "host": "^Running$",
406            "os_ping": "^1$",
407            "os_login": "^1$",
408            "os_run_cmd": "^1$"
409        },
410        "bmc_reboot": 0,
411        "method_type": "keyword",
412        "method": "utils.Initiate OS Host Reboot",
413        "lib_file_path": "utils.robot"
414    }
415}
416