diff options
author | Alexis de Talhouët <adetalhouet89@gmail.com> | 2019-04-18 16:27:20 -0400 |
---|---|---|
committer | Alexis de Talhouët <adetalhouet89@gmail.com> | 2019-04-18 20:28:22 +0000 |
commit | cc96f30a504aa32030eafefdba69d635869c7949 (patch) | |
tree | 64de5cdc5735190429e89bd598e41bd1973a163f /ms/blueprintsprocessor/functions/python-executor | |
parent | 01cbd5c7ea7b554f229ff3735d5352038f8b4419 (diff) |
Add support for Ansible packages
- rework how to provide packages
- support proxy as parameters
Change-Id: I1d10d921ead0837aa0f74b965cadf985424ceedc
Issue-ID: CCCSDK-1215
Signed-off-by: Alexis de Talhouët <adetalhouet89@gmail.com>
Diffstat (limited to 'ms/blueprintsprocessor/functions/python-executor')
2 files changed, 8 insertions, 8 deletions
diff --git a/ms/blueprintsprocessor/functions/python-executor/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/python/executor/ComponentRemotePythonExecutor.kt b/ms/blueprintsprocessor/functions/python-executor/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/python/executor/ComponentRemotePythonExecutor.kt index 6437cdf03..17d5fc76d 100644 --- a/ms/blueprintsprocessor/functions/python-executor/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/python/executor/ComponentRemotePythonExecutor.kt +++ b/ms/blueprintsprocessor/functions/python-executor/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/python/executor/ComponentRemotePythonExecutor.kt @@ -16,6 +16,8 @@ package org.onap.ccsdk.cds.blueprintsprocessor.functions.python.executor +import com.fasterxml.jackson.databind.node.MissingNode +import com.fasterxml.jackson.databind.node.NullNode import org.onap.ccsdk.cds.blueprintsprocessor.core.api.data.* import org.onap.ccsdk.cds.blueprintsprocessor.services.execution.AbstractComponentFunction import org.onap.ccsdk.cds.blueprintsprocessor.services.execution.ExecutionServiceConstant @@ -47,6 +49,7 @@ open class ComponentRemotePythonExecutor(private val remoteScriptExecutionServic const val INPUT_ENDPOINT_SELECTOR = "endpoint-selector" const val INPUT_DYNAMIC_PROPERTIES = "dynamic-properties" const val INPUT_COMMAND = "command" + const val INPUT_PACKAGES = "packages" } override suspend fun processNB(executionRequest: ExecutionServiceInput) { @@ -75,11 +78,12 @@ open class ComponentRemotePythonExecutor(private val remoteScriptExecutionServic val endPointSelector = getOperationInput(INPUT_ENDPOINT_SELECTOR) val dynamicProperties = getOperationInput(INPUT_DYNAMIC_PROPERTIES) val command = getOperationInput(INPUT_COMMAND).asText() + val packages = getOperationInput(INPUT_PACKAGES) // TODO("Python execution command and Resolve some expressions with dynamic properties") val scriptCommand = command.replace(pythonScript.name, pythonScript.absolutePath) - val dependencies = operationAssignment.implementation?.dependencies +// val dependencies = operationAssignment.implementation?.dependencies try { // Open GRPC Connection @@ -87,13 +91,12 @@ open class ComponentRemotePythonExecutor(private val remoteScriptExecutionServic var executionLogs = "" - // If dependencies are defined, then install in remote server - if (dependencies != null && dependencies.isNotEmpty()) { + // If packages are defined, then install in remote server + if (packages !is MissingNode && packages !is NullNode) { val prepareEnvInput = PrepareRemoteEnvInput(requestId = processId, remoteIdentifier = RemoteIdentifier(blueprintName = blueprintName, blueprintVersion = blueprintVersion), - remoteScriptType = RemoteScriptType.PYTHON, - packages = dependencies + packages = packages ) val prepareEnvOutput = remoteScriptExecutionService.prepareEnv(prepareEnvInput) executionLogs = prepareEnvOutput.response @@ -106,7 +109,6 @@ open class ComponentRemotePythonExecutor(private val remoteScriptExecutionServic val remoteExecutionInput = RemoteScriptExecutionInput( requestId = processId, remoteIdentifier = RemoteIdentifier(blueprintName = blueprintName, blueprintVersion = blueprintVersion), - remoteScriptType = RemoteScriptType.PYTHON, command = scriptCommand) val remoteExecutionOutput = remoteScriptExecutionService.executeCommand(remoteExecutionInput) executionLogs += remoteExecutionOutput.response diff --git a/ms/blueprintsprocessor/functions/python-executor/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/python/executor/ComponentRemotePythonExecutorTest.kt b/ms/blueprintsprocessor/functions/python-executor/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/python/executor/ComponentRemotePythonExecutorTest.kt index 7cd5d5cac..03616d5e4 100644 --- a/ms/blueprintsprocessor/functions/python-executor/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/python/executor/ComponentRemotePythonExecutorTest.kt +++ b/ms/blueprintsprocessor/functions/python-executor/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/python/executor/ComponentRemotePythonExecutorTest.kt @@ -68,7 +68,6 @@ class MockRemoteScriptExecutionService : RemoteScriptExecutionService { override suspend fun prepareEnv(prepareEnvInput: PrepareRemoteEnvInput): RemoteScriptExecutionOutput { assertEquals(prepareEnvInput.requestId, "123456-1000", "failed to match request id") - assertEquals(prepareEnvInput.remoteScriptType, RemoteScriptType.PYTHON, "failed to match script type") assertNotNull(prepareEnvInput.packages, "failed to get packages") val remoteScriptExecutionOutput = mockk<RemoteScriptExecutionOutput>() @@ -78,7 +77,6 @@ class MockRemoteScriptExecutionService : RemoteScriptExecutionService { override suspend fun executeCommand(remoteExecutionInput: RemoteScriptExecutionInput): RemoteScriptExecutionOutput { assertEquals(remoteExecutionInput.requestId, "123456-1000", "failed to match request id") - assertEquals(remoteExecutionInput.remoteScriptType, RemoteScriptType.PYTHON, "failed to match script type") val remoteScriptExecutionOutput = mockk<RemoteScriptExecutionOutput>() every { remoteScriptExecutionOutput.status } returns StatusType.SUCCESS |