ovn: Add schema versions and checksum to schema files.
authorGurucharan Shetty <shettyg@nicira.com>
Thu, 1 Oct 2015 22:09:53 +0000 (15:09 -0700)
committerGurucharan Shetty <gshetty@nicira.com>
Fri, 2 Oct 2015 16:04:18 +0000 (09:04 -0700)
Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
ovn/.gitignore
ovn/automake.mk
ovn/ovn-nb.ovsschema
ovn/ovn-sb.ovsschema

index 5b3bc55..d971938 100644 (file)
@@ -5,3 +5,4 @@
 /ovn-sb.5
 /ovn-sb.gv
 /ovn-sb.pic
+/*.ovsschema.stamp
index 33bbd05..4b6a836 100644 (file)
@@ -75,6 +75,34 @@ EXTRA_DIST += \
        ovn/CONTAINERS.OpenStack.md \
        ovn/OVN-GW-HA.md
 
+# Version checking for ovn-nb.ovsschema.
+ALL_LOCAL += ovn/ovn-nb.ovsschema.stamp
+ovn/ovn-nb.ovsschema.stamp: ovn/ovn-nb.ovsschema
+       @sum=`sed '/cksum/d' $? | cksum`; \
+       expected=`sed -n 's/.*"cksum": "\(.*\)".*/\1/p' $?`; \
+       if test "X$$sum" = "X$$expected"; then \
+               touch $@; \
+       else \
+               ln=`sed -n '/"cksum":/=' $?`; \
+               echo >&2 "$?:$$ln: The checksum \"$$sum\" was calculated from the schema file and does not match cksum field in the schema file - you should probably update the version number and the checksum in the schema file with the value listed here."; \
+               exit 1; \
+       fi
+CLEANFILES += ovn/ovn-nb.ovsschema.stamp
+
+# Version checking for ovn-sb.ovsschema.
+ALL_LOCAL += ovn/ovn-sb.ovsschema.stamp
+ovn/ovn-sb.ovsschema.stamp: ovn/ovn-sb.ovsschema
+       @sum=`sed '/cksum/d' $? | cksum`; \
+       expected=`sed -n 's/.*"cksum": "\(.*\)".*/\1/p' $?`; \
+       if test "X$$sum" = "X$$expected"; then \
+               touch $@; \
+       else \
+               ln=`sed -n '/"cksum":/=' $?`; \
+               echo >&2 "$?:$$ln: The checksum \"$$sum\" was calculated from the schema file and does not match cksum field in the schema file - you should probably update the version number and the checksum in the schema file with the value listed here."; \
+               exit 1; \
+       fi
+CLEANFILES += ovn/ovn-sb.ovsschema.stamp
+
 include ovn/controller/automake.mk
 include ovn/controller-vtep/automake.mk
 include ovn/lib/automake.mk
index 566617b..780fe33 100644 (file)
@@ -1,5 +1,7 @@
 {
     "name": "OVN_Northbound",
+    "version": "1.0.0",
+    "cksum": "3052542625 4535",
     "tables": {
         "Logical_Switch": {
             "columns": {
index 7f857ed..264a217 100644 (file)
@@ -1,5 +1,7 @@
 {
     "name": "OVN_Southbound",
+    "version": "1.0.0",
+    "cksum": "4202564645 5078",
     "tables": {
         "Chassis": {
             "columns": {