From 50bd4a0f591d9d00335b008a9e66f1906d40bc20 Mon Sep 17 00:00:00 2001 From: "Haddox, Anthony" Date: Wed, 16 Jan 2019 08:08:35 -0800 Subject: [CCSDK-953]Create Daexim Offsite Backup Inital commit of ODL feature Issue-ID: CCSDK-953 Change-Id: I7eb64fc9f414083db424700f2c901ba0a66cb0c4 Signed-off-by: Haddox, Anthony --- daexim-offsite-backup/model/.gitignore | 1 + daexim-offsite-backup/model/pom.xml | 27 ++++++++++ .../model/scripts/python/yang2props.py | 57 ++++++++++++++++++++++ .../model/src/main/yang/daexim-offsite-backup.yang | 46 +++++++++++++++++ 4 files changed, 131 insertions(+) create mode 100755 daexim-offsite-backup/model/.gitignore create mode 100755 daexim-offsite-backup/model/pom.xml create mode 100755 daexim-offsite-backup/model/scripts/python/yang2props.py create mode 100755 daexim-offsite-backup/model/src/main/yang/daexim-offsite-backup.yang (limited to 'daexim-offsite-backup/model') diff --git a/daexim-offsite-backup/model/.gitignore b/daexim-offsite-backup/model/.gitignore new file mode 100755 index 000000000..eacf31a67 --- /dev/null +++ b/daexim-offsite-backup/model/.gitignore @@ -0,0 +1 @@ +/target-ide/ diff --git a/daexim-offsite-backup/model/pom.xml b/daexim-offsite-backup/model/pom.xml new file mode 100755 index 000000000..a38f085f4 --- /dev/null +++ b/daexim-offsite-backup/model/pom.xml @@ -0,0 +1,27 @@ + + + 4.0.0 + + org.onap.ccsdk.parent + binding-parent + 1.2.1-SNAPSHOT + + + + ccsdk-sli-northbound :: daexim-offsite-backup :: ${project.artifactId} + org.onap.ccsdk.sli.northbound + daexim-offsite-backup-model + 0.4.1-SNAPSHOT + bundle + + + + org.opendaylight.mdsal.model + ietf-inet-types-2013-07-15 + + + org.opendaylight.mdsal.model + ietf-yang-types-20130715 + + + diff --git a/daexim-offsite-backup/model/scripts/python/yang2props.py b/daexim-offsite-backup/model/scripts/python/yang2props.py new file mode 100755 index 000000000..559d31b8b --- /dev/null +++ b/daexim-offsite-backup/model/scripts/python/yang2props.py @@ -0,0 +1,57 @@ +#!/usr/bin/python + +import re +import sys + + +# Convert word from foo-bar to FooBar +# words begining with a digit will be converted to _digit +def to_enum(s): + if s[0].isdigit(): + s = "_" + s + else: + s = s[0].upper() + s[1:] + return re.sub(r'(?!^)-([a-zA-Z])', lambda m: m.group(1).upper(), s) + +leaf = "" +val = "" +li = [] + +if len(sys.argv) < 3: + print 'yang2props.py ' + sys.exit(2) + +with open(sys.argv[1], "r") as ins: + for line in ins: + # if we see a leaf save the name for later + if "leaf " in line: + match = re.search(r'leaf (\S+)', line) + if match: + leaf = match.group(1) + + # if we see enum convert the value to enum format and see if it changed + # if the value is different write a property entry + if "enum " in line: + match = re.search(r'enum "(\S+)";', line) + if match: + val = match.group(1) + enum = to_enum(val) + + # see if converting to enum changed the string + if val != enum: + property = "yang."+leaf+"."+enum+"="+val + if property not in li: + li.append( property) + + +# Open output file +fo = open(sys.argv[2], "wb") +fo.write("# yang conversion properties \n") +fo.write("# used to convert Enum back to the original yang value \n") +fo.write("\n".join(li)) +fo.write("\n") + +# Close opend file +fo.close() + + diff --git a/daexim-offsite-backup/model/src/main/yang/daexim-offsite-backup.yang b/daexim-offsite-backup/model/src/main/yang/daexim-offsite-backup.yang new file mode 100755 index 000000000..363136caf --- /dev/null +++ b/daexim-offsite-backup/model/src/main/yang/daexim-offsite-backup.yang @@ -0,0 +1,46 @@ +module daexim-offsite-backup{ + namespace "org:onap:ccsdk:sli:northbound:daeximoffsitebackup"; + prefix daexim-offsite-backup; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + description + "This ODL feature is designed for transferring MD-SAL data + to an offsite location in the ECOMP-C containerized environments."; + revision "2018-09-26" { + description + "Release 19.02 draft"; + } + + rpc backup-data { + output { + leaf status { type string; } + leaf message { type string; } + } + } + + rpc retrieve-data { + input { + leaf pod-name { + type string; + description + "Name of the desired MD-SAL backup's pod. If not supplied will + default to the name of this pod."; + } + leaf timestamp { + type string; + description + "Timestamp of the desired backup. Format: yyyyMMdd_HH"; + mandatory true; + } + } + output { + leaf status { type string; } + leaf message { type string; } + } + } +}////closes the module \ No newline at end of file -- cgit 1.2.3-korg