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));
}
}