docs: def _pre_index_check(handler, host=None, core_name=None):
      '''
      PRIVATE METHOD - MASTER CALL
      Does a pre-check to make sure that all the options are set and that
      we can talk to solr before trying to send a command to solr. This
      Command should only be issued to masters.
  
      handler : str
          The import handler to check the state of
      host : str (None):
          The solr host to query. __opts__['host'] is default
      core_name (None):
          The name of the solr core if using cores. Leave this blank if you are
          not using cores or if you want to check all cores.
          REQUIRED if you are using cores.
  
      Return:  dict<str,obj>::
  
          {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
      '''
      # make sure that it's a master minion
      if _get_none_or_value(host) is None and not _is_master():
          err = [
              'solr.pre_indexing_check can only be called by "master" minions']
          return _get_return_dict(False, err)
      # solr can run out of memory quickly if the dih is processing multiple
      # handlers at the same time, so if it's a multicore setup require a
      # core_name param.
      if _get_none_or_value(core_name) is None and _check_for_cores():
          errors = ['solr.full_import is not safe to multiple handlers at once']
          return _get_return_dict(False, errors=errors)
      # check to make sure that we're not already indexing
      resp = import_status(handler, host, core_name)
      if resp['success']:
          status = resp['data']['status']
          if status == 'busy':
              warn = ['An indexing process is already running.']
              return _get_return_dict(True, warnings=warn)
          if status != 'idle':
              errors = ['Unknown status: "{0}"'.format(status)]
              return _get_return_dict(False, data=resp['data'], errors=errors)
      else:
          errors = ['Status check failed. Response details: {0}'.format(resp)]
          return _get_return_dict(False, data=resp['data'], errors=errors)
  
      return resp