Add wrapper function for Cli and Netconf executor 20/95620/1
authorSteve Siani <alphonse.steve.siani.djissitchi@ibm.com>
Thu, 12 Sep 2019 19:38:23 +0000 (15:38 -0400)
committerSteve Siani <alphonse.steve.siani.djissitchi@ibm.com>
Thu, 12 Sep 2019 19:38:23 +0000 (15:38 -0400)
Issue-ID: CCSDK-1707
Signed-off-by: Steve Siani <alphonse.steve.siani.djissitchi@ibm.com>
Change-Id: I2c29d0135b8252cd21ed3d139516ac637c846927

components/scripts/python/ccsdk_netconf/common.py
components/scripts/python/ccsdk_netconf/netconfclient.py
ms/blueprintsprocessor/functions/cli-executor/src/main/kotlin/internal/scripts/InternalSimpleCli.kt
ms/blueprintsprocessor/functions/cli-executor/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/cli/executor/CliExecutorExtensions.kt

index 66c7a98..457d460 100644 (file)
@@ -12,6 +12,7 @@
 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
+from netconf_constant import *
 from org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution import ResourceResolutionExtensionsKt
 
 
@@ -21,9 +22,45 @@ class ResolutionHelper:
         self.component_function = component_function
 
     def resolve_and_generate_message_from_template_prefix(self, artifact_prefix):
+        """Get the template resolved in the current workflow execution by the artifact prefix
+
+        :param artifact_prefix:
+        :return: template
+        """
         return ResourceResolutionExtensionsKt.contentFromResolvedArtifact(self.component_function, artifact_prefix)
 
     def retrieve_resolved_template_from_database(self, key, artifact_template):
+        """Get the template resolved and stored with resolution-key and matching with the artifact name
+
+        :param key:
+        :param artifact_template:
+        :return:
+        """
         return ResourceResolutionExtensionsKt.storedContentFromResolvedArtifact(self.component_function, key,
                                                                                 artifact_template)
 
+    def set_execution_attribute_response_data(self, response_data):
+        """For the current node execution, set the attribute value of response-data
+
+        :param response_data:
+        :return:
+        """
+        self.component_function.setAttribute(ATTRIBUTE_RESPONSE_DATA, response_data)
+
+    def get_node_template_attribute(self, node_template_name, attribute_key):
+        """get attribute value for a specific node template of the current workflow
+
+        :param node_template_name:
+        :param attribute_key:
+        :return: JsonNode
+        """
+        self.component_function.getNodeTemplateAttribute(node_template_name, attribute_key)
+
+    def get_input_value(self, key):
+        """Get input value of the current node template execution
+
+        :param key:
+        :return: JsonNode
+        """
+        self.component_function.bluePrintRuntimeService.getInputValue(key)
+
index 74ac7e3..2d48293 100644 (file)
@@ -63,6 +63,3 @@ class NetconfClient:
     def get(self, filter_content):
         device_response = self.netconf_rpc_client.get(filter_content)
         return device_response
-
-    def set_execution_attribute_response_data(self, response_data):
-        self.component_function.setAttribute(ATTRIBUTE_RESPONSE_DATA, response_data)
index cf27cc2..15365e1 100644 (file)
 package internal.scripts
 
 import org.onap.ccsdk.cds.blueprintsprocessor.core.api.data.ExecutionServiceInput
+import org.onap.ccsdk.cds.blueprintsprocessor.functions.cli.executor.cliDeviceInfo
+import org.onap.ccsdk.cds.blueprintsprocessor.functions.cli.executor.getSshClientService
 import org.onap.ccsdk.cds.blueprintsprocessor.services.execution.AbstractScriptComponentFunction
 import org.onap.ccsdk.cds.blueprintsprocessor.services.execution.ComponentScriptExecutor
-import org.onap.ccsdk.cds.blueprintsprocessor.ssh.sshClientService
 import org.onap.ccsdk.cds.controllerblueprints.core.asJsonPrimitive
-import org.onap.ccsdk.cds.controllerblueprints.core.service.BluePrintDependencyService
+
 import org.slf4j.LoggerFactory
 
 open class TestCliScriptFunction : AbstractScriptComponentFunction() {
@@ -54,10 +55,10 @@ open class Check : AbstractScriptComponentFunction() {
 
     override suspend fun processNB(executionRequest: ExecutionServiceInput) {
         // Get the Device Information from the DSL Model
-        val deviceInformation = bluePrintRuntimeService.resolveDSLExpression("device-properties")
+        val deviceInformation = cliDeviceInfo("device-properties")
 
         // Get the Client Service
-        val sshClientService = BluePrintDependencyService.sshClientService(deviceInformation)
+        val sshClientService = getSshClientService(deviceInformation)
 
         sshClientService.startSessionNB()
 
index bc9b710..ad95759 100644 (file)
 
 package org.onap.ccsdk.cds.blueprintsprocessor.functions.cli.executor
 
+import com.fasterxml.jackson.databind.JsonNode
+import org.onap.ccsdk.cds.blueprintsprocessor.services.execution.AbstractComponentFunction
+import org.onap.ccsdk.cds.blueprintsprocessor.ssh.service.BlueprintSshClientService
+import org.onap.ccsdk.cds.blueprintsprocessor.ssh.sshClientService
+import org.onap.ccsdk.cds.controllerblueprints.core.service.BluePrintDependencyService
+
 /**
  * Register the CLI module exposed dependency
  */
+fun AbstractComponentFunction.cliDeviceInfo(requirementName: String): JsonNode {
+    return bluePrintRuntimeService.resolveDSLExpression(requirementName)
+}
+
+fun AbstractComponentFunction.getSshClientService(cliDeviceInfo: JsonNode): BlueprintSshClientService {
+    return BluePrintDependencyService.sshClientService(cliDeviceInfo)
+}