]> git.proxmox.com Git - mirror_ovs.git/commitdiff
ovs-lib: dont't purge corrupted DB
authorMatteo Croce <mcroce@redhat.com>
Wed, 27 Sep 2017 13:46:13 +0000 (15:46 +0200)
committerBen Pfaff <blp@ovn.org>
Fri, 3 Nov 2017 21:49:27 +0000 (14:49 -0700)
In ovs-lib there is a function named upgrade_db which tries to convert a
database after OVS {up,down}grades. This function uses ovsdb-tool to
check if the DB needs to be upgraded. If the upgrade fails,
it purges the DB and create an empty one.
ovsdb-tool returns "yes" or "no" to indicate if the DB needs upgrading,
but if the DB is corrupted it returns a list of errors.
Change a condition from "!= no" to "= yes" because in case of DB
corruption upgrade_db would purge the existing DB without writing
anything in the logs.

Signed-off-by: Matteo Croce <mcroce@redhat.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
Acked-by: Mark Michelson <mmichels@redhat.com>
utilities/ovs-lib.in

index ac2da85b7ceeba6e21fa9b796a695110dbcb5bdb..1bccea0c5b87a5035cc28cd72b6447ff741bf812 100644 (file)
@@ -408,7 +408,7 @@ upgrade_db () {
         log_warning_msg "$DB_FILE does not exist"
         install_dir `dirname $DB_FILE`
         create_db "$DB_FILE" "$DB_SCHEMA"
-    elif test X"`ovsdb_tool needs-conversion "$DB_FILE" "$DB_SCHEMA"`" != Xno; then
+    elif test X"`ovsdb_tool needs-conversion "$DB_FILE" "$DB_SCHEMA"`" = Xyes; then
         # Back up the old version.
         version=`ovsdb_tool db-version "$DB_FILE"`
         cksum=`ovsdb_tool db-cksum "$DB_FILE" | awk '{print $1}'`