'Verify fluentd is running everywhere. Raises OpenShiftCheckExceptionList if error(s) found.'

def check_fluentd(self, pods):

    node_selector = self.get_var('openshift_logging_fluentd_nodeselector', default='logging-infra-fluentd=true')
    nodes_by_name = self.get_nodes_by_name()
    fluentd_nodes = self.filter_fluentd_labeled_nodes(nodes_by_name, node_selector)
    errors = []
    errors += self.check_node_labeling(nodes_by_name, fluentd_nodes, node_selector)
    errors += self.check_nodes_have_fluentd(pods, fluentd_nodes)
    errors += self.check_fluentd_pods_running(pods)
    if (len(pods) > len(fluentd_nodes)):
        errors.append(OpenShiftCheckException('TooManyFluentdPods', 'There    are    more    Fluentd    pods    running    than    nodes    labeled.\nThis    may    not    cause    problems    with    logging    but    it    likely    indicates    something    wrong.'))
    if errors:
        raise OpenShiftCheckExceptionList(errors)
