aboutsummaryrefslogtreecommitdiffstats
path: root/ms/blueprintsprocessor/modules/services/execution-service/src/main/kotlin
diff options
context:
space:
mode:
authorOleg Mitsura <oleg.mitsura@amdocs.com>2021-01-15 13:49:25 -0500
committerOleg Mitsura <oleg.mitsura@amdocs.com>2021-01-26 10:26:13 -0500
commitb62aabac76abe92f04e0991157292c276d3d9177 (patch)
tree41c7dc0b2a6881e15a1b6af2cbbe2fd5af461544 /ms/blueprintsprocessor/modules/services/execution-service/src/main/kotlin
parent99856ebe10b933a11b683c58635c13a58e542abe (diff)
PV/PVC elimination
Issue-ID: CCSDK-3086 1. initial commit 2. fix accidental paste / rebased cleaned up unneeded validation call in cmd-exec upload Signed-off-by: Oleg Mitsura <oleg.mitsura@amdocs.com> Change-Id: Ife5460c5be59aa8d8592d82099b27c507b08c6c6
Diffstat (limited to 'ms/blueprintsprocessor/modules/services/execution-service/src/main/kotlin')
-rw-r--r--ms/blueprintsprocessor/modules/services/execution-service/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/execution/RemoteScriptExecutionService.kt43
1 files changed, 43 insertions, 0 deletions
diff --git a/ms/blueprintsprocessor/modules/services/execution-service/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/execution/RemoteScriptExecutionService.kt b/ms/blueprintsprocessor/modules/services/execution-service/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/execution/RemoteScriptExecutionService.kt
index 4f3f60110..7e3f16f39 100644
--- a/ms/blueprintsprocessor/modules/services/execution-service/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/execution/RemoteScriptExecutionService.kt
+++ b/ms/blueprintsprocessor/modules/services/execution-service/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/execution/RemoteScriptExecutionService.kt
@@ -24,8 +24,10 @@ import com.google.protobuf.util.JsonFormat
import io.grpc.ManagedChannel
import org.onap.ccsdk.cds.blueprintsprocessor.core.api.data.PrepareRemoteEnvInput
import org.onap.ccsdk.cds.blueprintsprocessor.core.api.data.RemoteIdentifier
+import org.onap.ccsdk.cds.blueprintsprocessor.core.api.data.RemoteScriptUploadBlueprintInput
import org.onap.ccsdk.cds.blueprintsprocessor.core.api.data.RemoteScriptExecutionInput
import org.onap.ccsdk.cds.blueprintsprocessor.core.api.data.RemoteScriptExecutionOutput
+import org.onap.ccsdk.cds.blueprintsprocessor.core.api.data.RemoteScriptUploadBlueprintOutput
import org.onap.ccsdk.cds.blueprintsprocessor.core.api.data.StatusType
import org.onap.ccsdk.cds.blueprintsprocessor.grpc.service.BlueprintGrpcClientService
import org.onap.ccsdk.cds.blueprintsprocessor.grpc.service.BlueprintGrpcLibPropertyService
@@ -35,6 +37,8 @@ import org.onap.ccsdk.cds.controllerblueprints.command.api.ExecutionOutput
import org.onap.ccsdk.cds.controllerblueprints.command.api.Identifiers
import org.onap.ccsdk.cds.controllerblueprints.command.api.Packages
import org.onap.ccsdk.cds.controllerblueprints.command.api.PrepareEnvInput
+import org.onap.ccsdk.cds.controllerblueprints.command.api.UploadBlueprintInput
+import org.onap.ccsdk.cds.controllerblueprints.command.api.UploadBlueprintOutput
import org.onap.ccsdk.cds.controllerblueprints.core.jsonAsJsonType
import org.onap.ccsdk.cds.controllerblueprints.core.utils.JacksonUtils
import org.slf4j.LoggerFactory
@@ -47,6 +51,7 @@ import java.util.concurrent.TimeUnit
interface RemoteScriptExecutionService {
suspend fun init(selector: Any)
+ suspend fun uploadBlueprint(uploadBpInput: RemoteScriptUploadBlueprintInput): RemoteScriptUploadBlueprintOutput
suspend fun prepareEnv(prepareEnvInput: PrepareRemoteEnvInput): RemoteScriptExecutionOutput
suspend fun executeCommand(remoteExecutionInput: RemoteScriptExecutionInput): RemoteScriptExecutionOutput
suspend fun close()
@@ -84,6 +89,19 @@ class GrpcRemoteScriptExecutionService(private val bluePrintGrpcLibPropertyServi
}
}
+ override suspend fun uploadBlueprint(uploadBPInput: RemoteScriptUploadBlueprintInput): RemoteScriptUploadBlueprintOutput {
+ val logPart = "requestId(${uploadBPInput.requestId}) subRequestId(${uploadBPInput.subRequestId}) blueprintName(${uploadBPInput.remoteIdentifier?.blueprintName}) blueprintVersion(${uploadBPInput.remoteIdentifier?.blueprintVersion}) blueprintUUID(${uploadBPInput.remoteIdentifier?.blueprintUUID})"
+ val grpcResponse = commandExecutorServiceGrpc
+ .withDeadlineAfter(uploadBPInput.timeOut * 1000, TimeUnit.MILLISECONDS)
+ .uploadBlueprint(uploadBPInput.asGrpcData())
+ checkNotNull(grpcResponse.status) {
+ "failed to get GRPC upload CBA response status for $logPart"
+ }
+ val uploadBlueprinOutput = grpcResponse.asJavaData()
+ log.info("Received Upload CBA response status(${uploadBlueprinOutput.status}) for $logPart payload(${uploadBlueprinOutput.payload})")
+ return uploadBlueprinOutput
+ }
+
override suspend fun prepareEnv(prepareEnvInput: PrepareRemoteEnvInput): RemoteScriptExecutionOutput {
val grpResponse = commandExecutorServiceGrpc
.withDeadlineAfter(prepareEnvInput.timeOut * 1000, TimeUnit.MILLISECONDS)
@@ -117,6 +135,21 @@ class GrpcRemoteScriptExecutionService(private val bluePrintGrpcLibPropertyServi
channel?.shutdownNow()
}
+ fun RemoteScriptUploadBlueprintInput.asGrpcData(): UploadBlueprintInput {
+ val correlationId = this.correlationId ?: this.requestId
+ return UploadBlueprintInput.newBuilder()
+ .setIdentifiers(this.remoteIdentifier!!.asGrpcData())
+ .setRequestId(this.requestId)
+ .setSubRequestId(this.subRequestId)
+ .setOriginatorId(this.originatorId)
+ .setCorrelationId(correlationId)
+ .setTimestamp(Timestamp.getDefaultInstance())
+ .setBinData(this.binData)
+ .setArchiveType(this.archiveType)
+ .setTimeOut(this.timeOut.toInt())
+ .build()
+ }
+
fun PrepareRemoteEnvInput.asGrpcData(): PrepareEnvInput {
val correlationId = this.correlationId ?: this.requestId
@@ -159,6 +192,7 @@ class GrpcRemoteScriptExecutionService(private val bluePrintGrpcLibPropertyServi
return Identifiers.newBuilder()
.setBlueprintName(this.blueprintName)
.setBlueprintVersion(this.blueprintVersion)
+ .setBlueprintUUID(this.blueprintUUID)
.build()
}
@@ -176,4 +210,13 @@ class GrpcRemoteScriptExecutionService(private val bluePrintGrpcLibPropertyServi
payload = payload.jsonAsJsonType()
)
}
+
+ fun UploadBlueprintOutput.asJavaData(): RemoteScriptUploadBlueprintOutput {
+ return RemoteScriptUploadBlueprintOutput(
+ requestId = this.requestId,
+ subRequestId = this.subRequestId,
+ status = StatusType.valueOf(this.status.name),
+ payload = payload.jsonAsJsonType()
+ )
+ }
}