@Override
public void restartVnfr(VirtualNetworkFunctionRecord vnfr)
throws NotFoundException, BadFormatException, ExecutionException, InterruptedException {
VnfmManagerEndpoint endpoint = generator.getVnfm(vnfr.getEndpoint());
if (endpoint == null) {
throw new NotFoundException(
"VnfManager of type "
+ vnfr.getType()
+ " (endpoint = "
+ vnfr.getEndpoint()
+ ") is not registered");
}
VirtualNetworkFunctionDescriptor vnfd =
vnfdRepository.findFirstByIdAndProjectId(
vnfr.getDescriptor_reference(), vnfr.getProjectId());
Map<String, Set<String>> vduVimInstances = new HashMap<>();
for (VirtualDeploymentUnit vdu : vnfd.getVdu())
vduVimInstances.put(vdu.getId(), vdu.getVimInstanceName());
NetworkServiceRecord nsr =
nsrRepository.findFirstByIdAndProjectId(vnfr.getParent_ns_id(), vnfr.getProjectId());
VnfmSender vnfmSender = generator.getVnfmSender(vnfd);
OrVnfmInstantiateMessage message =
generator.getNextMessage(vnfd, vduVimInstances, nsr, null, null);
message.setVnfr(vnfr);
log.debug("----------Executing ACTION: " + message.getAction());
vnfStateHandler.executeAction(vnfmSender.sendCommand(message, endpoint));
log.info("Sent " + message.getAction() + " to VNF: " + vnfd.getName());
}