def get_SFC_data(self): try: self._has_more = True SFCItemList.clear_list() sfcs = api.tacker.sfc_list(self.request) print "SFC Listing: " + str(sfcs) list_vnfs = tacker_api.vnf_list(self.request) dict_vnfs = self.build_dict_vnfs(list_vnfs) LOG.debug(">>>>>>>dict of vnfs on get_SFC_data: %s" % dict_vnfs) for sfc in sfcs: LOG.info(">>>>>>>>>>>>>>sfc includes: %s" % sfc) LOG.debug(">>>>>>>>>>>>>sfc chain: %s" % sfc["chain"]) vnf_names = self._get_vnf_names(sfc["chain"],dict_vnfs) obj = SFCItem(status=sfc['status'], name=sfc['name'], description=sfc['description'], chain=vnf_names, tenant_id=sfc['tenant_id'], instance_id=sfc['instance_id'], infra_driver=sfc['infra_driver'], attributes=sfc['attributes'], symmetrical=sfc['symmetrical'], id=sfc['id'], ) LOG.info(">>>>>>>>>>>object value for SFClassifierItem : %s" % obj) SFCItemList.add_item(obj) return SFCItemList.SFCItemLIST_P except Exception: self._has_more = False error_message = _('Unable to get instances') exceptions.handle(self.request, error_message) return []
def __init__(self, request, *args, **kwargs): super(AddSFCForm, self).__init__(request, *args, **kwargs) has_more_data = True available_vnfs = tacker_api.vnf_list(request) vnfs = [] for vnf in available_vnfs: vnfs.append((vnf['id'],vnf['name'])) LOG.info(">>>>>>>>>>>>>>>>available_vnfs = %s" % available_vnfs) self.fields['chain'].choices = [('', _('Select SFC applies for chain')) ]+vnfs LOG.debug("done initial adding sfc form")