Merge branch 'master' of ssh://gerrit.onlab.us:29418/onos-next
diff --git a/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/MastershipRoleSerializer.java b/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/MastershipRoleSerializer.java
new file mode 100644
index 0000000..3903491
--- /dev/null
+++ b/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/MastershipRoleSerializer.java
@@ -0,0 +1,26 @@
+package org.onlab.onos.store.serializers;
+
+import org.onlab.onos.net.MastershipRole;
+
+import com.esotericsoftware.kryo.Kryo;
+import com.esotericsoftware.kryo.Serializer;
+import com.esotericsoftware.kryo.io.Input;
+import com.esotericsoftware.kryo.io.Output;
+
+/**
+ * Kryo Serializer for {@link org.onlab.onos.net.MastershipRole}.
+ */
+public class MastershipRoleSerializer extends Serializer<MastershipRole> {
+
+    @Override
+    public MastershipRole read(Kryo kryo, Input input, Class<MastershipRole> type) {
+        final String role = kryo.readObject(input, String.class);
+        return MastershipRole.valueOf(role);
+    }
+
+    @Override
+    public void write(Kryo kryo, Output output, MastershipRole object) {
+        kryo.writeObject(output, object.toString());
+    }
+
+}
diff --git a/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/MastershipTermSerializer.java b/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/MastershipTermSerializer.java
new file mode 100644
index 0000000..a5d6198
--- /dev/null
+++ b/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/MastershipTermSerializer.java
@@ -0,0 +1,29 @@
+package org.onlab.onos.store.serializers;
+
+import org.onlab.onos.cluster.MastershipTerm;
+import org.onlab.onos.cluster.NodeId;
+
+import com.esotericsoftware.kryo.Kryo;
+import com.esotericsoftware.kryo.Serializer;
+import com.esotericsoftware.kryo.io.Input;
+import com.esotericsoftware.kryo.io.Output;
+
+/**
+ * Kryo Serializer for {@link org.onlab.onos.cluster.MastershipTerm}.
+ */
+public class MastershipTermSerializer extends Serializer<MastershipTerm> {
+
+    @Override
+    public MastershipTerm read(Kryo kryo, Input input, Class<MastershipTerm> type) {
+        final NodeId node = new NodeId(kryo.readObject(input, String.class));
+        final int term = input.readInt();
+        return MastershipTerm.of(node, term);
+    }
+
+    @Override
+    public void write(Kryo kryo, Output output, MastershipTerm object) {
+        output.writeString(object.master().toString());
+        output.writeInt(object.termNumber());
+    }
+
+}
diff --git a/core/store/serializers/src/test/java/org/onlab/onos/store/serializers/KryoSerializerTests.java b/core/store/serializers/src/test/java/org/onlab/onos/store/serializers/KryoSerializerTests.java
index 8e74072..c972d1a 100644
--- a/core/store/serializers/src/test/java/org/onlab/onos/store/serializers/KryoSerializerTests.java
+++ b/core/store/serializers/src/test/java/org/onlab/onos/store/serializers/KryoSerializerTests.java
@@ -12,6 +12,7 @@
 import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
+import org.onlab.onos.cluster.MastershipTerm;
 import org.onlab.onos.cluster.NodeId;
 import org.onlab.onos.net.ConnectPoint;
 import org.onlab.onos.net.DefaultDevice;
@@ -21,6 +22,7 @@
 import org.onlab.onos.net.DeviceId;
 import org.onlab.onos.net.Link;
 import org.onlab.onos.net.LinkKey;
+import org.onlab.onos.net.MastershipRole;
 import org.onlab.onos.net.PortNumber;
 import org.onlab.onos.net.provider.ProviderId;
 import org.onlab.packet.IpPrefix;
@@ -81,6 +83,9 @@
                 .register(DefaultDevice.class)
 
                 .register(URI.class, new URISerializer())
+
+                .register(MastershipRole.class, new MastershipRoleSerializer())
+                .register(MastershipTerm.class, new MastershipTermSerializer())
                 .build();
     }
 
diff --git a/core/store/trivial/src/test/java/org/onlab/onos/net/trivial/impl/SimpleMastershipStoreTest.java b/core/store/trivial/src/test/java/org/onlab/onos/net/trivial/impl/SimpleMastershipStoreTest.java
index fa39542..78878bf 100644
--- a/core/store/trivial/src/test/java/org/onlab/onos/net/trivial/impl/SimpleMastershipStoreTest.java
+++ b/core/store/trivial/src/test/java/org/onlab/onos/net/trivial/impl/SimpleMastershipStoreTest.java
@@ -9,7 +9,6 @@
 import org.onlab.onos.cluster.MastershipTerm;
 import org.onlab.onos.cluster.NodeId;
 import org.onlab.onos.net.DeviceId;
-import org.onlab.onos.net.provider.ProviderId;
 
 import com.google.common.collect.Sets;
 
@@ -24,8 +23,6 @@
  */
 public class SimpleMastershipStoreTest {
 
-    private static final ProviderId PID = new ProviderId("of", "foo");
-
     private static final DeviceId DID1 = DeviceId.deviceId("of:01");
     private static final DeviceId DID2 = DeviceId.deviceId("of:02");
     private static final DeviceId DID3 = DeviceId.deviceId("of:03");