예제 #1
0
    def __get_resources(self, peer):
        try:
            # Retrieve the URI for domain:RMs identification purposes
            adaptor, adaptor_uri = AdaptorFactory.create_from_db(peer)
            # HACK to modify the adaptor by removing its default handler
            # (XMLRPC's ServerProxy) when none is provided
            if peer.get("endpoint") == "/":
                adaptor._ServerProxy__handler = ""
            self.info("RM-Adaptor=%s" % (adaptor,))

            geni_v3_credentials = AdaptorFactory.geni_v3_credentials()
            self.info("Credentials successfully retrieved!")
            available = False
            # Resource detector is the only one generating "inner calls"
            # against M/RO to fetch all resources
            # (but virtual links -- linked to the "available" flag)
            inner_call = True
            resources_returned = adaptor.list_resources(geni_v3_credentials,
                                                        available, inner_call)
            return (resources_returned, adaptor_uri)

        except Exception as e:
            self.error("get_resources (%s) exception: %s" % (
                peer.get("type"), str(e),))
            return None, None
예제 #2
0
    def __get_resources(self, peer):
        try:
            # Retrieve the URI for domain:RMs identification purposes
            adaptor, adaptor_uri = AdaptorFactory.create_from_db(peer)
            # HACK to modify the adaptor by removing its default handler
            # (XMLRPC's ServerProxy) when none is provided
            if peer.get("endpoint") == "/":
                adaptor._ServerProxy__handler = ""
            self.info("RM-Adaptor=%s" % (adaptor, ))

            geni_v3_credentials = AdaptorFactory.geni_v3_credentials()
            self.info("Credentials successfully retrieved!")
            available = False
            # Resource detector is the only one generating "inner calls"
            # against M/RO to fetch all resources
            # (but virtual links -- linked to the "available" flag)
            inner_call = True
            resources_returned = adaptor.list_resources(
                geni_v3_credentials, available, inner_call)
            return (resources_returned, adaptor_uri)

        except Exception as e:
            self.error("get_resources (%s) exception: %s" % (
                peer.get("type"),
                str(e),
            ))
            return None, None
예제 #3
0
파일: jobs.py 프로젝트: HalasNet/felix
def slice_expiration(urns):
    logger.info("slice expiration timeout: %s" % (urns, ))
    ro_slivers = []

    route = db_sync_manager.get_slice_routing_keys(urns)
    logger.debug("Route=%s" % (route, ))

    for r, v in route.iteritems():
        peer = db_sync_manager.get_configured_peer_by_routing_key(r)
        logger.debug("peer=%s" % (peer, ))
        adaptor = AdaptorFactory.create_from_db(peer)
        geni_v3_creds = AdaptorFactory.geni_v3_credentials()
        of_slivers = adaptor.delete(urns, geni_v3_creds, False)

        logger.debug("of_s=%s" % (of_slivers, ))
        ro_slivers.extend(of_slivers)

    db_urns = [s.get("geni_sliver_urn") for s in ro_slivers]
    logger.debug("RO-Slivers=%s, DB-URNs=%s" % (ro_slivers, db_urns))
    db_sync_manager.delete_slice_urns(db_urns)
예제 #4
0
파일: jobs.py 프로젝트: dana-i2cat/felix
def slice_expiration(urns):
    logger.info("slice expiration timeout: %s" % (urns, ))
    ro_slivers = []

    route = db_sync_manager.get_slice_routing_keys(urns)
    logger.debug("Route=%s" % (route, ))

    for r, v in route.iteritems():
        peer = db_sync_manager.get_configured_peer_by_routing_key(r)
        logger.debug("peer=%s" % (peer, ))
        adaptor = AdaptorFactory.create_from_db(peer)
        geni_v3_creds = AdaptorFactory.geni_v3_credentials()
        of_slivers = adaptor.delete(urns, geni_v3_creds, False)

        logger.debug("of_s=%s" % (of_slivers, ))
        ro_slivers.extend(of_slivers)

    db_urns = [s.get("geni_sliver_urn") for s in ro_slivers]
    logger.debug("RO-Slivers=%s, DB-URNs=%s" % (ro_slivers, db_urns))
    db_sync_manager.delete_slice_urns(db_urns)