1*** Settings *** 2Documentation This file is resourced by obmc_boot_test.py to set initial 3... variable values, etc. 4 5Resource ../lib/openbmc_ffdc.robot 6Library ../lib/state.py 7 8Library ../lib/obmc_boot_test.py 9Library Collections 10 11*** Variables *** 12# Initialize program parameters variables. 13# Create parm_list containing all of our program parameters. This is used by 14# 'Rqprint Pgm Header' 15@{parm_list} openbmc_nickname ssh_port https_port openbmc_host openbmc_username 16... openbmc_password rest_username rest_password ipmi_username 17... ipmi_password os_host os_username os_password pdu_host pdu_username 18... pdu_password pdu_slot_no openbmc_serial_host openbmc_serial_port 19... stack_mode boot_stack boot_list max_num_tests plug_in_dir_paths 20... status_file_path openbmc_model boot_pass boot_fail ffdc_dir_path_style 21... ffdc_check ffdc_only ffdc_function_list state_change_timeout 22... power_on_timeout power_off_timeout boot_fail_threshold delete_errlogs 23... call_post_stack_plug do_pre_boot_plug_in_setup boot_table_path test_mode quiet debug 24 25# Initialize each program parameter. 26${openbmc_host} ${EMPTY} 27${ssh_port} 22 28${https_port} 443 29${openbmc_nickname} ${openbmc_host} 30${openbmc_username} root 31${openbmc_password} 0penBmc 32${rest_username} ${openbmc_username} 33${rest_password} ${openbmc_password} 34${ipmi_username} ${openbmc_username} 35${ipmi_password} ${openbmc_password} 36${os_host} ${EMPTY} 37${os_username} root 38${os_password} P@ssw0rd 39${pdu_host} ${EMPTY} 40${pdu_username} admin 41${pdu_password} admin 42${pdu_slot_no} ${EMPTY} 43${openbmc_serial_host} ${EMPTY} 44${openbmc_serial_port} ${EMPTY} 45${stack_mode} normal 46${boot_stack} ${EMPTY} 47${boot_list} ${EMPTY} 48${max_num_tests} 0 49${plug_in_dir_paths} ${EMPTY} 50${status_file_path} ${EMPTY} 51${openbmc_model} ${EMPTY} 52# The reason boot_pass and boot_fail are parameters is that it is possible to 53# be called by a program that has already done some tests. This allows us to 54# keep the grand total. 55${boot_pass} ${0} 56${boot_fail} ${0} 57${ffdc_dir_path_style} ${EMPTY} 58${ffdc_check} ${EMPTY} 59${ffdc_only} ${0} 60${ffdc_function_list} ${EMPTY} 61${state_change_timeout} 3 mins 62${power_on_timeout} 14 mins 63${power_off_timeout} 2 mins 64# If the number of boot failures, exceeds boot_fail_threshold, this program 65# returns non-zero. 66${boot_fail_threshold} ${0} 67${delete_errlogs} ${0} 68# This variable indicates whether post_stack plug-in processing should be done. 69${call_post_stack_plug} ${1} 70# do_pre_boot_plug_in_setup is only heeded when -v ffdc_only:1. Callers may 71# choose whether to run pre_boot_plug_in_setup which clears existing FFDC file 72# lists and sets new ffdc_prefix value. 73${do_pre_boot_plug_in_setup} ${1} 74# The path to the boot_table.json file which defines the boot requirements. This defaults to the value of 75# the BOOT_TABLE_PATH environment variable or to data/boot_table.json. 76${boot_table_path} ${None} 77${test_mode} 0 78${quiet} 0 79${debug} 0 80 81# Flag variables. 82# test_really_running is needed by DB_Logging plug-in. 83${test_really_running} ${1} 84 85 86*** Keywords *** 87OBMC Boot Test 88 [Documentation] Run the OBMC boot test. 89 [Teardown] OBMC Boot Test Teardown 90 [Arguments] ${pos_arg1}=${EMPTY} &{arguments} 91 92 # Note: If I knew how to specify a keyword teardown in python, I would 93 # rename the "OBMC Boot Test Py" python function to "OBMC Boot Test" and 94 # do away with this robot keyword. 95 96 Run Keyword If '${pos_arg1}' != '${EMPTY}' 97 ... Set To Dictionary ${arguments} loc_boot_stack=${pos_arg1} 98 99 OBMC Boot Test Py &{arguments} 100