Пример #1
0
def is_cluster(cluster):
    if cluster is not None:
        csd = data_retrieval.get_cluster_server_dict()
        if cluster not in csd:
            return False
        return True
    return False
Пример #2
0
 def run(self, dispatcher, tracker, domain):
     csd = data_retrieval.get_cluster_server_dict()
     total_production_capacity = 0
     for key in csd:
         cluster_info = data_retrieval.get_cluster_info(key)
         total_production_capacity += int(cluster_info['total'])
     dispatcher.utter_message('Hadoop Production Capacity: ' +
                              str(total_production_capacity))
     return []
Пример #3
0
 def run(self, dispatcher, tracker, domain):
     # Find cluster with the least space available
     csd = data_retrieval.get_cluster_server_dict()
     fullest_cluster = ["tmp", -1.0]
     for key in csd:
         cluster_info = data_retrieval.get_cluster_info(key)
         if cluster_info['percent_used'] > fullest_cluster[1]:
             fullest_cluster = [str(key), cluster_info['percent_used']]
     dispatcher.utter_message(fullest_cluster[0] +
                              ' has the least space available with ' +
                              str(fullest_cluster[1]) + '% used.')
     return []
Пример #4
0
 def run(self, dispatcher, tracker, domain):
     # Find cluster with the most space available
     csd = data_retrieval.get_cluster_server_dict()
     emptiest_cluster = ["tmp", -1.0]
     for key in csd:
         cluster_info = data_retrieval.get_cluster_info(key)
         if cluster_info['percent_remaining'] > emptiest_cluster[1]:
             emptiest_cluster = [
                 str(key), cluster_info['percent_remaining']
             ]
     dispatcher.utter_message(emptiest_cluster[0] +
                              ' has the most space available with ' +
                              str(emptiest_cluster[1]) + '% free.')
     return []
Пример #5
0
    def run(self, dispatcher, tracker, domain):
        # Check healthiness of all clusters
        csd = data_retrieval.get_cluster_server_dict()
        safe_mode_clusters = []
        warning_clusters = []
        for key in csd:
            cluster_info = data_retrieval.get_cluster_info(key)
            if cluster_info['safe_mode']:
                safe_mode_clusters.append(key)
            if (cluster_info['percent_used'] >= 70.0
                    or cluster_info['num_missing_blocks'] > 0
                    or cluster_info['dead_nodes']
                    or cluster_info['decom_nodes']
                    or cluster_info['corrupt_files']):
                warning_clusters.append(key)

        # Health responses
        if not safe_mode_clusters:
            dispatcher.utter_message('All clusters are healthy.')
        else:
            if len(safe_mode_clusters) == 1:
                dispatcher.utter_message('1 cluster is unhealthy: ' +
                                         safe_mode_clusters[0])
            else:
                safe_mode_clusters_str = ''
                for cluster in safe_mode_clusters:
                    if cluster == safe_mode_clusters[-1]:
                        safe_mode_clusters_str += cluster
                    else:
                        safe_mode_clusters_str += cluster + ', '
                dispatcher.utter_message(
                    str(len(safe_mode_clusters)) +
                    ' clusters are unhealthy: ' + safe_mode_clusters_str)

        # Warning responses
        if len(warning_clusters) == 1:
            dispatcher.utter_message('1 cluster has warnings: ' +
                                     warning_clusters[0])
        else:
            warning_clusters_str = ''
            for cluster in warning_clusters:
                if cluster == warning_clusters[-1]:
                    warning_clusters_str += cluster
                else:
                    warning_clusters_str += cluster + ', '
            dispatcher.utter_message(
                str(len(warning_clusters)) + ' clusters have warnings: ' +
                warning_clusters_str)
        return []