aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCherukuri, Venkatanaresh (vn166g) <vn166g@att.com>2019-02-05 09:47:55 -0500
committervenkatanaresh cherukuri <vn166g@att.com>2019-02-06 15:36:41 +0000
commit8df5693cba361b130d9feff10e2477cfec1230d7 (patch)
tree31b007c5c95bcc540b0afba2254413afebb03d0f
parentd72aeb02425dc63ee86dbec816aba162cb28b315 (diff)
Blueprint Processor Python Script Components
Adding Python scripts for Netconf Executor components Change-Id: I6d84dea2e47860063a1140146aebe94d61f8d9c1 Issue-ID: CCSDK-997 Signed-off-by: Cherukuri, Venkatanaresh (vn166g) <vn166g@att.com>
-rw-r--r--components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/activation-blueprint.json6
-rw-r--r--components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Scripts/python/DefaultGetNetConfig.py50
-rw-r--r--components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Scripts/python/SamplePythonComponentNode.py (renamed from components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Scripts/SamplePythonComponentNode.py)0
-rw-r--r--components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Scripts/python/__init__.py (renamed from components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Scripts/__init__.py)0
-rw-r--r--components/scripts/python/ccsdk_netconf/__init__.py0
-rw-r--r--components/scripts/python/ccsdk_netconf/common.py2
-rw-r--r--components/scripts/python/ccsdk_netconf/constant.py15
-rw-r--r--components/scripts/python/ccsdk_netconf/netconf_constant.py15
-rw-r--r--components/scripts/python/ccsdk_netconf/netconfclient.py56
9 files changed, 141 insertions, 3 deletions
diff --git a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/activation-blueprint.json b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/activation-blueprint.json
index a3bf546d6..822cc68b7 100644
--- a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/activation-blueprint.json
+++ b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/activation-blueprint.json
@@ -175,7 +175,7 @@
"artifacts": {
"component-script": {
"type": "artifact-script-jython",
- "file": "Scripts/SamplePythonComponentNode.py"
+ "file": "Scripts/python/SamplePythonComponentNode.py"
}
}
},
@@ -205,7 +205,7 @@
"artifacts": {
"component-script": {
"type": "artifact-script-jython",
- "file": "Scripts/SamplePythonComponentNode.py"
+ "file": "Scripts/python/SamplePythonComponentNode.py"
}
}
},
@@ -242,7 +242,7 @@
"artifacts": {
"component-script": {
"type": "artifact-script-jython",
- "file": "Scripts/SamplePythonComponentNode.py"
+ "file": "Scripts/python/DefaultGetNetConfig.py"
}
}
},
diff --git a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Scripts/python/DefaultGetNetConfig.py b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Scripts/python/DefaultGetNetConfig.py
new file mode 100644
index 000000000..4db7c731b
--- /dev/null
+++ b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Scripts/python/DefaultGetNetConfig.py
@@ -0,0 +1,50 @@
+import netconf_constant
+from netconfclient import NetconfClient
+from java.lang import Exception
+from abstract_blueprint_function import AbstractPythonComponentFunction
+from org.onap.ccsdk.apps.blueprintsprocessor.functions.netconf.executor import NetconfRpcService
+from org.onap.ccsdk.apps.controllerblueprints.core.utils import JacksonUtils
+from org.onap.ccsdk.apps.blueprintsprocessor.functions.netconf.executor.interfaces import DeviceInfo
+from org.onap.ccsdk.apps.controllerblueprints.core.service import BluePrintRuntimeService
+
+
+class DefaultGetNetConfig(AbstractPythonComponentFunction):
+ def process(self, execution_request):
+ try:
+ log = globals()[netconf_constant.SERVICE_LOG]
+ print(globals())
+ #requestId = globals()[netconf_constant.PARAM_REQUEST_ID]
+ requestId = '1234'
+
+ bluePrintRuntimeService = globals()['bluePrintRuntimeService']
+
+ capabilityProperty = bluePrintRuntimeService.resolveNodeTemplateCapabilityProperties("sample-netconf-device","netconf")
+
+ log.info("capabilityProperty {}",capabilityProperty)
+ netconfService = NetconfRpcService()
+ nc = NetconfClient(log, netconfService)
+
+ nc.connect(netconfService.getNetconfDeviceInfo(capabilityProperty))
+ runningConfigTemplate = "runningconfig-template"
+
+ runningConfigMessageId = "get-config-" + requestId
+
+ deviceResponse = nc.getConfig(messageId=runningConfigMessageId,
+ filter=runningConfigTemplate)
+
+ log.info("Get Running Config Response {} ", deviceResponse.responseMessage)
+ if(deviceResponse !='null') :
+ status = deviceResponse.status
+ responseData = "{}"
+ if (deviceResponse.status != netconf_constant.STATUS_SUCCESS and deviceResponse.errorMessage != 'null'):
+ errorMessage = "Get Running Config Failure ::"+ deviceResponse.errorMessage
+
+ except Exception, err:
+ log.info("Exception in the script {}",err.getMessage())
+ status = netconf_constant.STATUS_FAILURE
+ errorMessage = "Get Running Config Failure ::"+err.getMessage()
+
+ def recover(self, runtime_exception, execution_request):
+ print "Recovering calling.." + PROPERTY_BLUEPRINT_BASE_PATH
+ return None
+
diff --git a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Scripts/SamplePythonComponentNode.py b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Scripts/python/SamplePythonComponentNode.py
index 0a583dc57..0a583dc57 100644
--- a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Scripts/SamplePythonComponentNode.py
+++ b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Scripts/python/SamplePythonComponentNode.py
diff --git a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Scripts/__init__.py b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Scripts/python/__init__.py
index e69de29bb..e69de29bb 100644
--- a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Scripts/__init__.py
+++ b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Scripts/python/__init__.py
diff --git a/components/scripts/python/ccsdk_netconf/__init__.py b/components/scripts/python/ccsdk_netconf/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/components/scripts/python/ccsdk_netconf/__init__.py
diff --git a/components/scripts/python/ccsdk_netconf/common.py b/components/scripts/python/ccsdk_netconf/common.py
new file mode 100644
index 000000000..139597f9c
--- /dev/null
+++ b/components/scripts/python/ccsdk_netconf/common.py
@@ -0,0 +1,2 @@
+
+
diff --git a/components/scripts/python/ccsdk_netconf/constant.py b/components/scripts/python/ccsdk_netconf/constant.py
new file mode 100644
index 000000000..534ca9e13
--- /dev/null
+++ b/components/scripts/python/ccsdk_netconf/constant.py
@@ -0,0 +1,15 @@
+SERVICE_LOG = "log"
+SERVICE_NETCONF = "netconfService"
+SERVICE_MESSAGE = "messageService"
+
+PARAM_REQUEST_ID = "requestId"
+PARAM_ACTION = "action"
+
+STATUS_SUCCESS = "success"
+STATUS_FAILURE = "failure"
+
+CONFIG_TARGET_RUNNING = "running"
+CONFIG_TARGET_CANDIDATE = "candidate"
+CONFIG_DEFAULT_OPERATION_MERGE = "merge"
+CONFIG_DEFAULT_OPERATION_REPLACE = "replace"
+CONFIG_DEFAULT_OPERATION_NONE = "none"
diff --git a/components/scripts/python/ccsdk_netconf/netconf_constant.py b/components/scripts/python/ccsdk_netconf/netconf_constant.py
new file mode 100644
index 000000000..534ca9e13
--- /dev/null
+++ b/components/scripts/python/ccsdk_netconf/netconf_constant.py
@@ -0,0 +1,15 @@
+SERVICE_LOG = "log"
+SERVICE_NETCONF = "netconfService"
+SERVICE_MESSAGE = "messageService"
+
+PARAM_REQUEST_ID = "requestId"
+PARAM_ACTION = "action"
+
+STATUS_SUCCESS = "success"
+STATUS_FAILURE = "failure"
+
+CONFIG_TARGET_RUNNING = "running"
+CONFIG_TARGET_CANDIDATE = "candidate"
+CONFIG_DEFAULT_OPERATION_MERGE = "merge"
+CONFIG_DEFAULT_OPERATION_REPLACE = "replace"
+CONFIG_DEFAULT_OPERATION_NONE = "none"
diff --git a/components/scripts/python/ccsdk_netconf/netconfclient.py b/components/scripts/python/ccsdk_netconf/netconfclient.py
new file mode 100644
index 000000000..448e03dc1
--- /dev/null
+++ b/components/scripts/python/ccsdk_netconf/netconfclient.py
@@ -0,0 +1,56 @@
+from netconf_constant import CONFIG_TARGET_RUNNING, CONFIG_DEFAULT_OPERATION_REPLACE
+
+
+
+class NetconfClient:
+
+ def __init__(self, log, nc):
+ self.log = log
+ self.nc = nc
+
+ def disconnect(self):
+ self.nc.disconnect()
+ return
+
+ def connect(self,deviceInfo):
+ self.nc.connect(deviceInfo)
+ return
+
+ def lock(self, messageId, configTarget, messageTimeout=30):
+ deviceResponse = self.nc.lock(messageId, configTarget, messageTimeout)
+ return deviceResponse
+
+ def getConfig(self, messageId, filter, configTarget=CONFIG_TARGET_RUNNING, messageTimeout=30):
+ self.log.info("in the ncclient getConfig {}",messageId)
+ self.log.info("in the ncclient getConfig {}",filter)
+ deviceResponse = self.nc.getConfig(messageId, filter, configTarget, messageTimeout)
+ return deviceResponse
+
+ def editConfig(self, messageId, messageContent, reConnect=False, wait=0, lock=False,
+ configTarget=CONFIG_TARGET_RUNNING, editDefaultOperation=CONFIG_DEFAULT_OPERATION_REPLACE,
+ deleteConfig= False, validate= False, commit=False, discardChanges =True, unlock=False,
+ preRestartWait=0, postRestartWait=0, messageTimeout=30):
+ deviceResponse = self.nc.editConfig(messageId, messageContent, reConnect, wait, lock, configTarget,
+ editDefaultOperation, deleteConfig, validate, commit, discardChanges, unlock,
+ preRestartWait, postRestartWait, messageTimeout)
+ return deviceResponse
+
+ def commit(self, messageId, message, discardChanges =True, messageTimeout=30):
+ deviceResponse = self.nc.commit(messageId, message, discardChanges, messageTimeout)
+ return deviceResponse
+
+ def unLock(self, messageId, configTarget, messageTimeout=30):
+ deviceResponse = self.nc.unLock(messageId, configTarget, messageTimeout)
+ return deviceResponse
+
+ def discardChanges(self, messageId, messageTimeout=30):
+ deviceResponse = self.nc.discardChanges(messageId, messageTimeout)
+ return deviceResponse
+
+ def close(self, messageId, force=False, messageTimeout=30):
+ deviceResponse = self.nc.close(messageId, force, messageTimeout)
+ return deviceResponse
+
+ def rpc(self, request, messageId, messageTimeout=30):
+ deviceResponse = self.nc.rpc(request, messageId, messageTimeout)
+ return deviceResponse