2fd6c6659ba36c5c71d4c345a94bfcea535f99f0
[ccsdk/cds.git] / components / model-catalog / blueprint-model / test-blueprint / baseconfiguration / Scripts / python / NetconfRpcExample.py
1 #  Copyright (c) 2019 Bell Canada.
2 #
3 #  Licensed under the Apache License, Version 2.0 (the "License");
4 #  you may not use this file except in compliance with the License.
5 #  You may obtain a copy of the License at
6 #
7 #      http://www.apache.org/licenses/LICENSE-2.0
8 #
9 #  Unless required by applicable law or agreed to in writing, software
10 #  distributed under the License is distributed on an "AS IS" BASIS,
11 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 #  See the License for the specific language governing permissions and
13 #  limitations under the License.
14
15 import netconf_constant
16 from common import ResolutionHelper
17 from java.lang import Exception as JavaException
18 from netconfclient import NetconfClient
19 from org.onap.ccsdk.cds.blueprintsprocessor.services.execution import AbstractScriptComponentFunction
20
21 class NetconfRpcExample(AbstractScriptComponentFunction):
22
23     def process(self, execution_request):
24         try:
25             log = globals()[netconf_constant.SERVICE_LOG]
26             print(globals())
27             nc = NetconfClient(log, self, "netconf-connection")
28             rr = ResolutionHelper(self)
29
30             payload = rr.resolve_and_generate_message_from_template_prefix("hostname")
31
32             nc.connect()
33             response = nc.lock()
34             if not response.isSuccess():
35                 log.error(response.errorMessage)
36
37             nc.edit_config(message_content=payload, edit_default_peration="none")
38             nc.validate()
39             nc.discard_change()
40             nc.validate()
41             nc.commit()
42             nc.unlock()
43             nc.disconnect()
44
45         except JavaException, err:
46             log.error("Java Exception in the script {}", err)
47         except Exception, err:
48             log.error("Python Exception in the script {}", err)
49
50     def recover(self, runtime_exception, execution_request):
51         print "Recovering calling.." + PROPERTY_BLUEPRINT_BASE_PATH
52         return None