def _release_all_reservations(self): managers = NETManagersView.managers for m in managers: hresman.utils.delete_({}, "releaseAllReservations", managers[m]['Port'], managers[m]['Address']) ReservationsView.reservations = {} topology = NETResourcesView.Topology for id in copy.copy(NETReservationsView.LinkReservations): link_release_reservation(topology["links"], topology["paths"], topology["link_list"],\ NETReservationsView.LinkReservations, [id]) if len(NETReservationsView.LinkReservations) > 0: raise Exception("could not release all reservations!") return {}
def _release_reservation(self, reservations): for reservation in reservations: if reservation not in ReservationsView.reservations: raise Exception("cannot find reservation: " + reservation) # reverse the order in which they were created data = ReservationsView.reservations[reservation][::-1] del ReservationsView.reservations[reservation] for alloc in data: if alloc["addr"] != None: ret = hresman.utils.delete_( { "ReservationID" : alloc["iRes"] }, "releaseReservation", alloc["port"], alloc["addr"]) elif alloc["type"] == "Link": topology = NETResourcesView.Topology res = link_release_reservation(topology["links"], topology["paths"], topology["link_list"],\ NETReservationsView.LinkReservations, alloc["iRes"]) ret = { "result": res } #if "result" not in ret: # raise Exception("Error in deleting reservation: ", str(ret)) return { }
def _release_reservation(self, reservations): for reservation in reservations: if reservation not in ReservationsView.reservations: raise Exception("cannot find reservation: " + reservation) # reverse the order in which they were created data = ReservationsView.reservations[reservation][::-1] del ReservationsView.reservations[reservation] for alloc in data: if alloc["addr"] != None: ret = hresman.utils.delete_( {"ReservationID": alloc["iRes"]}, "releaseReservation", alloc["port"], alloc["addr"]) elif alloc["type"] == "Link": topology = NETResourcesView.Topology res = link_release_reservation(topology["links"], topology["paths"], topology["link_list"],\ NETReservationsView.LinkReservations, alloc["iRes"]) ret = {"result": res} #if "result" not in ret: # raise Exception("Error in deleting reservation: ", str(ret)) return {}