private VNFCInstance allocateVNFC( BaseVimInstance vimInstance, VirtualDeploymentUnit virtualDeploymentUnit, VirtualNetworkFunctionRecord virtualNetworkFunctionRecord, org.openbaton.nfvo.vim_interfaces.resource_management.ResourceManagement vim, VNFComponent component, String userdata, Set<Key> keys) throws InterruptedException, ExecutionException, VimException { log.trace("UserData is: " + userdata); Map<String, String> floatinIps = new HashMap<>(); for (VNFDConnectionPoint connectionPoint : component.getConnection_point()) { floatinIps.put(connectionPoint.getVirtual_link_reference(), connectionPoint.getFloatingIp()); } log.info("FloatingIp chosen are: " + floatinIps); VNFCInstance added = vim.allocate( vimInstance, virtualDeploymentUnit, virtualNetworkFunctionRecord, component, userdata, floatinIps, keys) .get(); virtualDeploymentUnit.getVnfc_instance().add(added); if (!floatinIps.isEmpty() && added.getFloatingIps().isEmpty()) log.warn("NFVO wasn't able to associate FloatingIPs. Is there enough available?"); return added; }
connectionPoint.getVirtual_link_reference(), connectionPoint.getFloatingIp()); if (floatingIps.size() != instance.getFloatingIps().size()) { log.warn("NFVO wasn't able to all associate FloatingIPs. Is there enough available?"); log.debug("Expected FloatingIPs: " + floatingIps); log.debug("Real FloatingIPs: " + instance.getFloatingIps());
connectionPoint.getVirtual_link_reference(), connectionPoint.getFloatingIp()); if (floatingIps.size() != vnfc.getFloatingIps().size()) { log.warn("NFVO wasn't able to all associate FloatingIPs. Is there enough available?"); log.debug("Expected FloatingIPs: " + floatingIps); log.debug("Real FloatingIPs: " + vnfc.getFloatingIps());
ip.setNetName(fip.getKey()); ip.setIp(fip.getValue()); vnfcInstance.getFloatingIps().add(ip);
if (expectedFloatingIpCount != vnfcInstance.getFloatingIps().size()) { throw new VimException( "Not all (or too many) Floating IPs were associated. Expected: " + expectedFloatingIpCount + " Allocated: " + vnfcInstance.getFloatingIps().size());
for (Ip ip : vnfcInstance.getFloatingIps()) { if (parameterKeys.contains(ip.getNetName() + "_floatingIp")) { log.debug(
vnfcDP.setParameters(new HashMap<String, String>()); for (Ip ip : vnfcInstance.getFloatingIps()) vnfcDP.getParameters().put(ip.getNetName() + "_floatingIp", ip.getIp());
vnfcDP.setParameters(new HashMap<>()); for (Ip ip : vnfcInstance.getFloatingIps()) { vnfcDP.getParameters().put(ip.getNetName() + "_floatingIp", ip.getIp());