[AETHER-1074][AETHER-1088] Missing Kryo classes in several subsystems

This was leading to not proper replication of the state
and some EC maps being empty

Change-Id: Id39660c2ce3b5507e796801c0213c194f0a2009a
diff --git a/core/store/dist/src/main/java/org/onosproject/store/group/impl/DistributedGroupStore.java b/core/store/dist/src/main/java/org/onosproject/store/group/impl/DistributedGroupStore.java
index 2734b8b..8fd32ab 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/group/impl/DistributedGroupStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/group/impl/DistributedGroupStore.java
@@ -30,9 +30,7 @@
 import org.onosproject.net.device.DeviceService;
 import org.onosproject.net.driver.DriverService;
 import org.onosproject.net.group.DefaultGroup;
-import org.onosproject.net.group.DefaultGroupBucket;
 import org.onosproject.net.group.DefaultGroupDescription;
-import org.onosproject.net.group.DefaultGroupKey;
 import org.onosproject.net.group.Group;
 import org.onosproject.net.group.Group.GroupState;
 import org.onosproject.net.group.GroupBucket;
@@ -192,14 +190,7 @@
         KryoNamespace.Builder kryoBuilder = new KryoNamespace.Builder()
                 .register(KryoNamespaces.API)
                 .nextId(KryoNamespaces.BEGIN_USER_CUSTOM_ID)
-                .register(DefaultGroup.class,
-                          DefaultGroupBucket.class,
-                          DefaultGroupDescription.class,
-                          DefaultGroupKey.class,
-                          GroupDescription.Type.class,
-                          Group.GroupState.class,
-                          GroupBuckets.class,
-                          GroupStoreMessage.class,
+                .register(GroupStoreMessage.class,
                           GroupStoreMessage.Type.class,
                           UpdateType.class,
                           GroupStoreMessageSubjects.class,
diff --git a/core/store/serializers/src/main/java/org/onosproject/store/serializers/KryoNamespaces.java b/core/store/serializers/src/main/java/org/onosproject/store/serializers/KryoNamespaces.java
index 9be102d..38ea7a7 100644
--- a/core/store/serializers/src/main/java/org/onosproject/store/serializers/KryoNamespaces.java
+++ b/core/store/serializers/src/main/java/org/onosproject/store/serializers/KryoNamespaces.java
@@ -167,6 +167,13 @@
 import org.onosproject.net.flowobjective.NextTreatment;
 import org.onosproject.net.flowobjective.Objective;
 import org.onosproject.net.flowobjective.ObjectiveError;
+import org.onosproject.net.group.DefaultGroupBucket;
+import org.onosproject.net.group.DefaultGroupKey;
+import org.onosproject.net.group.DefaultGroup;
+import org.onosproject.net.group.DefaultGroupDescription;
+import org.onosproject.net.group.GroupDescription;
+import org.onosproject.net.group.Group;
+import org.onosproject.net.group.GroupBuckets;
 import org.onosproject.net.host.DefaultHostDescription;
 import org.onosproject.net.host.HostDescription;
 import org.onosproject.net.intent.ConnectivityIntent;
@@ -660,6 +667,13 @@
             .register(SetEvent.class)
             .register(SetEvent.Type.class)
             .register(GroupId.class)
+            .register(DefaultGroup.class,
+                    DefaultGroupBucket.class,
+                    DefaultGroupDescription.class,
+                    DefaultGroupKey.class,
+                    GroupDescription.Type.class,
+                    Group.GroupState.class,
+                    GroupBuckets.class)
             .register(Annotations.class)
             .register(OduSignalType.class)
             .register(OchSignalType.class)
@@ -708,6 +722,7 @@
                     PiActionParam.class,
                     PiActionProfileGroup.class,
                     PiActionProfileGroupHandle.class,
+                    PiActionProfileGroup.WeightedMember.class,
                     PiActionProfileGroupId.class,
                     PiActionProfileMember.class,
                     PiActionProfileMemberHandle.class,
diff --git a/protocols/p4runtime/ctl/src/main/java/org/onosproject/p4runtime/ctl/controller/DistributedMasterElectionIdStore.java b/protocols/p4runtime/ctl/src/main/java/org/onosproject/p4runtime/ctl/controller/DistributedMasterElectionIdStore.java
index 04e39f7..f5dea71 100644
--- a/protocols/p4runtime/ctl/src/main/java/org/onosproject/p4runtime/ctl/controller/DistributedMasterElectionIdStore.java
+++ b/protocols/p4runtime/ctl/src/main/java/org/onosproject/p4runtime/ctl/controller/DistributedMasterElectionIdStore.java
@@ -17,6 +17,7 @@
 package org.onosproject.p4runtime.ctl.controller;
 
 import com.google.common.collect.Maps;
+import org.apache.commons.lang3.tuple.ImmutablePair;
 import org.apache.commons.lang3.tuple.Pair;
 import org.onlab.util.KryoNamespace;
 import org.onosproject.net.DeviceId;
@@ -51,6 +52,7 @@
     private static final KryoNamespace SERIALIZER = KryoNamespace.newBuilder()
             .register(KryoNamespaces.API)
             .register(Pair.class)
+            .register(ImmutablePair.class)
             .register(Long.class)
             .register(BigInteger.class)
             .build();