- # find record info
- table = GeniTable()
- records = table.findObjects({'hrn': hrn, 'type': 'slice', 'peer_authority': None})
- if not records:
- raise RecordNotFound(hrn)
- record = records[0]
- auth_hrn = record['authority']
- auth_info = self.api.auth.get_auth_info(auth_hrn)
- object_gid = record.get_gid_object()
- new_ticket = SfaTicket(subject = object_gid.get_subject())
- new_ticket.set_gid_caller(self.api.auth.client_gid)
- new_ticket.set_gid_object(object_gid)
- new_ticket.set_issuer(key=auth_info.get_pkey_object(), subject=auth_hrn)
- new_ticket.set_pubkey(object_gid.get_pubkey())
+ #log the call
+ self.api.logger.info("interface: %s\tcaller-hrn: %s\ttarget-hrn: %s\tmethod-name: %s"%(self.api.interface, origin_hrn, hrn, self.name))
+
+ # set the right outgoing rules
+ manager_base = 'sfa.managers'
+ if self.api.interface in ['aggregate']:
+ outgoing_rules = SFATablesRules('OUTGOING')
+ mgr_type = self.api.config.SFA_AGGREGATE_TYPE
+ manager_module = manager_base + ".aggregate_manager_%s" % mgr_type
+ manager = __import__(manager_module, fromlist=[manager_base])
+ elif self.api.interface in ['slicemgr']:
+ outgoing_rules = SFATablesRules('FORWARD-OUTGOING')
+ mgr_type = self.api.config.SFA_SM_TYPE
+ manager_module = manager_base + ".slice_manager_%s" % mgr_type
+ manager = __import__(manager_module, fromlist=[manager_base])