Add rolling upgrade test.

Change-Id: Id1b09361aa69f1665f19c312933798b5206d46ac
diff --git a/apps/test/distributed-primitives/src/main/java/org/onosproject/distributedprimitives/cli/ConsistentMapTestCommand.java b/apps/test/distributed-primitives/src/main/java/org/onosproject/distributedprimitives/cli/ConsistentMapTestCommand.java
index ac09084..3896830 100644
--- a/apps/test/distributed-primitives/src/main/java/org/onosproject/distributedprimitives/cli/ConsistentMapTestCommand.java
+++ b/apps/test/distributed-primitives/src/main/java/org/onosproject/distributedprimitives/cli/ConsistentMapTestCommand.java
@@ -18,6 +18,7 @@
 import org.apache.karaf.shell.commands.Argument;
 import org.apache.karaf.shell.commands.Command;
 import org.onosproject.cli.AbstractShellCommand;
+import org.onosproject.core.Version;
 import org.onosproject.store.serializers.KryoNamespaces;
 import org.onosproject.store.service.ConsistentMap;
 import org.onosproject.store.service.Serializer;
@@ -62,9 +63,11 @@
     protected void execute() {
         StorageService storageService = get(StorageService.class);
         map = storageService.<String, String>consistentMapBuilder()
-                                    .withName(name)
-                                    .withSerializer(Serializer.using(KryoNamespaces.BASIC))
-                                    .build();
+            .withName(name)
+            .withSerializer(Serializer.using(KryoNamespaces.BASIC))
+            .withVersion(Version.version("1.0.0"))
+            .withCompatibilityFunction((value, version) -> version + ":" + value)
+            .build();
         if ("get".equals(operation)) {
             print(map.get(arg1));
         } else if ("put".equals(operation)) {
@@ -95,6 +98,22 @@
             } else {
                 print("%b", map.replace(arg1, arg2, arg3));
             }
+        } else if ("compatiblePut".equals(operation)) {
+            ConsistentMap<String, String> map = storageService.<String, String>consistentMapBuilder()
+                .withName(name)
+                .withSerializer(Serializer.using(KryoNamespaces.BASIC))
+                .withCompatibilityFunction((value, version) -> version + ":" + value)
+                .withVersion(Version.version("2.0.0"))
+                .build();
+            print(map.put(arg1, arg2));
+        } else if ("compatibleGet".equals(operation)) {
+            ConsistentMap<String, String> map = storageService.<String, String>consistentMapBuilder()
+                .withName(name)
+                .withSerializer(Serializer.using(KryoNamespaces.BASIC))
+                .withCompatibilityFunction((value, version) -> version + ":" + value)
+                .withVersion(Version.version("2.0.0"))
+                .build();
+            print(map.get(arg1));
         }
     }