- # Filter the outgoing rspec using sfatables
- if self.api.interface=='slicemgr':
- outgoing_rules = SFATablesRules('FORWARD-OUTGOING')
- else:
- outgoing_rules = SFATablesRules('OUTGOING')
+ # 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)
+ 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)
+ outgoing_rules = SFATablesRules('FORWARD-OUTGOING')
+
+ filtered_rspec = rspec