X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=src%2Femuvim%2Fapi%2Frest%2Fnetwork.py;h=e3945b0347ea1c6e5615558f1e650e1b04bb2449;hb=50bb06a5a9aa9954d0a6300add216485eddf702c;hp=eb31c3c897f9a5f80283183d1348520febca5bd2;hpb=0d98d75450be28bba00ebabcd9041b4ae541f964;p=osm%2Fvim-emu.git diff --git a/src/emuvim/api/rest/network.py b/src/emuvim/api/rest/network.py index eb31c3c..e3945b0 100755 --- a/src/emuvim/api/rest/network.py +++ b/src/emuvim/api/rest/network.py @@ -25,6 +25,13 @@ the Horizon 2020 and 5G-PPP programmes. The authors would like to acknowledge the contributions of their colleagues of the SONATA partner consortium (www.sonata-nfv.eu). """ + +""" +Distributed Cloud Emulator (dcemulator) +Networking and monitoring functions +(c) 2015 by Steven Van Rossem +""" + import logging from flask_restful import Resource from flask import request @@ -65,12 +72,20 @@ class NetworkAction(Resource): # call DCNetwork method, not really datacenter specific API for now... # no check if vnfs are really connected to this datacenter... try: - vnf_src_interface = json.loads(request.json).get("vnf_src_interface") - vnf_dst_interface = json.loads(request.json).get("vnf_dst_interface") - weight = json.loads(request.json).get("weight") - match = json.loads(request.json).get("match") - bidirectional = json.loads(request.json).get("bidirectional") - cookie = json.loads(request.json).get("cookie") + # check if json data is a dict + data = request.json + if data is None: + data = {} + elif type(data) is not dict: + data = json.loads(request.json) + + vnf_src_interface = data.get("vnf_src_interface") + vnf_dst_interface = data.get("vnf_dst_interface") + weight = data.get("weight") + match = data.get("match") + bidirectional = data.get("bidirectional") + cookie = data.get("cookie") + priority = data.get("priority") c = net.setChain( vnf_src_name, vnf_dst_name, vnf_src_interface=vnf_src_interface, @@ -79,7 +94,8 @@ class NetworkAction(Resource): weight=weight, match=match, bidirectional=bidirectional, - cookie=cookie) + cookie=cookie, + priority=priority) # return setChain response return str(c), 200 except Exception as ex: