def approveSliver (request, logger): try: jsonValidate(request.json, [("sliver_urn", (unicode,str)), ("priority", int)], logger) if (not request.json.has_key("sliver_urn")) or (not request.json.has_key("priority")): return jsonify({"exception" : "You must specify a sliver_urn and priority"}) slice_name = GeniDB.getFlowvisorSliceName(sliver_urn=request.json["sliver_urn"]) if FV.sliceExists(slice_name): return jsonify({"Fault" : "Flowvisor slice '%s' already exists" % (slice_name)}) sobj = GeniDB.getSliverObj(request.json["sliver_urn"]) GeniDB.setSliverStatus(request.json["sliver_urn"], True) GeniDB.setSliverPriority(request.json["sliver_urn"], request.json["priority"]) GeniDB.commit() foam.geni.approval.AppData.addSliver(sobj) sobj.createSlice() sobj.insertFlowspace(request.json["priority"]) sobj.insertVirtualLink() data = GeniDB.getSliverData(sobj.getURN(), True) foam.task.emailApproveSliver(data) return jsonify(None) except JSONValidationError, e: jd = e.__json__() return jsonify(jd, code = 1, msg = jd["exception"])
def approveSliver(request, logger): try: jsonValidate(request.json, [("sliver_urn", (unicode, str)), ("priority", int)], logger) if (not request.json.has_key("sliver_urn")) or ( not request.json.has_key("priority")): return jsonify( {"exception": "You must specify a sliver_urn and priority"}) slice_name = GeniDB.getFlowvisorSliceName( sliver_urn=request.json["sliver_urn"]) if FV.sliceExists(slice_name): return jsonify({ "Fault": "Flowvisor slice '%s' already exists" % (slice_name) }) sobj = GeniDB.getSliverObj(request.json["sliver_urn"]) GeniDB.setSliverStatus(request.json["sliver_urn"], True) GeniDB.setSliverPriority(request.json["sliver_urn"], request.json["priority"]) GeniDB.commit() foam.geni.approval.AppData.addSliver(sobj) sobj.createSlice() sobj.insertFlowspace(request.json["priority"]) sobj.insertVirtualLink() data = GeniDB.getSliverData(sobj.getURN(), True) foam.task.emailApproveSliver(data) return jsonify(None) except JSONValidationError, e: jd = e.__json__() return jsonify(jd, code=1, msg=jd["exception"])
def validate(self, rjson, types): return jsonValidate(rjson, types, self._log)