Exemplo n.º 1
0
    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 {}            
Exemplo n.º 2
0
    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 {}
Exemplo n.º 3
0
    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 { }   
Exemplo n.º 4
0
    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 {}