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$",
10            "host": "^Off$"
11        },
12        "end": {
13            "rest": "^1$",
14            "chassis": "^On$",
15            "boot_progress": "^FW Progress, Starting OS$",
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$",
32            "host": "^Off$"
33        },
34        "end": {
35            "rest": "^1$",
36            "chassis": "^On$",
37            "boot_progress": "^FW Progress, Starting OS$",
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$",
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 power off using the IPMI interface.
72    "IPMI Power Off": {
73        "start": {
74            "rest": "^1$",
75            "chassis": "^On$"
76        },
77        "end": {
78            "rest": "^1$",
79            "chassis": "^Off$",
80            "boot_progress": "^Off$",
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": "Run External IPMI Standard Command  power off",
89        "lib_file_path": "ipmi_client.robot"
90    },
91    # Initiate a power soft using the IPMI interface.
92    "IPMI Power Soft": {
93        "start": {
94            "rest": "^1$",
95            "chassis": "^On$"
96        },
97        "end": {
98            "rest": "^1$",
99            "chassis": "^Off$",
100            "boot_progress": "^Off$",
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 soft",
109        "lib_file_path": "ipmi_client.robot"
110    },
111    # Run a "shutdown" command on the OS_HOST.
112    "Host Power Off": {
113        "start": {
114            "rest": "^1$",
115            "chassis": "^On$",
116            "boot_progress": "^FW Progress, Starting OS$",
117            "host": "^Running$",
118            "os_ping": "^1$",
119            "os_login": "^1$",
120            "os_run_cmd": "^1$"
121        },
122        "end": {
123            "rest": "^1$",
124            "chassis": "^Off$",
125            "boot_progress": "^Off$",
126            "host": "^Off$",
127            "os_ping": "^0$",
128            "os_login": "^0$",
129            "os_run_cmd": "^0$"
130        },
131        "bmc_reboot": 0,
132        "method_type": "keyword",
133        "method": "utils.Initiate OS Host Power Off",
134        "lib_file_path": "utils.robot"
135    },
136
137    # OBMC re-boot boot types:
138
139    # APOR - Auto Power On Restart - Note that this is functionally equivalent
140    # to 'PDU AC Cycle (run)'.
141    "APOR": {
142        "start": {
143            "rest": "^1$",
144            "chassis": "^On$",
145            "boot_progress": "^FW Progress, Starting OS$",
146            "host": "^Running$",
147            "os_ping": "^1$",
148            "os_login": "^1$",
149            "os_run_cmd": "^1$"
150        },
151        "end": {
152            "rest": "^1$",
153            "chassis": "^On$",
154            "boot_progress": "^FW Progress, Starting OS$",
155            "host": "^Running$",
156            "os_ping": "^1$",
157            "os_login": "^1$",
158            "os_run_cmd": "^1$"
159        },
160        "bmc_reboot": 1,
161        "method_type": "keyword",
162        "method": "Set Global Variable  ${PDU_TYPE}  pdu ; Set Global Variable  ${PDU_IP}  ${PDU_HOST} ; PDU Power Cycle",
163        "lib_file_path": "pdu/pdu.robot:pdu/synaccess.robot"
164    },
165    # Run a "reboot" on the OBMC while host is running.
166    "OBMC Reboot (run)": {
167        "start": {
168            "rest": "^1$",
169            "chassis": "^On$",
170            "boot_progress": "^FW Progress, Starting OS$",
171            "host": "^Running$",
172            "os_ping": "^1$",
173            "os_login": "^1$",
174            "os_run_cmd": "^1$"
175        },
176        "end": {
177            "rest": "^1$",
178            "chassis": "^On$",
179            "boot_progress": "^FW Progress, Starting OS$",
180            "host": "^Running$",
181            "os_ping": "^1$",
182            "os_login": "^1$",
183            "os_run_cmd": "^1$"
184        },
185        "bmc_reboot": 1,
186        "method_type": "keyword",
187        "method": "BMC Execute Command  /sbin/reboot  fork=${1}"
188    },
189    # Run a "reboot" on the OBMC while host is off.
190    "OBMC Reboot (off)": {
191        "start": {
192            "rest": "^1$",
193            "chassis": "^Off$"
194        },
195        "end": {
196            "rest": "^1$",
197            "chassis": "^Off$",
198            "boot_progress": "^Off$",
199            "host": "^Off$"
200        },
201        "bmc_reboot": 1,
202        "method_type": "keyword",
203        "method": "BMC Execute Command  /sbin/reboot  fork=${1}"
204    },
205    # Cycle AC via the PDU while host is off.
206    "PDU AC Cycle (run)": {
207        "start": {
208            "rest": "^1$",
209            "chassis": "^On$",
210            "boot_progress": "^FW Progress, Starting OS$",
211            "host": "^Running$",
212            "os_ping": "^1$",
213            "os_login": "^1$",
214            "os_run_cmd": "^1$"
215        },
216        "end": {
217            "rest": "^1$",
218            "chassis": "^On$",
219            "boot_progress": "^FW Progress, Starting OS$",
220            "host": "^Running$",
221            "os_ping": "^1$",
222            "os_login": "^1$",
223            "os_run_cmd": "^1$"
224        },
225        "bmc_reboot": 1,
226        "method_type": "keyword",
227        "method": "Set Global Variable  ${PDU_TYPE}  pdu ; Set Global Variable  ${PDU_IP}  ${PDU_HOST} ; PDU Power Cycle",
228        "lib_file_path": "pdu/pdu.robot:pdu/synaccess.robot"
229    },
230    # Cycle AC via the PDU while host is off.
231    "PDU AC Cycle (off)": {
232        "start": {
233            "rest": "^1$",
234            "chassis": "^Off$"
235        },
236        "end": {
237            "rest": "^1$",
238            "chassis": "^Off$",
239            "boot_progress": "^Off$",
240            "host": "^Off$"
241        },
242        "bmc_reboot": 1,
243        "method_type": "keyword",
244        "method": "Set Global Variable  ${PDU_TYPE}  pdu ; Set Global Variable  ${PDU_IP}  ${PDU_HOST} ; PDU Power Cycle",
245        "lib_file_path": "pdu/pdu.robot:pdu/synaccess.robot"
246    },
247    # Initiate an mc reset warm using the IPMI interface while chassis is
248    # powered on.
249    "IPMI MC Reset Warm (run)": {
250        "start": {
251            "rest": "^1$",
252            "chassis": "^On$",
253            "boot_progress": "^FW Progress, Starting OS$",
254            "host": "^Running$",
255            "os_ping": "^1$",
256            "os_login": "^1$",
257            "os_run_cmd": "^1$"
258        },
259        "end": {
260            "rest": "^1$",
261            "chassis": "^On$",
262            "boot_progress": "^FW Progress, Starting OS$",
263            "host": "^Running$",
264            "os_ping": "^1$",
265            "os_login": "^1$",
266            "os_run_cmd": "^1$"
267        },
268        "bmc_reboot": 1,
269        "method_type": "keyword",
270        "method": "Run External IPMI Standard Command  mc reset warm ; Printn",
271        "lib_file_path": "ipmi_client.robot:gen_print.py"
272    },
273    # Initiate an mc reset warm using the IPMI interface while chassis is
274    # powered off.
275    "IPMI MC Reset Warm (off)": {
276        "start": {
277            "rest": "^1$",
278            "chassis": "^Off$"
279        },
280        "end": {
281            "rest": "^1$",
282            "chassis": "^Off$",
283            "boot_progress": "^Off$",
284            "host": "^Off$"
285        },
286        "bmc_reboot": 1,
287        "method_type": "keyword",
288        "method": "Run External IPMI Standard Command  mc reset warm ; Printn",
289        "lib_file_path": "ipmi_client.robot:gen_print.py"
290    },
291
292    # Host OS re-boot boot types:
293
294    # Initiate a power cycle using the IPMI interface (equivalent to off/on).
295    "IPMI Power Cycle": {
296        "start": {
297            "rest": "^1$",
298            "chassis": "^On$",
299            "boot_progress": "^FW Progress, Starting OS$",
300            "host": "^Running$",
301            "os_ping": "^1$",
302            "os_login": "^1$",
303            "os_run_cmd": "^1$"
304        },
305        "end": {
306            "rest": "^1$",
307            "chassis": "^On$",
308            "boot_progress": "^FW Progress, Starting OS$",
309            "host": "^Running$",
310            "os_ping": "^1$",
311            "os_login": "^1$",
312            "os_run_cmd": "^1$"
313        },
314        "bmc_reboot": 0,
315        "method_type": "keyword",
316        "method": "Run External IPMI Standard Command  power cycle",
317        "lib_file_path": "ipmi_client.robot"
318    },
319    # Initiate a power reset using the IPMI interface (equivalent to off/on).
320    # Functionally equivalent to "IPMI Power Cycle".
321    "IPMI Power Reset": {
322        "start": {
323            "rest": "^1$",
324            "chassis": "^On$",
325            "boot_progress": "^FW Progress, Starting OS$",
326            "host": "^Running$",
327            "os_ping": "^1$",
328            "os_login": "^1$",
329            "os_run_cmd": "^1$"
330        },
331        "end": {
332            "rest": "^1$",
333            "chassis": "^On$",
334            "boot_progress": "^FW Progress, Starting OS$",
335            "host": "^Running$",
336            "os_ping": "^1$",
337            "os_login": "^1$",
338            "os_run_cmd": "^1$"
339        },
340        "bmc_reboot": 0,
341        "method_type": "keyword",
342        "method": "Run External IPMI Standard Command  power reset",
343        "lib_file_path": "ipmi_client.robot"
344    },
345    # Do an auto reboot by setting auto reboot to "yes" and going to quiesce state.
346    "Auto Reboot": {
347        "start": {
348            "rest": "^1$",
349            "chassis": "^On$",
350            "boot_progress": "^FW Progress, Starting OS$",
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            "boot_progress": "^FW Progress, Starting OS$",
360            "host": "^Running$",
361            "os_ping": "^1$",
362            "os_login": "^1$",
363            "os_run_cmd": "^1$"
364        },
365        "bmc_reboot": 0,
366        "method_type": "keyword",
367        "method": "utils.Initiate Auto Reboot",
368        "lib_file_path": "utils.robot"
369    },
370    # Run a "reboot" command on the OS_HOST.
371    "Host Reboot": {
372        "start": {
373            "rest": "^1$",
374            "chassis": "^On$",
375            "boot_progress": "^FW Progress, Starting OS$",
376            "host": "^Running$",
377            "os_ping": "^1$",
378            "os_login": "^1$",
379            "os_run_cmd": "^1$"
380        },
381        "end": {
382            "rest": "^1$",
383            "chassis": "^On$",
384            "boot_progress": "^FW Progress, Starting OS$",
385            "host": "^Running$",
386            "os_ping": "^1$",
387            "os_login": "^1$",
388            "os_run_cmd": "^1$"
389        },
390        "bmc_reboot": 0,
391        "method_type": "keyword",
392        "method": "utils.Initiate OS Host Reboot",
393        "lib_file_path": "utils.robot"
394    }
395}
396