From b761c64db074de56defbf049748d74bdeb7cff6b Mon Sep 17 00:00:00 2001 From: Kanagaraj Manickam k00365106 Date: Fri, 2 Aug 2019 14:38:20 +0530 Subject: Update rpc Issue-ID: VNFSDK-424 Change-Id: I88ed722a3b1483603b7948cbfc60f4959e497aab Signed-off-by: Kanagaraj Manickam k00365106 --- .../src/main/java/org/onap/vtp/VTPResource.java | 39 ++++++++++++++++------ .../onap/vtp/execution/VTPExecutionResource.java | 2 ++ 2 files changed, 31 insertions(+), 10 deletions(-) (limited to 'vnfmarket-be/vnf-sdk-marketplace/src/main/java') diff --git a/vnfmarket-be/vnf-sdk-marketplace/src/main/java/org/onap/vtp/VTPResource.java b/vnfmarket-be/vnf-sdk-marketplace/src/main/java/org/onap/vtp/VTPResource.java index 7d408e4b..1c1c6336 100644 --- a/vnfmarket-be/vnf-sdk-marketplace/src/main/java/org/onap/vtp/VTPResource.java +++ b/vnfmarket-be/vnf-sdk-marketplace/src/main/java/org/onap/vtp/VTPResource.java @@ -46,6 +46,7 @@ public class VTPResource { protected static int VTP_TEST_CENTER_PORT; // NOSONAR protected static String VTP_ARTIFACT_STORE; // NOSONAR protected static String VTP_EXECUTION_TEMP_STORE; // NOSONAR + protected static int VTP_EXECUTION_GRPC_TIMEOUT; // NOSONAR protected static final SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS", Locale.US); // NOSONAR @@ -59,21 +60,28 @@ public class VTPResource { VTP_TEST_CENTER_PORT = Integer.parseInt(prp.getProperty("vtp.grpc.port")); VTP_ARTIFACT_STORE = prp.getProperty("vtp.artifact.store"); VTP_EXECUTION_TEMP_STORE = prp.getProperty("vtp.file.store"); + VTP_EXECUTION_GRPC_TIMEOUT = Integer.parseInt(prp.getProperty("vtp.grpc.timeout")) * 1000 ; } catch (Exception e) { // NOSONAR LOG.error(e.getMessage()); } } protected Result makeRpc(List args) throws VTPException { + return this.makeRpc(args, VTP_EXECUTION_GRPC_TIMEOUT); + } + + protected Result makeRpc(List args, int timeout) throws VTPException { Result result = null; String requestId = UUID.randomUUID().toString(); try { - result = OpenRemoteCli.run( - VTP_TEST_CENTER_IP, VTP_TEST_CENTER_PORT, requestId, - args); + result = new OpenRemoteCli( + VTP_TEST_CENTER_IP, + VTP_TEST_CENTER_PORT, + timeout, + requestId).run(args); } catch(OpenInterfaceGrpcClient.OpenInterfaceGrpcTimeoutExecption e) { throw new VTPException( - new VTPError().setHttpStatus(HttpStatus.SC_GATEWAY_TIMEOUT).setMessage("Timeout.").setCode(VTPError.TIMEOUT)); + new VTPError().setHttpStatus(HttpStatus.SC_GATEWAY_TIMEOUT).setMessage("Timed out. Please use request-id to track the progress.").setCode(VTPError.TIMEOUT)); } catch (Exception e) { throw new VTPException(new VTPError().setMessage(e.getMessage())); } @@ -91,22 +99,33 @@ public class VTPResource { } protected JsonNode makeRpcAndGetJson(List args) throws VTPException, IOException { - Result result = this.makeRpc(args); + return this.makeRpcAndGetJson(args, VTP_EXECUTION_GRPC_TIMEOUT); + } + + protected JsonNode makeRpcAndGetJson(List args, int timeout) throws VTPException, IOException { + Result result = this.makeRpc(args, timeout); ObjectMapper mapper = new ObjectMapper(); JsonNode resultJson = mapper.readTree(result.getOutput()); return resultJson; } - protected Output makeRpc(String scenario, String requestId, String profile, String testCase, JsonNode argsJsonNode) throws VTPException { + return this.makeRpc(scenario, requestId, profile, testCase, argsJsonNode, VTP_EXECUTION_GRPC_TIMEOUT); + } + + protected Output makeRpc(String scenario, String requestId, String profile, String testCase, JsonNode argsJsonNode, int timeout) throws VTPException { Output output = null; ObjectMapper mapper = new ObjectMapper(); Map args = mapper.convertValue(argsJsonNode, Map.class); try { - output = OpenRemoteCli.invoke(VTP_TEST_CENTER_IP, VTP_TEST_CENTER_PORT, scenario, profile, testCase, requestId, args); - } catch(OpenInterfaceGrpcClient.OpenInterfaceGrpcTimeoutExecption e) { - throw new VTPException( - new VTPError().setHttpStatus(HttpStatus.SC_GATEWAY_TIMEOUT).setMessage(e.getMessage()).setCode(VTPError.TIMEOUT)); + output = new OpenRemoteCli( + VTP_TEST_CENTER_IP, + VTP_TEST_CENTER_PORT, + timeout, + requestId).invoke(scenario, profile, testCase, args); + } catch(OpenInterfaceGrpcClient.OpenInterfaceGrpcTimeoutExecption e) { + throw new VTPException( + new VTPError().setHttpStatus(HttpStatus.SC_GATEWAY_TIMEOUT).setMessage("Timed out. Please use request-id to track the progress.").setCode(VTPError.TIMEOUT)); } catch (Exception e) { throw new VTPException( new VTPError().setMessage(e.getMessage())); diff --git a/vnfmarket-be/vnf-sdk-marketplace/src/main/java/org/onap/vtp/execution/VTPExecutionResource.java b/vnfmarket-be/vnf-sdk-marketplace/src/main/java/org/onap/vtp/execution/VTPExecutionResource.java index 70ec6e6a..1427a578 100644 --- a/vnfmarket-be/vnf-sdk-marketplace/src/main/java/org/onap/vtp/execution/VTPExecutionResource.java +++ b/vnfmarket-be/vnf-sdk-marketplace/src/main/java/org/onap/vtp/execution/VTPExecutionResource.java @@ -29,6 +29,7 @@ import java.util.Map; import java.util.UUID; import javax.ws.rs.Consumes; +import javax.ws.rs.DefaultValue; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.Path; @@ -51,6 +52,7 @@ import org.onap.vtp.error.VTPError.VTPException; import org.onap.vtp.execution.model.VTPTestExecution; import org.onap.vtp.execution.model.VTPTestExecution.VTPTestExecutionList; import org.open.infc.grpc.Output; +import org.open.infc.grpc.Result; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.JsonNode; -- cgit 1.2.3-korg