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)
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)