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# TO-DO: There is a known product code bug where boot_progress does not go to
10# 'Off'.  Once that bug is fixed, this code may be commented back in.
11#           "boot_progress": "^Off$",
12            "host": "^Off$"
13        },
14        "end": {
15            "rest": "^1$",
16            "chassis": "^On$",
17#           "boot_progress": "^FW Progress, Starting OS|OSStart$",
18            "host": "^Running$",
19            "os_ping": "^1$",
20            "os_login": "^1$",
21            "os_run_cmd": "^1$"
22        },
23        "bmc_reboot": 0,
24        "method_type": "keyword",
25        "method": "Initiate Host Boot  wait=${0}",
26        "lib_file_path": "state_manager.robot"
27    },
28    # Initiate a power on using the IPMI interface.
29    "IPMI Power On": {
30        "start": {
31            "rest": "^1$",
32            "chassis": "^Off$",
33#           "boot_progress": "^Off$",
34            "host": "^Off$"
35        },
36        "end": {
37            "rest": "^1$",
38            "chassis": "^On$",
39#           "boot_progress": "^FW Progress, Starting OS|OSStart$",
40            "host": "^Running$",
41            "os_ping": "^1$",
42            "os_login": "^1$",
43            "os_run_cmd": "^1$"
44        },
45        "bmc_reboot": 0,
46        "method_type": "keyword",
47        "method": "Run External IPMI Standard Command  power on",
48        "lib_file_path": "ipmi_client.robot"
49    },
50
51    # Power off boot types:
52
53    # Initiate a power off using the REST API interface.
54    "REST Power Off": {
55        "start": {
56            "rest": "^1$",
57            "chassis": "^On$"
58        },
59        "end": {
60            "rest": "^1$",
61            "chassis": "^Off$",
62#           "boot_progress": "^Off$",
63            "host": "^Off$",
64            "os_ping": "^0$",
65            "os_login": "^0$",
66            "os_run_cmd": "^0$"
67        },
68        "bmc_reboot": 0,
69        "method_type": "keyword",
70        "method": "Initiate Host PowerOff  wait=${0}",
71        "lib_file_path": "state_manager.robot"
72    },
73    # Initiate a power off using the IPMI interface.
74    "IPMI Power Off": {
75        "start": {
76            "rest": "^1$",
77            "chassis": "^On$"
78        },
79        "end": {
80            "rest": "^1$",
81            "chassis": "^Off$",
82#           "boot_progress": "^Off$",
83            "host": "^Off$",
84            "os_ping": "^0$",
85            "os_login": "^0$",
86            "os_run_cmd": "^0$"
87        },
88        "bmc_reboot": 0,
89        "method_type": "keyword",
90        "method": "Run External IPMI Standard Command  power off",
91        "lib_file_path": "ipmi_client.robot"
92    },
93    # Initiate a power soft using the IPMI interface.
94    "IPMI Power Soft": {
95        "start": {
96            "rest": "^1$",
97            "chassis": "^On$"
98        },
99        "end": {
100            "rest": "^1$",
101            "chassis": "^Off$",
102#           "boot_progress": "^Off$",
103            "host": "^Off$",
104            "os_ping": "^0$",
105            "os_login": "^0$",
106            "os_run_cmd": "^0$"
107        },
108        "bmc_reboot": 0,
109        "method_type": "keyword",
110        "method": "Run External IPMI Standard Command  power soft",
111        "lib_file_path": "ipmi_client.robot"
112    },
113    # Run a "shutdown" command on the OS_HOST.
114    "Host Power Off": {
115        "start": {
116            "rest": "^1$",
117            "chassis": "^On$",
118#           "boot_progress": "^FW Progress, Starting OS|OSStart$",
119            "host": "^Running$",
120            "os_ping": "^1$",
121            "os_login": "^1$",
122            "os_run_cmd": "^1$"
123        },
124        "end": {
125            "rest": "^1$",
126            "chassis": "^Off$",
127#           "boot_progress": "^Off$",
128            "host": "^Off$",
129            "os_ping": "^0$",
130            "os_login": "^0$",
131            "os_run_cmd": "^0$"
132        },
133        "bmc_reboot": 0,
134        "method_type": "keyword",
135        "method": "utils.Initiate OS Host Power Off",
136        "lib_file_path": "utils.robot"
137    },
138
139    # OBMC re-boot boot types:
140
141    # APOR - Auto Power On Restart - Note that this is functionally equivalent
142    # to 'PDU AC Cycle (run)'.
143    "APOR": {
144        "start": {
145            "rest": "^1$",
146            "chassis": "^On$",
147#           "boot_progress": "^FW Progress, Starting OS|OSStart$",
148            "host": "^Running$",
149            "os_ping": "^1$",
150            "os_login": "^1$",
151            "os_run_cmd": "^1$"
152        },
153        "end": {
154            "rest": "^1$",
155            "chassis": "^On$",
156#           "boot_progress": "^FW Progress, Starting OS|OSStart$",
157            "host": "^Running$",
158            "os_ping": "^1$",
159            "os_login": "^1$",
160            "os_run_cmd": "^1$"
161        },
162        "bmc_reboot": 1,
163        "method_type": "keyword",
164        "method": "Set Global Variable  ${PDU_TYPE}  pdu ; Set Global Variable  ${PDU_IP}  ${PDU_HOST} ; PDU Power Cycle",
165        "lib_file_path": "pdu/pdu.robot:pdu/synaccess.robot"
166    },
167    # Run a "reboot" on the OBMC while host is running.
168    "OBMC Reboot (run)": {
169        "start": {
170            "rest": "^1$",
171            "chassis": "^On$",
172#           "boot_progress": "^FW Progress, Starting OS|OSStart$",
173            "host": "^Running$",
174            "os_ping": "^1$",
175            "os_login": "^1$",
176            "os_run_cmd": "^1$"
177        },
178        "end": {
179            "rest": "^1$",
180            "chassis": "^On$",
181#           "boot_progress": "^FW Progress, Starting OS|OSStart$",
182            "host": "^Running$",
183            "os_ping": "^1$",
184            "os_login": "^1$",
185            "os_run_cmd": "^1$"
186        },
187        "bmc_reboot": 1,
188        "method_type": "keyword",
189        "method": "BMC Execute Command  /sbin/reboot  fork=${1}"
190    },
191    # Run a "reboot" on the OBMC while host is off.
192    "OBMC Reboot (off)": {
193        "start": {
194            "rest": "^1$",
195            "chassis": "^Off$"
196        },
197        "end": {
198            "rest": "^1$",
199            "chassis": "^Off$",
200#           "boot_progress": "^Off$",
201            "host": "^Off$"
202        },
203        "bmc_reboot": 1,
204        "method_type": "keyword",
205        "method": "BMC Execute Command  /sbin/reboot  fork=${1}"
206    },
207    # Cycle AC via the PDU while host is off.
208    "PDU AC Cycle (run)": {
209        "start": {
210            "rest": "^1$",
211            "chassis": "^On$",
212#           "boot_progress": "^FW Progress, Starting OS|OSStart$",
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#           "boot_progress": "^FW Progress, Starting OS|OSStart$",
222            "host": "^Running$",
223            "os_ping": "^1$",
224            "os_login": "^1$",
225            "os_run_cmd": "^1$"
226        },
227        "bmc_reboot": 1,
228        "method_type": "keyword",
229        "method": "Set Global Variable  ${PDU_TYPE}  pdu ; Set Global Variable  ${PDU_IP}  ${PDU_HOST} ; PDU Power Cycle",
230        "lib_file_path": "pdu/pdu.robot:pdu/synaccess.robot"
231    },
232    # Cycle AC via the PDU while host is off.
233    "PDU AC Cycle (off)": {
234        "start": {
235            "rest": "^1$",
236            "chassis": "^Off$"
237        },
238        "end": {
239            "rest": "^1$",
240            "chassis": "^Off$",
241#           "boot_progress": "^Off$",
242            "host": "^Off$"
243        },
244        "bmc_reboot": 1,
245        "method_type": "keyword",
246        "method": "Set Global Variable  ${PDU_TYPE}  pdu ; Set Global Variable  ${PDU_IP}  ${PDU_HOST} ; PDU Power Cycle",
247        "lib_file_path": "pdu/pdu.robot:pdu/synaccess.robot"
248    },
249    # Initiate an mc reset warm using the IPMI interface while chassis is
250    # powered on.
251    "IPMI MC Reset Warm (run)": {
252        "start": {
253            "rest": "^1$",
254            "chassis": "^On$",
255#           "boot_progress": "^FW Progress, Starting OS|OSStart$",
256            "host": "^Running$",
257            "os_ping": "^1$",
258            "os_login": "^1$",
259            "os_run_cmd": "^1$"
260        },
261        "end": {
262            "rest": "^1$",
263            "chassis": "^On$",
264#           "boot_progress": "^FW Progress, Starting OS|OSStart$",
265            "host": "^Running$",
266            "os_ping": "^1$",
267            "os_login": "^1$",
268            "os_run_cmd": "^1$"
269        },
270        "bmc_reboot": 1,
271        "method_type": "keyword",
272        "method": "Run External IPMI Standard Command  mc reset warm ; Printn",
273        "lib_file_path": "ipmi_client.robot:gen_print.py"
274    },
275    # Initiate an mc reset warm using the IPMI interface while chassis is
276    # powered off.
277    "IPMI MC Reset Warm (off)": {
278        "start": {
279            "rest": "^1$",
280            "chassis": "^Off$"
281        },
282        "end": {
283            "rest": "^1$",
284            "chassis": "^Off$",
285#           "boot_progress": "^Off$",
286            "host": "^Off$"
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
294    # Host OS re-boot boot types:
295
296    # Initiate a power cycle using the IPMI interface (equivalent to off/on).
297    "IPMI Power Cycle": {
298        "start": {
299            "rest": "^1$",
300            "chassis": "^On$",
301#           "boot_progress": "^FW Progress, Starting OS|OSStart$",
302            "host": "^Running$",
303            "os_ping": "^1$",
304            "os_login": "^1$",
305            "os_run_cmd": "^1$"
306        },
307        "end": {
308            "rest": "^1$",
309            "chassis": "^On$",
310#           "boot_progress": "^FW Progress, Starting OS|OSStart$",
311            "host": "^Running$",
312            "os_ping": "^1$",
313            "os_login": "^1$",
314            "os_run_cmd": "^1$"
315        },
316        "bmc_reboot": 0,
317        "method_type": "keyword",
318        "method": "Run External IPMI Standard Command  power cycle",
319        "lib_file_path": "ipmi_client.robot"
320    },
321    # Initiate a power reset using the IPMI interface (equivalent to off/on).
322    # Functionally equivalent to "IPMI Power Cycle".
323    "IPMI Power Reset": {
324        "start": {
325            "rest": "^1$",
326            "chassis": "^On$",
327#           "boot_progress": "^FW Progress, Starting OS|OSStart$",
328            "host": "^Running$",
329            "os_ping": "^1$",
330            "os_login": "^1$",
331            "os_run_cmd": "^1$"
332        },
333        "end": {
334            "rest": "^1$",
335            "chassis": "^On$",
336#           "boot_progress": "^FW Progress, Starting OS|OSStart$",
337            "host": "^Running$",
338            "os_ping": "^1$",
339            "os_login": "^1$",
340            "os_run_cmd": "^1$"
341        },
342        "bmc_reboot": 0,
343        "method_type": "keyword",
344        "method": "Run External IPMI Standard Command  power reset",
345        "lib_file_path": "ipmi_client.robot"
346    },
347    # Do an auto reboot by setting auto reboot to "yes" and going to quiesce state.
348    "Auto Reboot": {
349        "start": {
350            "rest": "^1$",
351            "chassis": "^On$",
352#           "boot_progress": "^FW Progress, Starting OS|OSStart$",
353            "host": "^Running$",
354            "os_ping": "^1$",
355            "os_login": "^1$",
356            "os_run_cmd": "^1$"
357        },
358        "end": {
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        "bmc_reboot": 0,
368        "method_type": "keyword",
369        "method": "utils.Initiate Auto Reboot",
370        "lib_file_path": "utils.robot"
371    },
372    # Run a "reboot" command on the OS_HOST.
373    "Host Reboot": {
374        "start": {
375            "rest": "^1$",
376            "chassis": "^On$",
377#           "boot_progress": "^FW Progress, Starting OS|OSStart$",
378            "host": "^Running$",
379            "os_ping": "^1$",
380            "os_login": "^1$",
381            "os_run_cmd": "^1$"
382        },
383        "end": {
384            "rest": "^1$",
385            "chassis": "^On$",
386#           "boot_progress": "^FW Progress, Starting OS|OSStart$",
387            "host": "^Running$",
388            "os_ping": "^1$",
389            "os_login": "^1$",
390            "os_run_cmd": "^1$"
391        },
392        "bmc_reboot": 0,
393        "method_type": "keyword",
394        "method": "utils.Initiate OS Host Reboot",
395        "lib_file_path": "utils.robot"
396    }
397}
398