Ejemplo n.º 1
0
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"])
Ejemplo n.º 2
0
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"])
Ejemplo n.º 3
0
 def validate(self, rjson, types):
     return jsonValidate(rjson, types, self._log)
Ejemplo n.º 4
0
 def validate(self, rjson, types):
     return jsonValidate(rjson, types, self._log)