def validate_parms(): r""" Validate all program parameters. """ process_pgm_parms() gp.qprintn() global openbmc_model if openbmc_model == "": status, ret_values =\ grk.run_key_u("Get BMC System Model") openbmc_model = ret_values BuiltIn().set_global_variable("${openbmc_model}", openbmc_model) gv.set_exit_on_error(True) gv.valid_value(openbmc_host) gv.valid_value(openbmc_username) gv.valid_value(openbmc_password) gv.valid_value(rest_username) gv.valid_value(rest_password) gv.valid_value(ipmi_username) gv.valid_value(ipmi_password) if os_host != "": gv.valid_value(os_username) gv.valid_value(os_password) if pdu_host != "": gv.valid_value(pdu_username) gv.valid_value(pdu_password) gv.valid_integer(pdu_slot_no) if openbmc_serial_host != "": gv.valid_integer(openbmc_serial_port) gv.valid_value(openbmc_model) gv.valid_integer(max_num_tests) gv.valid_integer(boot_pass) gv.valid_integer(boot_fail) plug_in_packages_list = grpi.rvalidate_plug_ins(plug_in_dir_paths) BuiltIn().set_global_variable("${plug_in_packages_list}", plug_in_packages_list) gv.valid_value(stack_mode, valid_values=['normal', 'skip']) gv.set_exit_on_error(False) if len(boot_list) == 0 and len(boot_stack) == 0 and not ffdc_only: error_message = "You must provide either a value for either the" +\ " boot_list or the boot_stack parm.\n" BuiltIn().fail(gp.sprint_error(error_message)) valid_boot_list(boot_list, valid_boot_types) valid_boot_list(boot_stack, valid_boot_types) selected_PDU_boots = list( set(boot_list + boot_stack) & set(boot_lists['PDU_reboot'])) if len(selected_PDU_boots) > 0 and pdu_host == "": error_message = "You have selected the following boots which" +\ " require a PDU host but no value for pdu_host:\n" error_message += gp.sprint_var(selected_PDU_boots) error_message += gp.sprint_var(pdu_host, fmt=gp.blank()) BuiltIn().fail(gp.sprint_error(error_message)) return
def gen_setup(): r""" Do general setup for a program. """ # Set exit_on_error for gen_valid functions. gv.set_exit_on_error(True) # Get main module variable values. parser = getattr(module, "parser") stock_list = getattr(module, "stock_list") validate_parms = getattr(module, "validate_parms", None) gen_get_options(parser, stock_list) if validate_parms: validate_parms() gen_post_validation() gp.qprint_pgm_header()