def createChainingDev(request, service_id): if request.is_ajax() and request.method == 'POST': token = request.session.get('passToken') auth_url = request.session.get("auth_url") ctrl_header = request.session.get("ctrl_header") control = ControlEngine(ctrl_header) neutron = NeutronRestAPI(auth_url, token) service_detail, map_data = control.get_service_detail_and_link_list( service_id) # rel map_data = control.get_map(service_id) public_network = neutron.get_external_network( {"router:external": True}) #dev # {'success':{'id':"",'chain_id':""}} return JsonResponse({ 'success': { 'service': { "service_detail": service_detail["success"]["service_detail"] }, "links": map_data["success"]["map_link_list"], "public_network": public_network } }) #rel # return JsonResponse({'service': service_detail["success"], 'instance_list':instanceList, "links": map_data["success"]["map_link_list"], "public_network": public_network}) else: sfc_name = request.POST.get("sfc_name") sfc_desc = request.POST.get("sfc_desc") # print "~~~~~~~~~~~~~~~" # print sfc_name # print sfc_desc return render(request, 'service/create_chaining.html', { 'sfc_name': sfc_name, 'sfc_desc': sfc_desc })
def detail_service(request, service_id): """ 서비스 상세조회 :param request: :param service_id: :return: """ token = request.session.get("passToken") auth_url = request.session.get("auth_url") if request.method == 'POST': logger.info("detailServicePOST") control = ControlEngine(request.session.get("ctrl_header")) # control = ControllerEngine() # TODO: debugging 용 service_detail, map_data = control.get_service_detail_and_link_list( service_id) public_network = [] logger.info("detailServicePOST_end_public_network") try: neutron = NeutronRestAPI(auth_url, token) result = neutron.get_network_list({"router:external": True}) except Exception as e: logger.warning("get public_network fail" + str(e)) return JsonResponse(service_detail) else: if result.get("success"): public_network = filter( lambda network: network["router:external"], result["success"]["networks"]) if service_detail.get("success"): # print service_detail["success"], map_data, public_network jsonDic = { "success": service_detail["success"], "links": {}, "security_types": {}, "public_network": public_network } template = control.get_template(service_id) if template.get("success"): user_template = template["success"].get("user_template") if user_template: # print "user_template: {}\nservice_id: {}".format(user_template, service_id) user_template["service_id"] = service_id jsonDic["success"]["template"] = user_template else: jsonDic.get("success").get("service_detail").get( "error_msg_list").push(template.get("error")) if map_data.get("success"): map_link_list = map_data["success"].get("map_link_list") if map_link_list: jsonDic["links"] = map_link_list.get("links") jsonDic["asLinks"] = map_link_list.get("asLinks") jsonDic["security_types"] = map_link_list.get( "security_types") jsonDic["used_security_group_list"] = map_link_list.get( "used_security_group_list") # request.session["service_dic"] = jsonDic return JsonResponse(jsonDic) else: return JsonResponse(service_detail) else: token = request.session.get('passToken') if not token: return redirect("/dashboard/domains/?next=/dashboard/service/" + service_id + "/detail") logger.info("detailService_end") response = render(request, 'service/info.html', {}) return response