diff options
author | 2019-07-25 18:08:13 +0000 | |
---|---|---|
committer | 2019-07-25 20:12:24 +0000 | |
commit | d6cd69896b26c9b1c46ca3f2bea95549bca6a0d3 (patch) | |
tree | 4b3466974343baf44ea8aeda055a033f78ce3ea8 /components/model-catalog/blueprint-model/service-blueprint/vLB/Scripts | |
parent | 961f4b1e3b91ffa3821d02ac4a57cd207e8081bb (diff) |
Add the vDNS CBA in the CDS source
Issue-ID: CCSDK-1533
Signed-off-by: Abdelmuhaimen Seaudi <abdelmuhaimen.seaudi@orange.com>
Change-Id: Ie821dec3de708a529b291cb07690d4df2df9d488
Signed-off-by: Abdelmuhaimen Seaudi <abdelmuhaimen.seaudi@orange.com>
Diffstat (limited to 'components/model-catalog/blueprint-model/service-blueprint/vLB/Scripts')
-rw-r--r-- | components/model-catalog/blueprint-model/service-blueprint/vLB/Scripts/python/ConfigDeploy.py | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/components/model-catalog/blueprint-model/service-blueprint/vLB/Scripts/python/ConfigDeploy.py b/components/model-catalog/blueprint-model/service-blueprint/vLB/Scripts/python/ConfigDeploy.py new file mode 100644 index 000000000..9e027e24c --- /dev/null +++ b/components/model-catalog/blueprint-model/service-blueprint/vLB/Scripts/python/ConfigDeploy.py @@ -0,0 +1,54 @@ +# 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 common import ResolutionHelper
+from time import sleep
+from netconfclient import NetconfClient
+from org.onap.ccsdk.cds.blueprintsprocessor.functions.netconf.executor import \
+ NetconfComponentFunction
+
+
+class ConfigDeploy(NetconfComponentFunction):
+
+ def process(self, execution_request):
+ log = globals()[netconf_constant.SERVICE_LOG]
+ print(globals())
+ print("Waiting 4 minutes until NETCONF server is UP on vLB ...")
+ sleep (240)
+ nc = NetconfClient(log, self, "netconf-connection")
+ rr = ResolutionHelper(self)
+
+ # Get meshed template from DB
+ resolution_key = self.getDynamicProperties("resolution-key").asText()
+ payloadHostname = rr.retrieve_resolved_template_from_database(resolution_key, "baseconfig")
+ payloadInterface = rr.retrieve_resolved_template_from_database(resolution_key, "incremental-config")
+
+ nc.connect()
+ nc.lock()
+ #if not response.isSuccess():
+ # og.error(response.errorMessage)
+ nc.discard_change()
+ nc.edit_config(message_content=payloadInterface, edit_default_peration="none")
+ nc.edit_config(message_content=payloadHostname, edit_default_peration="none")
+ nc.validate()
+ nc.commit()
+ #nc.commit(confirmed = True, confirm_timeout=15)
+ nc.unlock()
+ nc.disconnect()
+
+ def recover(self, runtime_exception, execution_request):
+ log.error("Exception in the script {}", runtime_exception)
+ print self.addError(runtime_exception.cause.message)
+ return None
\ No newline at end of file |