def parse_run_step_section(config_obj, section):
  """
  Parse a RUN-STEP section in the config to return a Run_Step object
  :param config_obj: ConfigParser objection
  :param section: Section name
  :return: an initialized Run_Step object
  """
  kill_after_seconds = None
  try:
    run_cmd = config_obj.get(section, 'run_cmd')
    run_rank = int(config_obj.get(section, 'run_rank'))
  except ConfigParser.NoOptionError:
    logger.exception("Exiting.... some mandatory options are missing from the config file in section: " + section)
    sys.exit()
  except ValueError:
    logger.error("Bad run_rank %s specified in section %s, should be integer. Exiting.", config_obj.get(section, 'run_rank'), section)
    sys.exit()
  if config_obj.has_option(section, 'run_type'):
    run_type = config_obj.get(section, 'run_type')
  else:
    run_type = CONSTANTS.RUN_TYPE_WORKLOAD
  if config_obj.has_option(section, 'run_order'):
    run_order = config_obj.get(section, 'run_order')
  else:
    run_order = CONSTANTS.PRE_ANALYSIS_RUN
  if config_obj.has_option(section, 'call_type'):
    call_type = config_obj.get(section, 'call_type')
  else:
    call_type = 'local'
  if config_obj.has_option(section, 'kill_after_seconds'):
    try:
      kill_after_seconds = int(config_obj.get(section, 'kill_after_seconds'))
    except ValueError:
      logger.error("Bad kill_after_seconds %s specified in section %s, should be integer.", config_obj.get(section, 'kill_after_seconds'), section)

  if call_type == 'local':
    run_step_obj = Local_Cmd(run_type, run_cmd, call_type, run_order, run_rank, kill_after_seconds=kill_after_seconds)
  else:
    logger.error('Unsupported RUN_STEP supplied, call_type should be local')
    run_step_obj = None
  return run_step_obj
def parse_run_step_section(config_obj, section):
  """
  Parse a RUN-STEP section in the config to return a Run_Step object
  :param config_obj: ConfigParser objection
  :param section: Section name
  :return: an initialized Run_Step object
  """
  kill_after_seconds = None
  try:
    run_cmd = config_obj.get(section, 'run_cmd')
    run_rank = int(config_obj.get(section, 'run_rank'))
  except ConfigParser.NoOptionError:
    logger.exception("Exiting.... some mandatory options are missing from the config file in section: " + section)
    sys.exit()
  except ValueError:
    logger.error("Bad run_rank %s specified in section %s, should be integer. Exiting.", config_obj.get(section, 'run_rank'), section)
    sys.exit()
  if config_obj.has_option(section, 'run_type'):
    run_type = config_obj.get(section, 'run_type')
  else:
    run_type = CONSTANTS.RUN_TYPE_WORKLOAD
  if config_obj.has_option(section, 'run_order'):
    run_order = config_obj.get(section, 'run_order')
  else:
    run_order = CONSTANTS.PRE_ANALYSIS_RUN
  if config_obj.has_option(section, 'call_type'):
    call_type = config_obj.get(section, 'call_type')
  else:
    call_type = 'local'
  if config_obj.has_option(section, 'kill_after_seconds'):
    try:
      kill_after_seconds = int(config_obj.get(section, 'kill_after_seconds'))
    except ValueError:
      logger.error("Bad kill_after_seconds %s specified in section %s, should be integer.", config_obj.get(section, 'kill_after_seconds'), section)

  if call_type == 'local':
    run_step_obj = Local_Cmd(run_type, run_cmd, call_type, run_order, run_rank, kill_after_seconds=kill_after_seconds)
  else:
    logger.error('Unsupported RUN_STEP supplied, call_type should be local')
    run_step_obj = None
  return run_step_obj
def parse_run_step_section ( config_obj , section ) : kill_after_seconds = None try : run_cmd = config_obj . get ( section , 'run_cmd' ) run_rank = int ( config_obj . get ( section , 'run_rank' ) ) except ConfigParser . NoOptionError : logger . exception ( "Exiting.... some mandatory options are missing from the config file in section: " + section ) sys . exit ( ) except ValueError : logger . error ( "Bad run_rank %s specified in section %s, should be integer. Exiting." , config_obj . get ( section , 'run_rank' ) , section ) sys . exit ( ) if config_obj . has_option ( section , 'run_type' ) : run_type = config_obj . get ( section , 'run_type' ) else : run_type = CONSTANTS . RUN_TYPE_WORKLOAD if config_obj . has_option ( section , 'run_order' ) : run_order = config_obj . get ( section , 'run_order' ) else : run_order = CONSTANTS . PRE_ANALYSIS_RUN if config_obj . has_option ( section , 'call_type' ) : call_type = config_obj . get ( section , 'call_type' ) else : call_type = 'local' if config_obj . has_option ( section , 'kill_after_seconds' ) : try : kill_after_seconds = int ( config_obj . get ( section , 'kill_after_seconds' ) ) except ValueError : logger . error ( "Bad kill_after_seconds %s specified in section %s, should be integer." , config_obj . get ( section , 'kill_after_seconds' ) , section ) if call_type == 'local' : run_step_obj = Local_Cmd ( run_type , run_cmd , call_type , run_order , run_rank , kill_after_seconds = kill_after_seconds ) else : logger . error ( 'Unsupported RUN_STEP supplied, call_type should be local' ) run_step_obj = None return run_step_obj
Parse a RUN-STEP section in the config to return a Run_Step object
  :param config_obj: ConfigParser objection
  :param section: Section name
  :return: an initialized Run_Step object
Parse a RUN - STEP section in the config to return a Run_Step object : param config_obj : ConfigParser objection : param section : Section name : return : an initialized Run_Step object