Ejemplo n.º 1
0
def add_cluster_server_components(request):
    cluster_name = request.data['cluster_name']
    role = request.data['role']
    ip = request.data['ip']
    hostname = request.data['hostname']
    username = request.data['username']
    password = request.data['password']
    cluster_dto = {"available":False, "cluster_name":cluster_name, "id":None, "message": None}
    existDTO = common.valid_single_server(ip, username, password)
    if(existDTO['available']==True):
        filter_server = server.objects.filter(ip=ip)
        if filter_server!=[] and len(filter_server)>0:
            cluster_dto['message'] = "IP已被使用!"
        else:
            server_obj = server(type='cluster', cluster_name=cluster_name, role=role, ip=ip, hostname=hostname, username=username, password=password)
            server_obj.save()
            items = request.data['components']
            for item in items:
                component_obj = component(server_id=server_obj, type=item['type'], port=item['port'], install_dir=item['install_dir'], data_dir=item['data_dir'], log_dir=item['log_dir'], install_bs=item['install_bs'],
                    db_username=item['db_username'], db_password=item['db_password'], web_service_name=item['web_service_name'],
                    es_memory_limit=item['es_memory_limit'], es_index_number_of_shards=item['es_index_number_of_shards'],
                    es_index_refresh_interval=item['es_index_refresh_interval'], storm_works_num_per_host=item['storm_works_num_per_host'],
                    storm_dataProcess_works_num=item['storm_dataProcess_works_num'], storm_dataIndex_works_num=item['storm_dataIndex_works_num'],
                    storm_spout_config_num =item['storm_spout_config_num'], storm_spout_dataprocess_num=item['storm_spout_dataprocess_num'],
                    storm_spout_dataindex_num=item['storm_spout_dataindex_num'], storm_bolt_default_num=item['storm_bolt_default_num'],
                    storm_bolt_rule_num=item['storm_bolt_rule_num'], storm_bolt_advanced_num=item['storm_bolt_advanced_num'],
                    storm_bolt_kafka_num=item['storm_bolt_kafka_num'], storm_bolt_es_num=item['storm_bolt_es_num'],frontend_service_name=item['frontend_service_name'],
                    es_path_data=item['es_path_data'], es_path_logs=item['es_path_logs'],storm_nimbs_bs=item['storm_nimbs_bs'])
                component_obj.save()
            cluster_dto['available'] = True
            cluster_dto['id'] = server_obj.id
    else:
        cluster_dto['message'] = existDTO['message']
    return Response(cluster_dto)
Ejemplo n.º 2
0
def add_single_server_components(request):
    # save components config
    id = request.data['id']
    single_server = server.objects.get(id=id)
    install_bs = single_server.install_bs
    component_bs = False
    single_components = component.objects.filter(server_id=id)
    if single_components!=[] and len(single_components)>0:
        component_bs = True
    else:
        items = request.data['components']
        for item in items:
            component_obj = component(server_id=single_server, type=item['type'], port=item['port'], install_dir=item['install_dir'], data_dir=item['data_dir'], log_dir=item['log_dir'], install_bs=item['install_bs'],
                db_username=item['db_username'], db_password=item['db_password'], web_service_name=item['web_service_name'],
                es_memory_limit=item['es_memory_limit'], es_index_number_of_shards=item['es_index_number_of_shards'],
                es_index_refresh_interval=item['es_index_refresh_interval'], storm_works_num_per_host=item['storm_works_num_per_host'],
                storm_dataProcess_works_num=item['storm_dataProcess_works_num'], storm_dataIndex_works_num=item['storm_dataIndex_works_num'],
                storm_spout_config_num =item['storm_spout_config_num'], storm_spout_dataprocess_num=item['storm_spout_dataprocess_num'],
                storm_spout_dataindex_num=item['storm_spout_dataindex_num'], storm_bolt_default_num=item['storm_bolt_default_num'],
                storm_bolt_rule_num=item['storm_bolt_rule_num'], storm_bolt_advanced_num=item['storm_bolt_advanced_num'],
                storm_bolt_kafka_num=item['storm_bolt_kafka_num'], storm_bolt_es_num=item['storm_bolt_es_num'],frontend_service_name=item['frontend_service_name'],
                es_path_data=item['es_path_data'], es_path_logs=item['es_path_logs'],storm_nimbs_bs=item['storm_nimbs_bs'])
            component_obj.save()
    json_data = common.valid_single_server_components(request.data)
    return_data = {'available':True,"id":None, "component_bs":component_bs, "install_bs": install_bs}
    # returnData = {'available':False, 'message':[{"msg":"ZOOKPEER测试消息1"},{"msg":"KAFKA测试消息2"}]}
    if (json_data['available']==False):
        return_data['available'] = False
        warn_obj = warn(server_id=int(id), type="single", msg=json_data['message'])
        warn_obj.save()
        return_data['id'] = warn_obj.id
    else:
        return_data['id'] = id
    return Response(return_data)