Remove all the mastership roles when a Node leaves the cluster

- Fix for ONOS-1189

Change-Id: I695ccd6bf2ff12da3702d1a982e377b7082c9341
diff --git a/core/net/src/main/java/org/onosproject/cluster/impl/MastershipManager.java b/core/net/src/main/java/org/onosproject/cluster/impl/MastershipManager.java
index 17647ac..6f76ad0 100644
--- a/core/net/src/main/java/org/onosproject/cluster/impl/MastershipManager.java
+++ b/core/net/src/main/java/org/onosproject/cluster/impl/MastershipManager.java
@@ -304,38 +304,18 @@
                 case INSTANCE_REMOVED:
                 case INSTANCE_DEACTIVATED:
                     ControllerNode node = event.subject();
+                    log.info("instance {} removed/deactivated", node);
+                    store.relinquishAllRole(node.id());
 
-                    if (node.equals(clusterService.getLocalNode())) {
-                        //If we are in smaller cluster, relinquish and return
-                        for (DeviceId device : getDevicesOf(node.id())) {
-                            if (!isInMajority()) {
-                                //own DeviceManager should catch event and tell switch
-                                store.relinquishRole(node.id(), device);
-                            }
-                        }
-                        log.info("broke off from cluster, relinquished devices");
-                        break;
-                    }
-
-                    // if we are the larger one and the removed node(s) are brain dead,
-                    // force relinquish on behalf of disabled node.
-                    // check network channel to do this?
-                    for (DeviceId device : getDevicesOf(node.id())) {
-                        //some things to check:
-                        // 1. we didn't break off as well while we're at it
-                        // 2. others don't pile in and try too - maybe a lock
-                        if (isInMajority()) {
-                            store.relinquishRole(node.id(), device);
-                        }
-                    }
                     clusterSize.decrementAndGet();
-                    log.info("instance {} removed/deactivated", event.subject());
                     break;
                 default:
                     log.warn("unknown cluster event {}", event);
             }
         }
 
+        // Can be removed if we go with naive split-brain handling: only majority
+        // assigns mastership
         private boolean isInMajority() {
             if (clusterService.getNodes().size() > (clusterSize.intValue() / 2)) {
                 return true;