summaryrefslogtreecommitdiffstats
path: root/components/model-catalog/blueprint-model
diff options
context:
space:
mode:
authorAlexis de Talhouët <adetalhouet89@gmail.com>2019-02-12 23:05:01 -0500
committerAlexis de Talhouët <adetalhouet89@gmail.com>2019-02-16 19:08:17 -0500
commit77ed352693e0ff917395f5cf2418e31c0fbe27f3 (patch)
treeaffed0dee74ff7e415fc3a375fcea09a0236792a /components/model-catalog/blueprint-model
parent1fc8a79dd315c07a53db1c758dc3ffdb7c5c6a48 (diff)
Rework netconf-executor
- rework connection logic - rework rpc service - rework netconf session handling - rework netconf device communicator - rework python netconf bindings - rework python netconf client - add python script showcasing netconf functions Change-Id: Ibb9bf811e7d96e993aa866371d56c172de83be2c Issue-ID: CCSDK-790:x Signed-off-by: Alexis de Talhouët <adetalhouet89@gmail.com>
Diffstat (limited to 'components/model-catalog/blueprint-model')
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Definitions/activation-blueprint.json4
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Definitions/node_types.json2
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Scripts/python/DefaultGetNetConfig.py41
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Scripts/python/NetconfRpcExample.py52
4 files changed, 55 insertions, 44 deletions
diff --git a/components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Definitions/activation-blueprint.json b/components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Definitions/activation-blueprint.json
index 84c78c62..07c988b1 100644
--- a/components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Definitions/activation-blueprint.json
+++ b/components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Definitions/activation-blueprint.json
@@ -211,7 +211,7 @@
"activate-netconf": {
"type": "component-netconf-executor",
"interfaces": {
- "NetconfExecutorComponent": {
+ "ComponentNetconfExecutor": {
"operations": {
"process": {
"implementation": {
@@ -240,7 +240,7 @@
"artifacts": {
"component-script": {
"type": "artifact-script-jython",
- "file": "Scripts/python/DefaultGetNetConfig.py"
+ "file": "Scripts/python/NetconfRpcExample.py"
}
}
},
diff --git a/components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Definitions/node_types.json b/components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Definitions/node_types.json
index 400db435..52730704 100644
--- a/components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Definitions/node_types.json
+++ b/components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Definitions/node_types.json
@@ -60,7 +60,7 @@
}
},
"interfaces": {
- "NetconfExecutorComponent": {
+ "ComponentNetconfExecutor": {
"operations": {
"process": {
"inputs": {
diff --git a/components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Scripts/python/DefaultGetNetConfig.py b/components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Scripts/python/DefaultGetNetConfig.py
deleted file mode 100644
index c966b1a4..00000000
--- a/components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Scripts/python/DefaultGetNetConfig.py
+++ /dev/null
@@ -1,41 +0,0 @@
-import netconf_constant
-from netconfclient import NetconfClient
-from java.lang import Exception
-from org.onap.ccsdk.apps.blueprintsprocessor.functions.netconf.executor import NetconfComponentFunction
-
-class DefaultGetNetConfig(NetconfComponentFunction):
-
- def process(self, execution_request):
- try:
- log = globals()[netconf_constant.SERVICE_LOG]
- print(globals())
- #requestId = globals()[netconf_constant.PARAM_REQUEST_ID]
- requestId = '1234'
- nc = NetconfClient(log, self)
-
- # Create RPC Serivice
- nc.createRPCServiceFromRequirement("netconf-connection")
-
- 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.error("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/test-blueprint/baseconfiguration/Scripts/python/NetconfRpcExample.py b/components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Scripts/python/NetconfRpcExample.py
new file mode 100644
index 00000000..acdb94aa
--- /dev/null
+++ b/components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Scripts/python/NetconfRpcExample.py
@@ -0,0 +1,52 @@
+# Copyright (c) 2019 Bell Canada.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# 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.
+
+import netconf_constant
+from java.lang import Exception as JavaException
+from netconfclient import NetconfClient
+from org.onap.ccsdk.apps.blueprintsprocessor.functions.netconf.executor import \
+ NetconfComponentFunction
+
+
+class NetconfRpcExample(NetconfComponentFunction):
+
+ def process(self, execution_request):
+ try:
+ log = globals()[netconf_constant.SERVICE_LOG]
+ print(globals())
+ nc = NetconfClient(log, self, "netconf-connection")
+ nc.connect()
+
+ payload = "<configuration xmlns:junos=\"http://xml.juniper.net/junos/17.4R1/junos\"><system xmlns=\"http://yang.juniper.net/junos-qfx/conf/system\"><host-name operation=\"delete\"/><host-name operation=\"create\">DEMO</host-name></system></configuration>"
+
+ response = nc.lock(message_id="lock-123")
+ if not response.isSuccess():
+ log.error(response.errorMessage)
+
+ # nc.edit_config(message_id="edit-config-1", message_content=payload,edit_default_peration="none")
+ # nc.validate(message_id="validate-123")
+ # nc.discard_change(message_id="discard-123")
+ # nc.validate(message_id="validate-123")
+ # nc.commit(message_id="commit-123")
+ # nc.unlock(message_id="unlock-123")
+ # nc.disconnect()
+
+ except JavaException, err:
+ log.error("Java Exception in the script {}", err)
+ except Exception, err:
+ log.error("Python Exception in the script {}", err)
+
+ def recover(self, runtime_exception, execution_request):
+ print "Recovering calling.." + PROPERTY_BLUEPRINT_BASE_PATH
+ return None