relinquishes mastership when device disconnects

Change-Id: I1aecc8862ce297569c358e1deb5ddc5fb52d5dd3
diff --git a/core/net/src/main/java/org/onlab/onos/cluster/impl/MastershipManager.java b/core/net/src/main/java/org/onlab/onos/cluster/impl/MastershipManager.java
index 20ebc40..a0da87c 100644
--- a/core/net/src/main/java/org/onlab/onos/cluster/impl/MastershipManager.java
+++ b/core/net/src/main/java/org/onlab/onos/cluster/impl/MastershipManager.java
@@ -78,22 +78,15 @@
         checkNotNull(deviceId, DEVICE_ID_NULL);
         checkNotNull(role, ROLE_NULL);
 
-        MastershipRole current = store.getRole(nodeId, deviceId);
-        if (role.equals(current)) {
-            return;
+        MastershipEvent event = null;
+        if (role.equals(MastershipRole.MASTER)) {
+            event = store.setMaster(nodeId, deviceId);
         } else {
-            MastershipEvent event = null;
-            if (role.equals(MastershipRole.MASTER)) {
-                //current was STANDBY, wanted MASTER
-                event = store.setMaster(nodeId, deviceId);
-            } else {
-                //current was MASTER, wanted STANDBY
-                event = store.unsetMaster(nodeId, deviceId);
-            }
+            event = store.unsetMaster(nodeId, deviceId);
+        }
 
-            if (event != null) {
-                post(event);
-            }
+        if (event != null) {
+            post(event);
         }
     }
 
@@ -105,10 +98,7 @@
 
     @Override
     public void relinquishMastership(DeviceId deviceId) {
-        checkNotNull(deviceId, DEVICE_ID_NULL);
-
-        MastershipRole role = store.getRole(
-                clusterService.getLocalNode().id(), deviceId);
+        MastershipRole role = getLocalRole(deviceId);
         if (!role.equals(MastershipRole.MASTER)) {
             return;
         }