+ for node in list(self.mano_resources):
+ if node.type == "vnfd":
+ vnfd_resources.append(node)
+ self.mano_resources.remove(node)
+
+ vnfd_resources.sort(key=lambda x: x.member_vnf_id, reverse=True)
+ vnf_type_duplicate_map = {}
+ for node in reversed(vnfd_resources):
+ if node.vnf_type in vnf_type_duplicate_map:
+ for policy in self.mano_policies:
+ if hasattr(policy, '_vnf_name') and policy._vnf_name == node.name:
+ policy._vnf_name = vnf_type_duplicate_map[node.vnf_type]
+ continue
+ vnf_type_duplicate_map[node.vnf_type] = node.name
+
+ self.mano_resources.extend(vnfd_resources)