def classify_failure(message):
    """Look for a reason for a failure by looking for a string
    in the message.  Return a string with the reason, or None
    if we don't know what it was.
    """

    failure_types = [
            ("Missing OLI BPF file", "Error: can't find BPF_OLI"),
            ("Missing TIRS BPF file", "Error: can't find BPF_TIRS"),
            ("Missing CPF file", "Error: can't find CPF"),
            ("Missing RLUT file", "Error: can't find RLUT"),
            ("Invalid tar file", "tar: Unexpected EOF in archive"),
            ("Tar file download failed", "download failed"),
            ("S3 slow down", "error occurred (SlowDown)"),
            ("S3 time-out", "The read operation timed out"),
            ("S3 client error", "botocore.exceptions.ClientError"),
            ("Incompelete S3 read", "IncompleteRead(0 bytes read)"),
            ("Error exit", "exit 1"),
            ("Exception", "Exception")
    ]

    for (reason, err_string) in failure_types:
        if message.find(err_string) != -1:
            return reason

    return None