1 # Copyright (c) 2019 Bell Canada.
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
7 # http://www.apache.org/licenses/LICENSE-2.0
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.
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.apps.blueprintsprocessor.functions.netconf.executor import \
20 NetconfComponentFunction
23 class NetconfRpcExample(NetconfComponentFunction):
25 def process(self, execution_request):
27 log = globals()[netconf_constant.SERVICE_LOG]
30 nc = NetconfClient(log, self, "netconf-connection")
31 rr = ResolutionHelper(self)
33 # Get meshed template from DB
34 resolution_key = self.getDynamicProperties("resolution-key").asText()
35 artifact_name = "hostname"
36 payloadHostname = rr.retrieve_resolved_template_from_database(resolution_key, artifact_name)
38 # resolve param and mesh template
39 payloadInterface = rr.resolve_and_generate_message_from_template_prefix("vfw-interface")
43 #if not response.isSuccess():
44 # og.error(response.errorMessage)
46 nc.edit_config(message_content=payloadInterface, edit_default_peration="none")
47 nc.edit_config(message_content=payloadHostname, edit_default_peration="none")
50 #nc.commit(confirmed = True, confirm_timeout=15)
54 except JavaException, err:
55 log.error("Java Exception in the script {}", err)
56 except Exception, err:
57 log.error("Python Exception in the script {}", err)
59 def recover(self, runtime_exception, execution_request):
60 print self.addError(runtime_exception.getMessage())