Cluster rule to process bash and hostname info

    ``bash`` and ``hostnames`` are Pandas DataFrames for the facts collected
    for each host in the cluster.  See
    https://pandas.pydata.org/pandas-docs/stable/api.html#dataframe
    for information on available attributes and methods.

    Arguments:
        bash (pandas.DataFrame): Includes facts from ``bash_version``
            fact with columns "name" and "version" and one row per
            host in the cluster.
        hostnames (pandas.DataFrame): Includes facts from ``get_hostname``
            fact with column "hostname" and one row per
            host in the cluster.

def bash_rule(bash, hostnames):
    """
    Cluster rule to process bash and hostname info

    ``bash`` and ``hostnames`` are Pandas DataFrames for the facts collected
    for each host in the cluster.  See
    https://pandas.pydata.org/pandas-docs/stable/api.html#dataframe
    for information on available attributes and methods.

    Arguments:
        bash (pandas.DataFrame): Includes facts from ``bash_version``
            fact with columns "name" and "version" and one row per
            host in the cluster.
        hostnames (pandas.DataFrame): Includes facts from ``get_hostname``
            fact with column "hostname" and one row per
            host in the cluster.
    """
    if isinstance(bash, dict):
        return make_fail('bash_rule',
                         error_message="Run this rule with a cluster archive")

    return make_pass('bash_rule', bash=bash, hostname=hostnames)