diff options
Diffstat (limited to 'components')
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 a3bf546d..822cc68b 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 00000000..4db7c731 --- /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 0a583dc5..0a583dc5 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 e69de29b..e69de29b 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 00000000..e69de29b --- /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 00000000..139597f9 --- /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 00000000..534ca9e1 --- /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 00000000..534ca9e1 --- /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 00000000..448e03dc --- /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 |