- # Filter the outgoing rspec using sfatables
- import pdb
- pdb.set_trace()
- if self.api.interface=='slicemgr':
- outgoing_rules = SFATablesRules('FORWARD-OUTGOING')
- else:
- outgoing_rules = SFATablesRules('OUTGOING')
- if outgoing_rules.sorted_rule_list:
- request_context = rspec_manager.fetch_context(
- hrn,
- Credential(string=caller_cred).get_gid_caller().get_hrn(),
- outgoing_rules.contexts)
+ # send the call to the right manager
+ manager_base = 'sfa.managers'
+ if self.api.interface in ['aggregate']:
+ mgr_type = self.api.config.SFA_AGGREGATE_TYPE
+ manager_module = manager_base + ".aggregate_manager_%s" % mgr_type
+ manager = __import__(manager_module, fromlist=[manager_base])
+ rspec = manager.get_rspec(self.api, hrn, origin_hrn)
+ outgoing_rules = SFATablesRules('OUTGOING')
+ elif self.api.interface in ['slicemgr']:
+ mgr_type = self.api.config.SFA_SM_TYPE
+ manager_module = manager_base + ".slice_manager_%s" % mgr_type
+ manager = __import__(manager_module, fromlist=[manager_base])
+ rspec = manager.get_rspec(self.api, hrn, origin_hrn)
+ outgoing_rules = SFATablesRules('FORWARD-OUTGOING')
+
+ filtered_rspec = rspec
+ if outgoing_rules.sorted_rule_list:
+ request_context = manager.fetch_context(hrn, origin_hrn, outgoing_rules.contexts)