use of org.onap.so.client.adapter.cnf.entities.InstanceResponse in project so by onap.
the class CnfAdapterCreateTasks method createInstance.
/**
* This method is used for creating the request for an Instance in Multicloud K8s Plugin.
*
* @param execution
* @return
*/
public void createInstance(BuildingBlockExecution execution) {
try {
GeneralBuildingBlock gBBInput = execution.getGeneralBuildingBlock();
ServiceInstance serviceInstance = gBBInput.getCustomer().getServiceSubscription().getServiceInstances().get(0);
GenericVnf genericVnf = extractPojosForBB.extractByKey(execution, ResourceKey.GENERIC_VNF_ID);
VfModule vfModule = extractPojosForBB.extractByKey(execution, ResourceKey.VF_MODULE_ID);
RequestContext requestContext = gBBInput.getRequestContext();
CloudRegion cloudRegion = gBBInput.getCloudRegion();
String sdncVfModuleQueryResponse = execution.getVariable(SDNCQUERY_RESPONSE + vfModule.getVfModuleId());
String sdncVnfQueryResponse = execution.getVariable(SDNCQUERY_RESPONSE + genericVnf.getVnfId());
Map<String, Object> paramsMap = vfModuleMapper.buildVfModuleParamsMap(requestContext, serviceInstance, genericVnf, vfModule, sdncVnfQueryResponse, sdncVfModuleQueryResponse);
Map<String, String> sdncDirectives = getSdncDirectives(paramsMap);
InstanceRequest createInstanceRequest = createInstanceRequest(vfModule, cloudRegion, sdncDirectives);
InstanceResponse response = cnfAdapterClient.createVfModule(createInstanceRequest);
execution.setVariable("heatStackId", response.getId());
} catch (Exception ex) {
logger.error("Exception occurred", ex);
exceptionUtil.buildAndThrowWorkflowException(execution, 7000, ex);
}
}
use of org.onap.so.client.adapter.cnf.entities.InstanceResponse in project so by onap.
the class CnfAdapterClient method createVfModule.
@Retryable(value = { HttpServerErrorException.class }, maxAttempts = 3, backoff = @Backoff(delay = 3000))
public InstanceResponse createVfModule(InstanceRequest request) throws CnfAdapterClientException {
try {
// String uri = env.getRequiredProperty("mso.cnf.adapter.endpoint"); //TODO: This needs to be added as well
// for configuration
String uri = "http://so-cnf-adapter:8090";
String endpoint = UriBuilder.fromUri(uri).path(INSTANCE_CREATE_PATH).build().toString();
HttpEntity<?> entity = getHttpEntity(request);
ResponseEntity<InstanceResponse> result = restTemplate.exchange(endpoint, HttpMethod.POST, entity, InstanceResponse.class);
return result.getBody();
} catch (HttpClientErrorException e) {
logger.error("Error Calling CNF Adapter, e");
if (HttpStatus.SC_NOT_FOUND == e.getStatusCode().value()) {
throw new EntityNotFoundException(e.getResponseBodyAsString());
}
throw e;
}
}
use of org.onap.so.client.adapter.cnf.entities.InstanceResponse in project so by onap.
the class CnfAdapterClient method healthcheck.
@Retryable(value = { HttpServerErrorException.class }, maxAttempts = 3, backoff = @Backoff(delay = 3000))
public InstanceResponse healthcheck() throws CnfAdapterClientException {
try {
// String uri = env.getRequiredProperty("mso.cnf.adapter.endpoint"); //TODO: This needs to be added as well
// for configuration
String uri = "http://so-cnf-adapter:8090";
String endpoint = UriBuilder.fromUri(uri).path("/api/cnf-adapter/v1/healthcheck").build().toString();
HttpEntity<?> entity = new HttpEntity<>(getHttpHeaders());
ResponseEntity<InstanceResponse> result = restTemplate.exchange(endpoint, HttpMethod.GET, entity, InstanceResponse.class);
return result.getBody();
} catch (HttpClientErrorException e) {
logger.error("Error Calling CNF Adapter, e");
if (HttpStatus.SC_NOT_FOUND == e.getStatusCode().value()) {
throw new EntityNotFoundException(e.getResponseBodyAsString());
}
throw e;
}
}
Aggregations