def list_hdinsight_statuses()

in infrastructure-provisioning/src/general/lib/azure/meta_lib.py [0:0]


    def list_hdinsight_statuses(self, resource_group_name, cluster_name_list):
        data = []
        for cluster_name in cluster_name_list:
            cluster_name = cluster_name['id']
            host = {}
            try:
                request = self.hdinsight_client.clusters.get(resource_group_name, cluster_name)
                host['id'] = cluster_name
                if request.properties.cluster_state == 'Accepted' or request.properties.cluster_state == 'HdInsightConfiguration' or request.properties.cluster_state == 'ClusterStorageProvisioned' or request.properties.cluster_state == 'ReadyForDeployment':
                    host['status'] = 'creating'
                elif request.properties.cluster_state == 'AzureVMConfiguration' or request.properties.cluster_state == 'Operational' or request.properties.cluster_state == 'ClusterCustomization':
                    host['status'] = 'creating'
                elif request.properties.cluster_state == 'DeletePending' or request.properties.cluster_state == 'Deleting':
                    host['status'] = 'terminating'
                elif request.properties.cluster_state == 'Error' or request.properties.cluster_state == 'TimedOut' or request.properties.cluster_state == 'Unknown':
                    host['status'] = 'failed'
                elif request.properties.cluster_state == 'Running':
                    host['status'] = 'running'
                data.append(host)
            except:
                host['id'] = cluster_name
                host['status'] = 'terminated'
                data.append(host)
        return data