docs: def _run_yum_command(cmd, fatal=False):
      """Run an YUM command.
  
      Checks the output and retry if the fatal flag is set to True.
  
      :param: cmd: str: The yum command to run.
      :param: fatal: bool: Whether the command's output should be checked and
          retried.
      """
      env = os.environ.copy()
  
      if fatal:
          retry_count = 0
          result = None
  
          # If the command is considered "fatal", we need to retry if the yum
          # lock was not acquired.
  
          while result is None or result == YUM_NO_LOCK:
              try:
                  result = subprocess.check_call(cmd, env=env)
              except subprocess.CalledProcessError as e:
                  retry_count = retry_count + 1
                  if retry_count > YUM_NO_LOCK_RETRY_COUNT:
                      raise
                  result = e.returncode
                  log("Couldn't acquire YUM lock. Will retry in {} seconds."
                      "".format(YUM_NO_LOCK_RETRY_DELAY))
                  time.sleep(YUM_NO_LOCK_RETRY_DELAY)
  
      else:
          subprocess.call(cmd, env=env)